Access2000を使用しています。
下記のコードのとおり
入力用テキストボックスに座席コードを入力して
seat テーブルから座席コードと入力したものからレコードを探して表示できているんですが、
レコードセットで抽出した座席番号が「P」のものだけ
チェックボックス(pri.value=true)
にしたいのですが動きませんどのようなコードを書けばいいんでしょうか?
Dim rst As New ADODB.Recordset
Set rst = New ADODB.Recordset
rst.Open "select * from seat where 座席コード='" & Me.入力用テキストボックス & "'", _
CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If rst.EOF = True Then
MsgBox ("座席情報はありません。")
Me.入力用テキストボックス = ""
End If
If rst.EOF = False Then
Me.座席コード = rst![座席コード]
Me.座席番号 = rst![座席番号]
Me.入力用テキストボックス = ""
Me.受付時間 = Now()
End If
If Left(rst![座席番号], 1) = "P" Then
Me.pri.Value = True
No.4
- 回答日時:
No.3の人の言う通り、チェックボックスのON/OFFが出来るかどうかですね。
チェックボックスの名前(pri)の記述が違っているとか。
この場合は、チェックボックスのプロパティの名前をコピーして持ってくるのが確実ですが。
あと、これもNo.3の人の言う通り、比較するのは"P"ですが、全/半角や大/小文字は間違っているとか。
No.3
- 回答日時:
Me.pri.Value = True
これだけ記述して チェックボックスが ONにならなかったら、それが
原因です。
チェックボックスが オンになるのでしたら、
IF文が おかしいのです。
そういうふうに問題を切り分けしていかないと
原因が つかめませんよ。
あと "P"は 半角のPで いいんですよね?
この回答への補足
ありがとうございます
補足ですが、最初の文字がPであって具体的には
A-1とかP-1とかありP-*のみチェックボックスをオンにしたいわけですが、検索するテーブルには全角のP-1になっています。
ところが、コードは全角でPと打っているのに半角になってしまっています。
どうすれば全角のPと打てますか?
No.2
- 回答日時:
こんにちは。
maruru01です。質問のコードだけでは何故動かないかわかりません。
End Ifやレコードセットの破棄とかは、省略してあるだけで本当は記述してあるんですよね。
あと、エラーではないんですよね。
とりあえず、逐次実行で1行ずつ確認してみて下さい。
そして、例えば、最後のIf文の中(True句)を実行しているかどうかを確認して下さい。
そのIf文の条件の
Left(rst![座席番号], 1)はちゃんと"P"を返しているのか。
If文の直前に、
MsgBox Left(rst![座席番号], 1)
とすればわかります。
いろいろと確かめてみて下さい。
ところで、そのコードだと、rstがない場合(If rst.EOF = True Thenのところ)は、Exit Subとかで抜けないと、そのまま最後のIf文(Left~のところ)も実行してしまいますが、それは大丈夫ですか。
この回答への補足
ありがとうございます。
エラーでもなくチェックボックスがオンにならない以外は正常に動いています。
教えていただいたメッセージボックスも入れてみたら
ちゃんと表示されました。
今のコードすべて下記のとおりです。
Dim rst As New ADODB.Recordset
Set rst = New ADODB.Recordset
rst.Open "select * from seat where 座席コード='" & Me.入力用テキストボックス & "'", _
CurrentProject.Connection, adOpenKeyset, adLockOptimistic
If rst.EOF = True Then
MsgBox ("座席情報はありません。")
Me.入力用テキストボックス = ""
End If
If rst.EOF = False Then
Me.座席コード = rst![座席コード]
Me.座席番号 = rst![座席番号]
Me.入力用テキストボックス = ""
Me.受付時間 = Now()
End If
MsgBox Left(rst![座席番号], 4)
If LeftB(rst![座席番号], 1) = "P" Then
Me.pri.Value = True
End If
rst.Close
Set rst = Nothing
入力用テキストボックス.SetFocus
End Sub
No.1
- 回答日時:
If rst![座席番号] = "P" Then
Me.pri.Value = True
では ダメ?
もしくは
If LeftB(rst![座席番号], 1) = "P" Then
Me.pri.Value = True
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) アクセス レポートを開いたときにパラメーターの自動入力がしたい 4 2022/11/30 11:21
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- Visual Basic(VBA) Accessフォームで全レコードを指定のExcelのセルへ転送し印刷する方法について 2 2022/09/08 18:23
- Visual Basic(VBA) ユーザーフォームで銀行に対応した支店コードの入力ができません Sheet1のA列に銀行名、B列に銀行 5 2022/07/28 17:50
- Access(アクセス) Accessのテキストボックスの入力文字制限 1 2023/01/18 20:43
- Access(アクセス) docmd.gotorecordを起動するには 5 2022/06/17 15:20
- Visual Basic(VBA) フレーム内のオプションボタンの選択結果をセルに書き出したい。 図のような預金種目というフレームにオプ 2 2022/07/29 11:12
- Visual Basic(VBA) InputBoxでキャンセルボタンを押したらファイル自体を閉じたい 3 2022/07/23 17:52
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- PHP PostgreSQLからCSV形式でエクスポートする際にカラム内の改行をとる方法 1 2023/02/22 10:05
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
イライラがおさまらない。電車...
-
チケットの当選確率、1枚と2枚...
-
NHK大阪ホールの座席について
-
グランキューブ大坂の座席表に...
-
東京体育館アリーナ席の座席表...
-
シートピッチって
-
なぜ寄りかかってくるのでしょ...
-
上手なチケットの買い方を教えて!
-
チケットに座席番号のみを印刷...
-
トヨタスタジアムの座席表
-
宜野湾市海浜公園野外劇場【coc...
-
混んでる電車で詰めたら何とか...
-
授業中椅子を蹴ってくる男子に...
-
Zepp Tokyo 1階指定席について
-
新幹線や特急電車などで、窓側...
-
赤坂BLITZの2階席について
-
1組2名
-
電車で座らない人
-
さいたまアリーナAゲート231と2...
-
山梨県立県民文化ホール(大ホ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チケットの当選確率、1枚と2枚...
-
イライラがおさまらない。電車...
-
博多座の三階席から舞台を見る...
-
飛行機の一番前の席の人は荷物...
-
シートピッチって
-
1組2名
-
なぜ寄りかかってくるのでしょ...
-
新入社員で社内の人の名前が覚...
-
グランキューブ大坂の座席表に...
-
授業中椅子を蹴ってくる男子に...
-
職場内の座席表や名簿について
-
俳優座劇場
-
近鉄難波駅からなんばHatchへの...
-
チケットに座席番号のみを印刷...
-
梅田のシアタードラマシティに...
-
遺影について…
-
日生劇場、歌舞伎公演幕間の食事
-
エクセル2007で180度回転した座...
-
横浜国際競技場のアリーナ座席表
-
観劇の際の座席について
おすすめ情報