- ベストアンサー
Accessの実行時エラーについて
度々恐れ入ります。 実行時エラー’2424’: 指定した式にMicrsoft Accessが見つけることができないフィールド、コントロール、プロパティ名が含まれています。 のメッセージが出てしまいます。 記述したのは オブジェクト=商品コード、プロシージャボックス=Exitの状態で Private Sub 商品コード_Exit(Cancel As Integer) 商品名 = DLookup("商品名", "商品", "商品コード='" & 商品コード & "'") 販売単価 = DLookup("販売単価", "商品", "商品コード='" & 商品コード & "'") 仕入単価 = DLookup("仕入単価", "商品", "商品コード='" & 商品コード & "'") End Sub 以上です。 商品名と商品コードは、商品テーブルと見積明細テーブルの両方に存在するフィールドで、商品名は商品テーブルの主キーにしています。 また、データ型はすべてテキストです。 またもや、テキストどおりの設定をしたはずなのに、何が原因なのか見当つかない状態です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
wakabonさん、毎度(^^)/ 各フィールドを[]で囲ったらいかがでしょう。 もし、抽出条件である商品コードがフォームのコントロールであれば forms![フォーム名]![商品コード]として。 Private Sub 商品コード_Exit(Cancel As Integer) 商品名 = DLookup("[商品名]", "商品", "[商品コード] ='" & Forms![xx]![商品コード] & "'") 販売単価 = DLookup("[販売単価]", "商品", "[商品コード] ='" & Forms![xx]![商品コード] & "'") 仕入単価 = DLookup("[仕入単価]", "商品", "[商品コード] ='" & Forms![xx]![商品コード] & "'") End Sub としては? Accessはさほど経験がないので、この程度しかお答えできません。 申し訳ないです。
その他の回答 (1)
- o23
- ベストアンサー率36% (64/175)
Private Sub 商品コード_Exit(Cancel As Integer) 商品名 = DLookup("商品名", "商品", "商品コード='" & 商品コード & "'") End Sub はOKなのですね?で、あれば販売単価、仕入単価の分を順に増やしてどちらが (両方?)原因なのか特定しましょう。次にフォーム上のコントロール名を確認 してください。コントロール名が"販売単価"、"仕入単価"になっていますか? その他、ちょっと気になる点ですが、 >商品名は商品テーブルの主キーにしています 普通は商品コードを主キーにすると思いますが何か理由があるのでしょうか? >また、データ型はすべてテキストです 販売単価や仕入単価も?通常は通貨型を使います。 イベントのタイミングもフォーカス喪失時にやってしまうと、商品コードを 入力していない状況でフォーカスを喪失した時の処理が必要ですね。
お礼
いまだ解決いたしませんが、この件に関しては、教本発行会社に問い合わせることにいたしました。 なお、アドバイスいただきました皆様のご厚情と情報に、深く感謝し、御礼申し上げます。 ・・・・ああ、アクセスが嫌いになりそうだ・・・
お礼
早速にありがとうございます。 もう、頭が働きません。能力の限界ですので、一休みさせていただき、明日、確認させてもらいます。 ありがとうございました。