- 締切済み
フォームのテキストボックスで・・。
数字を入力し次のテキストボックスに移るときに自動的に「:」をつけた形にしてaccess上に記憶させるというものを作ってます。たとえばフォームのテキストで「1300」といれたら次のテキストボックスに移るときに自動的に「13:00」とテキストボックスに収められそれをaccess上に残すという形です。うまくいかずに困ってまして大変説明が曖昧ですがどなたか回答くださいますようお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
accessの話でしたら、 テキストボックスのプロパティの定型入力を 00:00;0;_ としておくと、入力時に自動でコロンが追加されます。 VBでしたら、MaskedEditBox(だったかな)が同じような 機能を持っていたと思います。 access上に残すということについては、テーブルのデータとして 入れたいということでしたら、連結フォームを使えばそのまま 登録されますが、何かほかの事を考えていらっしゃるのでしたら 補足してください。
- unamana19
- ベストアンサー率62% (56/89)
うまくいかない・・・とはどのようにでしょうか? 考え方だけと思いますが、こんな感じのファンクションで解決できるかも。 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 動作未確認です。なお、ソースの半角スペースは表示の関係上、全角になっています。