ハマっている「お菓子」を教えて!

度々恐れ入ります。

実行時エラー’2424’: 指定した式にMicrsoft Accessが見つけることができないフィールド、コントロール、プロパティ名が含まれています。
のメッセージが出てしまいます。

記述したのは

オブジェクト=商品コード、プロシージャボックス=Exitの状態で

Private Sub 商品コード_Exit(Cancel As Integer)
商品名 = DLookup("商品名", "商品", "商品コード='" & 商品コード & "'")
販売単価 = DLookup("販売単価", "商品", "商品コード='" & 商品コード & "'")
仕入単価 = DLookup("仕入単価", "商品", "商品コード='" & 商品コード & "'")
End Sub

以上です。

商品名と商品コードは、商品テーブルと見積明細テーブルの両方に存在するフィールドで、商品名は商品テーブルの主キーにしています。
また、データ型はすべてテキストです。

またもや、テキストどおりの設定をしたはずなのに、何が原因なのか見当つかない状態です。

A 回答 (2件)

wakabonさん、毎度(^^)/



各フィールドを[]で囲ったらいかがでしょう。
もし、抽出条件である商品コードがフォームのコントロールであれば
forms![フォーム名]![商品コード]として。

Private Sub 商品コード_Exit(Cancel As Integer)
商品名 = DLookup("[商品名]", "商品", "[商品コード] ='" & Forms![xx]![商品コード] & "'")
販売単価 = DLookup("[販売単価]", "商品", "[商品コード] ='" & Forms![xx]![商品コード] & "'")
仕入単価 = DLookup("[仕入単価]", "商品", "[商品コード] ='" & Forms![xx]![商品コード] & "'")
End Sub

としては?

Accessはさほど経験がないので、この程度しかお答えできません。
申し訳ないです。

参考URL:http://support.microsoft.com/Intl/Japan/Support/ …
    • good
    • 0
この回答へのお礼

早速にありがとうございます。
もう、頭が働きません。能力の限界ですので、一休みさせていただき、明日、確認させてもらいます。
ありがとうございました。

お礼日時:2003/01/15 02:53

Private Sub 商品コード_Exit(Cancel As Integer)


商品名 = DLookup("商品名", "商品", "商品コード='" & 商品コード & "'")
End Sub

はOKなのですね?で、あれば販売単価、仕入単価の分を順に増やしてどちらが
(両方?)原因なのか特定しましょう。次にフォーム上のコントロール名を確認
してください。コントロール名が"販売単価"、"仕入単価"になっていますか?

その他、ちょっと気になる点ですが、
>商品名は商品テーブルの主キーにしています
普通は商品コードを主キーにすると思いますが何か理由があるのでしょうか?
>また、データ型はすべてテキストです
販売単価や仕入単価も?通常は通貨型を使います。

イベントのタイミングもフォーカス喪失時にやってしまうと、商品コードを
入力していない状況でフォーカスを喪失した時の処理が必要ですね。
    • good
    • 1
この回答へのお礼

いまだ解決いたしませんが、この件に関しては、教本発行会社に問い合わせることにいたしました。

なお、アドバイスいただきました皆様のご厚情と情報に、深く感謝し、御礼申し上げます。

・・・・ああ、アクセスが嫌いになりそうだ・・・

お礼日時:2003/01/17 00:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


おすすめ情報

このQ&Aを見た人がよく見るQ&A