こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

access テキストボックスへSetFocus

QRコード読み込み後にDBに書込み、テキストボックスへ戻るプログラムを作成しているのですが、SetFocusが聞きません。

【実装したいこと】

QRコード内に、カンマ区切りのデータが入っており、QRスキャン後Sprit関数で区切りDBに登録しております。

でその際に、連続して読取出来るようにするために、「AfterUpdate」しております。
【処理】
1.txtsTiket(テキストボックス)にQR読取データを挿入
2.Sprit関数で、データを区切りDBへ書込み
3.txtsTiket(テキストボックス)へ戻る

2.までは問題ありませんが、3.のtxtsTiketへ自動で戻りません。

○コード
Private Sub txtsTiket_AfterUpdate()
'DB変数
Dim db As Database
Dim rs As Recordset
'変数定義
Dim tID As Integer
Dim aly As Variant
Dim t店舗CD As Integer
Dim t開局日 As Date

Set db = CurrentDb()

'店舗ID取得
Set rs = db.OpenRecordset("T_ステータス", dbOpenDynaset)
rs.Filter = "登録日 " = Date
t店舗CD = rs("店舗CD")
rs.Close: Set rs = Nothing

'チケットテーブルオープン
Set rs = db.OpenRecordset("T_sTiket", dbOpenDynaset)

'チケットID生成
If rs.EOF Then
tID = 1
Else
tID = DMax("sTiketID", "T_sTiket") + 1

End If
'QRデータ分割
aly = Split(txtsTiket, ",")

rs.AddNew
rs("sTiketID") = tID
rs("店舗CD") = t店舗CD
rs("Day-S-No") = aly(0)
rs("部門CD") = aly(1)
rs("科目CD") = aly(2)
rs("チケット名") = aly(3)
rs("宿泊日") = aly(4)
rs("予約通番") = aly(5)
rs("登録日") = Date
rs("登録時間") = Time
rs.Update


Me.txtsTiket.Value = Null

ここから
' Me.txtsTiket.SetFocus
' DoCmd.GoToControl "txtsTiket"
ここまで

rs.Close: Set rs = Nothing
db.Close: Set db = Nothing

End Sub


下記手法を試しましたが、両方ともうまくフォーカスが移動してくれません。
Me.txtsTiket.SetFocus
DoCmd.GoToControl "txtsTiket"
また、上記メソッドを、外部プロジージャーにしても動作しません。

DB書込み処理が終わった後、自動的にテキストボックスへ移動する方法はどうしてら良いでしょうかお教え頂けたら幸いです。

投稿日時 - 2015-03-17 20:32:45

QNo.8937771

すぐに回答ほしいです

質問者が選んだベストアンサー

他との関係上、問題があるかもしれませんが、
txtsTiket コントロールのプロパティのその他タブにある
Enterキー入力時動作 を規定にしておいて、

フォームの読み込み時イベントなどに
Application.setOption " Move After Enter" , 0
0= 移動しない、1= 次のフィールド、2= 次のレコード
としておけば、txtsTiket が更新されても他のコントロールに移動しなくなります。
(TAB キーでは可)
?Application.GetOption("Move After Enter")
で今の設定が確認できます。
ご参考までという事で。

投稿日時 - 2015-03-18 11:30:12

お礼

NotFound404様

有難うございます。
希望通りの動作になりました。

「Application.setOption " Move After Enter" , 0」ではエラーになったので、
「Application.setOption "Move After Enter" , 0」で希望通りの動作になりました。

また、一つ勉強になりました。

投稿日時 - 2015-03-21 11:20:13

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問