ACCESS2010でNumLockがONの時、取得したデータが反映されません。
他のPCでは同様の問題は発生せず、1台だけ起きています。
原因を探そうとデバックモードで実行すると上記の不具合は発生せず、非常に困っています。
ちなみに、NumLockをOFFにした状態は正常に動作しました。
以下が、不具合の起きているソースです。
If 商品コード <> 0 Then
Forms!F仕入入力!SF仕入入力.Form!商品コード = 商品コード
SendKeys "{Tab}"
SendKeys "+{Tab}"
SendKeys "{Tab}"
End If
OS:Windows7 32bit
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
> 他のPCでは同様の問題は発生せず、1台だけ起きています。
具体的な原因は残念ながら特定ができませんが、SendKeys
ステートメントは動作の不安定要因になることが多いとされます
ので、可能ならば他の手段を採られることをお勧めします。
例えば、提示されたコードを見ると、コントロールの移動をさせて
いるように思われますので、それであれば、当該コントロールに
SetFocusメソッドを使用する方法を採られてはいかがでしょうか。
「SF仕入入力」サブフォームの「商品コード」に移動する場合を
例にすると、以下のようになります:
Forms!F仕入入力!SF仕入入力.Form!商品コード.SetFocus
または(省略可能なサブフォームの「Form」を省略して)
Forms!F仕入入力!SF仕入入力!商品コード.SetFocus
または(当該コードを「F仕入入力」に記述している場合)
Me!SF仕入入力!商品コード.SetFocus
または(当該コードを「SF仕入入力」に記述している場合)
Me!商品コード.SetFocus
・・・なのですが、「Tab」と「Shift+Tab」の反復、ですか(汗)
もしもレコードの移動によって「レコードの保存」をさせることが
目的のようでしたら、「RunCommand acCmdSaveRecord」を
追記すればOkですので、併せて参考まで。
(注:当該フォーム(またはサブフォーム)内のコントロールが
フォーカスを持った状態(→SetFocusで対応可)で行う必要が
あります)
If 商品コード <> 0 Then
Forms!F仕入入力!SF仕入入力!商品コード = 商品コード
Forms!F仕入入力!SF仕入入力!商品コード.SetFocus
RunCommand acCmdSaveRecord
Forms!F仕入入力!SF仕入入力.Form!商品名.SetFocus
End If
回答ありがとうございます。
やはりSendkeysを使わないのがベストのようですね。
なんとか回避するような仕組みを作ってみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Excel(エクセル) EXCELの外部データ取得ができない 1 2023/03/23 09:03
- Visual Basic(VBA) VBAのトグルボタンでのマクロについて質問です 3 2022/10/10 17:23
- Visual Basic(VBA) VBA 税率を判定表する方法を教えて下さい。 10 2022/03/28 11:21
- Visual Basic(VBA) ExcelVBA No.を自動連番で設定をしながらデータ入力をしたい 2 2022/08/03 18:19
- Visual Basic(VBA) VBAでのループ順序について 3 2023/03/13 10:55
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) VBAで最新のデータを別シートに転記する方法をお教えください。 3 2022/04/07 19:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで英数大文字のみの入...
-
Excelが勝手に閉じてしまって困...
-
マンション名のローマ数字入力...
-
エクセル 時間を.(ドット)で...
-
Apple IDの作成ができない。「...
-
Excelにて入力済セルへの再入力...
-
認証コードが入力できない(同...
-
コマンドプロンプト表示が一瞬...
-
エクセルVBAでTargetのセルに設...
-
DOCOMO、、PINロック
-
inputとenterの違い
-
key入力が正しく入力出来ません
-
左向きにエクセルで作成され申...
-
ACCESSでNumLockがONの時データ...
-
パソコンの入力がアルファベッ...
-
Excelでの操作エラー 「変更し...
-
MS-DOSの使い方を教えてください。
-
個人情報入力の手間をはぶきたい
-
ワード・エクセルで日本語入力...
-
【キーボード】母音しか打てない…
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで英数大文字のみの入...
-
マンション名のローマ数字入力...
-
認証コードが入力できない(同...
-
Apple IDの作成ができない。「...
-
inputとenterの違い
-
Excelが勝手に閉じてしまって困...
-
エクセルVBAでTargetのセルに設...
-
左向きにエクセルで作成され申...
-
エクセル 時間を.(ドット)で...
-
ifで10個以上の条件判断がしたい
-
Excelにて入力済セルへの再入力...
-
初歩的なことなんですが。produ...
-
teratermでユーザー変更したい
-
VLOOKUP関数で返した値(カタカ...
-
コマンドプロンプト表示が一瞬...
-
Excelでの操作エラー 「変更し...
-
個人情報入力の手間をはぶきたい
-
ワード・エクセルで日本語入力...
-
MS-DOSの使い方を教えてください。
-
key入力が正しく入力出来ません
おすすめ情報