アクセス初心者ですが、宜しくお願い致します。
現在、納品伝票を作っており、
納品フォームに得意先情報、合計金額
サブフォームに売上げ商品と数量、単価、金額などを表示、
同じフォーム上にボタンを作って、マクロで印刷を行う設定にしています。
サブフォームには商品コードフィールドがあり、
別にある商品テーブルから 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で質問しましょう!
似たような質問が見つかりました
- その他(Microsoft Office) Excelで総数量を変動させたい 2 2022/11/04 23:49
- Visual Basic(VBA) VBA 税率を判定表する方法を教えて下さい。 10 2022/03/28 11:21
- その他(買い物・ショッピング) JANコードの登録について 1 2022/07/23 14:19
- Excel(エクセル) ある文字を含む際に、値を返す数式についてです 5 2022/08/28 16:58
- Excel(エクセル) エクセル 関数について 4 2022/08/05 11:03
- Visual Basic(VBA) VBAでの共有パスにつきまして 1 2023/03/04 17:24
- その他(Microsoft Office) EXCEL VLOOKUPに関する質問 5 2023/02/08 11:38
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) 別シートのデータを参照して値を入れたい。 まとめデータシートのC列D列の値を商品一覧シートのコードが 7 2022/08/17 13:20
- Visual Basic(VBA) VBAで質問があります 1 2022/10/19 10:32
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
access2021 VBA メソッドまたは...
-
access2003 クエリSQL文に...
-
過剰なオブジェクト指向脳から...
-
1、Rstudioで回帰直線を求める...
-
ペンダントライトのコードの色...
-
JavaScriptの定数名が取り消し...
-
Excel VBA 空白をセルを探して...
-
特定行の背景色を変えたいのですが
-
Nullの使い方が不正です。
-
エクセルVBA ユーザーフォーム...
-
マクロ 連続印刷
-
ASCIIコードを文字に変換したい
-
sinカーブの表示のさせ方
-
SQL
-
chatgptでつくってもらったコー...
-
pythonで同じコード内で複数の...
-
Excel VBA素人です。VBAで図形...
-
オートフィルタで抽出結果に 罫...
-
JIPS-Eコードのコード表について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
過剰なオブジェクト指向脳から...
-
1、Rstudioで回帰直線を求める...
-
1日に1人がこなせるプログラム...
-
Exel VBA 別ブックから該当デ...
-
access2003 クエリSQL文に...
-
pythonにてseleniumを使うも、...
-
access2021 VBA メソッドまたは...
-
chatgptでつくってもらったコー...
-
パイソンプログラム
-
Gitのクローンについて
-
ExcelのVBAコードについて教え...
-
JANコードとPOSコードは同じ?
-
sinカーブの表示のさせ方
-
COBOLの文法
-
特定行の背景色を変えたいのですが
-
JavaScriptの定数名が取り消し...
-
アルファベットに付いて質問し...
-
◾️Excel VBA 統合について Cons...
-
変数名「cur」について
おすすめ情報