Page 310 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 通常モードに戻る ┃ INDEX ┃ ≪前へ │ 次へ≫ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ▼InputBoxについて gio 03/6/21(土) 12:21 ┗Re:InputBoxについて イケガミ 03/6/21(土) 15:02 ┗Re:InputBoxについて gio 03/6/21(土) 16:49 ─────────────────────────────────────── ■題名 : InputBoxについて ■名前 : gio ■日付 : 03/6/21(土) 12:21 -------------------------------------------------------------------------
Win2000: Access2002: 質問です。 オートフォームで作成したフォームに"upname"という名のテキストボックスがあり、 これにテーブルの"name"フィールドの値が入ってきます。 そして、ボタンを押したときにInputBoxを表示させデフォルト値でテキストボックス の値を入力しているのですが、このとき"OK"を押したときは問題なくInputBoxの値が テーブルの"name"フィールドに更新されるが、"キャンセル"を押したときに文字列("") を返してしまいテーブルの"name"フィールドの値も""になってしまいます。 ヘルプを見たら、InputBoxでキャンセルを押したときは文字列("")を返すというのは 分かったのですがキャンセルのときに値を制御することはできないのですか? 文字列("")ではなくInputBoxのデフォルトの文字を入力したいです。 無理なようならあきらめます。どなたか教えてください。お願いします。 Dim name As String Dim Iput As String name = Me.upname.Value Iput = InputBox("名前を入力してください。", , name) If Iput <> name Then Me.upname.Value = Iput Else Me.upname.Value = name End If |
> If Iput <> name Then If Iput <> name And Iput <> "" Then ではどうでしょうか? |
ありがとうございました。 そうか。。。キャンセルのとき入力された値が""と 指定すればいいのですね。 Dim name As String Dim Iput As String name = Me.upname.Value back: Iput = InputBox("Welcome!" & vbCrLf & "名前を入力してください。" & vbCrLf & "* 12文字以下で入力してください。", "playername", name) If Len(Iput) <= 12 Then If Iput <> "" Then Me.upname.Value = Iput Else Me.upname.Value = name End If Else MsgBox "12文字以下で入力してください", , "check" GoTo back End If こんな感じで出来上がってくれました。 ほんとにこんなシロート君にレス感謝です。どうもでした。 |