
アクセス初心者ですが、宜しくお願い致します。
現在、納品伝票を作っており、
納品フォームに得意先情報、合計金額
サブフォームに売上げ商品と数量、単価、金額などを表示、
同じフォーム上にボタンを作って、マクロで印刷を行う設定にしています。
サブフォームには商品コードフィールドがあり、
別にある商品テーブルから DLookup関数を用いて
その商品コードの商品名と単価を自動入力させ、
サブフォーム上で合計金額を計算しています。
合わせて商品コードはコンボボックスになっており、
各得意先名により表示内容が変わるようにしてあります。
商品コードのフォーカス喪失時イベントには
Private Sub 商品コード_Exit(Cancel As Integer)
If Not IsNull(商品コード) Then
商品名 = DLookup("商品名", "取り扱い店名クエリ", "商品コード='" & 商品コード & "'")
単位 = DLookup("単位", "取り扱い店名クエリ", "商品コード='" & 商品コード & "'"
End If
End Sub
こんな感じで記述しているのですが、
サブフォーム上の商品コードにカーソルがある時に
フォーム上の印刷ボタンを押すと、
実行時エラー2424
「指定した式にアクセスが見つける事ができない
フィールド、コントロール、プロパティ名が含まれています」
となってしまいます。
例えば、サブフォームの1レコード目に入力をし終わり、
2レコード目の商品コードにカーソルが移った時点で印刷ボタンを押す。
2レコード分の入力を済ませたあと、エンターキーを押し続けて
(カーソルはカレントレコード内に戻る様にしています)、
再度商品コードにカーソルが合った時に印刷ボタンを押す。
などの場合です。
何とかこのエラーを回避する手立てはありませんでしょうか?
どうか宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
商品コードのフォーカス喪失時イベントではなく更新後処理に記述をしても同様でしょうか?
おかげざまでできました。
何でもかんでもフォーカス取得時や喪失時イベントに
割り当てればいいってものじゃないですよね。
今度からはもう少し考えてイベントの設定をする様にします。
ありがとうございました。

No.1
- 回答日時:
原因がちょっと特定できませんが、
>例えば、サブフォームの1レコード目に入力をし終わり、2レコード目の商品コードにカーソルが移った時点で印刷ボタンを押す。
については、ブランクのレコードができているのかも知れません。 もしそうなのであれば、
If Not IsNull(商品コード) Then のあとにもう一個
If (商品コード) <> "" をくわえるとかいろいろ方法はあると思います。
>2レコード分の入力を済ませたあと、エンターキーを押し続けて(カーソルはカレントレコード内に戻る様にしています)、再度商品コードにカーソルが合った時に印刷ボタンを押す。
こちらはちょっと見当がつきません。 debug してみると、最初のdlookupで止まるのだと思いますが、このときの商品コードの値は読み取れていますか?
余り関係ありませんが、私はDLookUpがあまり好きではないので、アクセスを使用する場合はクエリでデータを抽出するようにしています。
ご回答ありがとうございました。
ANo.2のO_cyanさんの方法でエラー回避はできました。
商品コードに何がしかのデータが入ってしまっていたのでしょうね。
ですが、ご指摘の様にブランクのレコードができてしまう様な時の対処に
If (商品コード) <> "" を使うのは勉強になりました。
今のフォームをもっとスマートに快適に使える様にする為に
役立てたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
access2021 VBA メソッドまたは...
-
JANコードとPOSコードは同じ?
-
1日に1人がこなせるプログラム...
-
COBOLの文法
-
access2003 クエリSQL文に...
-
Access2000のレポートで条件付...
-
SQL
-
とある条件でIntelliSenseが使...
-
エクセルに見えない文字(JISX0...
-
【VB6】実行ファイルとした後、...
-
Pythonで指定時間までスリープ...
-
access でエラーを回避するには?
-
Exel VBA 別ブックから該当デ...
-
画像を最背面にし、ブックを後...
-
プログラムの記法 インラインコ...
-
ActiveReportの改ページ不具合...
-
VB2010体験版でShockwaveFlash...
-
ExcelVBAで「Shift_JIS(MS932)...
-
AccessでReplace関数を使うときに…
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
access2021 VBA メソッドまたは...
-
1日に1人がこなせるプログラム...
-
JANコードとPOSコードは同じ?
-
1、Rstudioで回帰直線を求める...
-
access2003 クエリSQL文に...
-
Exel VBA 別ブックから該当デ...
-
JavaScriptの定数名が取り消し...
-
COBOLの文法
-
VBAでファイルオープン後にコー...
-
変数名「cur」について
-
エクセルに見えない文字(JISX0...
-
オートフィルタで抽出結果に 罫...
-
Nullの使い方が不正です。
-
PreviewKeyDownイベントが2回...
-
【VB6】実行ファイルとした後、...
-
Javaの改行について
-
C# コードビハインドについて
-
Excelシート上で右クリックがで...
-
木偏に「久」
おすすめ情報