アプリ版:「スタンプのみでお礼する」機能のリリースについて

実行時エラー'3075':
クエリ式'(品名 In(A102))'の構文エラー:演算子がありません。

とでます。どこがダメなのか分かりませんので教えて下さい。
アクセスは初心者ですので分かりやすくお願いします。
チェックを入れた品名だけをレポートに出すようにしたくて
調べて下記のようにしたのですがエラーが出ます。


Private Sub コマンド_Click()
If Me.チェック Then
Me.品名リスト = Replace(Me.品名リスト & ",", "," & Me.品名 & ",", ",")
Me.品名リスト = Left(Me.品名リスト, Len(品名リスト) - 1)
Else
Me.品名リスト = Me.品名リスト & "," & Me.品名
End If
End Sub


Private Sub 実行_Click()
Dim strFilter As String
If Me.品名リスト <> "" Then
strFilter = "品名 In(" & Mid(Me.品名リスト, 2) & ")"
DoCmd.OpenReport "Rカタログ", acViewPreview, , strFilter
Else
MsgBox "選択されたデータはありません。"
End If
End Sub

A 回答 (3件)

inの構文がおかしいように思います。



品名 in ( ’品名1’,’品名2’, ’品名3’ )
のような文字列を作っておかないといけないのに
strFilter に代入される値は
品名 in ( 品名1,品名2, 品名3 )
のような。

strFilter = "品名 In(" & Mid(Me.品名リスト, 2) & ")"
の行でF9キー押してブレーク行を設定。
実行すると止まるから値を確認してみて下さい。

その後はF8キーで1行ずつ進めるなり、F5キーで一気に進めるなり。

この回答への補足

値を確認とはどのようにしたらいいのでしょうか?
F8を押して確認してみた所
DoCmd.OpenReport "Rカタログ", acViewPreview, , strFilter
の行でF8を押すと同じエラーが出るのですがその行がおかしいという事でしょうか?

補足日時:2013/10/24 08:59
    • good
    • 0
この回答へのお礼

ご指摘頂いた様にやはり品名の部分がダメだったようです。
"品名 In(" & Mid(Replace(Me.品名リスト, ",", "','"), 3) & "')"
に変更したら出来ました。
ありがとうございました。

お礼日時:2013/10/24 11:47

実行しようとした中身が見たかったのですが、


無理っぽいですね。すいませんでした。

この回答への補足

上手く説明が出来ればいいのですが。。。
こちらこそすいません。

補足日時:2013/10/23 16:06
    • good
    • 0

Private Sub 実行_Click()


Dim strFilter As String
If Me.品名リスト <> "" Then
strFilter = "品名 In(" & Mid(Me.品名リスト, 2) & ")"
MsgBox strFilter <==追加
DoCmd.OpenReport "Rカタログ", acViewPreview, , strFilter
Else
MsgBox "選択されたデータはありません。"
End If
End Sub

何が表示されるでしょうか?

この回答への補足

追加して実行をクリックしたときに出るメッセージの事でよろしかったでしょうか?
実行をクリックすると

イベント プロパティに指定した式クリック時でエラーが発生しました:名前が適切ではありません:実行_Click

*マクロ名、ユーザー定義関数名、[イベント プロシージャ]以外の式が指定されています。
*関数、イベント、マクロの評価でエラーが発生しました。

とでます。

補足日時:2013/10/23 13:34
    • good
    • 0

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