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書込み処理が終わった後、自動的にテキストボックスへ移動する方法はどうしてら良いでしょうかお教え頂けたら幸いです。
お礼
NotFound404様 有難うございます。 希望通りの動作になりました。 「Application.setOption " Move After Enter" , 0」ではエラーになったので、 「Application.setOption "Move After Enter" , 0」で希望通りの動作になりました。 また、一つ勉強になりました。