• ベストアンサー

ACCESSのコンパイルエラーについて

初心者です。 教本を見ながら練習していまして、下記のコードを、サブフォームの商品コードコンボボックスのプロパティ→イベント→フォーカス喪失時→ビルド→オブジェクト=商品コード、プロシージャボックス=Exitの状態で Private Sub 商品コード_Exit(Cancel As Integer) 商品名=dlookup("商品名","商品","商品コード='"&商品コード&"'") End Sub の記述をしたときに、コンパイルエラー 修正候補:区切り記号または) のメッセージが出てしまいます。教本どおりに記述したはずですし、商品テーブルには、商品名と商品コードがともにテキスト型で登録されております。 原因が見当つかないのですが・・・・。 多分、どこかで大ボケしているとは思うのですが、わかりません。 的を射ない質問かもしれないので、恐縮ですが。 Access2002 VB 6.0です。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmor
  • ベストアンサー率27% (225/825)
回答No.2

パラメタ(括弧の中の引数)にある & 文字の前後にスペースは入れてますよね? もし入っていないのならそれが原因でしょう。 商品名=dlookup("商品名","商品","商品コード='" & 商品コード & "'") このようにすれば大丈夫と思いますよ。

wakabon
質問者

お礼

そのとおりでした。 できました。 ここ2~3日悩んでいたので、すっきりしました。誠にありがとうございました。

その他の回答 (2)

noname#7099
noname#7099
回答No.3

dlookup("商品名","商品","商品コード='" & me.商品コード & "'") って、me.をつけるべきなんじゃない? フォームの中に商品コードというテキストボックスは1つでしょうが、 商品コードと名前のつくフィールドが複数存在するのでは? (,=&'")の中に、半角英数で書くべき記号が全角になっているものはありませんか。ピリオドになってたり全角空白はいってませんか? 商品コードはテーブルのデザインでテキストと指定されていますか。数字を指定していれば、'でくくる必要はありません。 今ある行をコメントにして、再度入力しなおしてみてください。行のどこかに不正な文字がはいっているのかもしれません。

wakabon
質問者

お礼

詳細なご指摘をありがとうございました。非常に勉強になりました。

  • MovingWalk
  • ベストアンサー率43% (2233/5098)
回答No.1

カンマ「,」 と ピリオド「.」の間違いではありませんか?

wakabon
質問者

お礼

早速のご回答ありがとうございました。

関連するQ&A