• 締切済み

フォームのテキストボックスで・・。

数字を入力し次のテキストボックスに移るときに自動的に「:」をつけた形にしてaccess上に記憶させるというものを作ってます。たとえばフォームのテキストで「1300」といれたら次のテキストボックスに移るときに自動的に「13:00」とテキストボックスに収められそれをaccess上に残すという形です。うまくいかずに困ってまして大変説明が曖昧ですがどなたか回答くださいますようお願いします。

みんなの回答

noname#60992
noname#60992
回答No.2

accessの話でしたら、 テキストボックスのプロパティの定型入力を 00:00;0;_ としておくと、入力時に自動でコロンが追加されます。 VBでしたら、MaskedEditBox(だったかな)が同じような 機能を持っていたと思います。 access上に残すということについては、テーブルのデータとして 入れたいということでしたら、連結フォームを使えばそのまま 登録されますが、何かほかの事を考えていらっしゃるのでしたら 補足してください。

すると、全ての回答が全文表示されます。
  • unamana19
  • ベストアンサー率62% (56/89)
回答No.1

うまくいかない・・・とはどのようにでしょうか? 考え方だけと思いますが、こんな感じのファンクションで解決できるかも。 Private Function GetTimeString(ByVal strValue As String) As String   ''数字チェック   If Not IsNumeric(strValue) Then GetTimeString = strValue: Exit Function   ''桁数チェック   If Len(strValue) > 4 Then GetTimeString = strValue: Exit Function   ''4桁に調整   strValue = Right("0000" & strValue, 4)   ''時、分分解   Dim hh As Integer   Dim mm As Integer   hh = Mid(strValue, 1, 2)   mm = Mid(strValue, 3, 2)   ''時チェック(24時間)   If CInt(hh) < 0 Or CInt(hh) > 23 Then GetTimeString = strValue: Exit Function   ''分チェック   If CInt(mm) < 0 Or CInt(mm) > 59 Then GetTimeString = strValue: Exit Function      GetTimeString = hh & ":" & mm End Function 動作未確認です。なお、ソースの半角スペースは表示の関係上、全角になっています。

すると、全ての回答が全文表示されます。

関連するQ&A

専門家に質問してみよう