
Access2016 のVBAについて教えてください。
例えば以下のようなテーブルがあるとします
Tテーブル(各フィールドは全てテキスト型)
│ 伝票 │ 日付 │ 商品 │ 備考 │
D001 2017/06/15 商品A 備考A
D002 2017/07/02 商品B 備考B
D003 2017/05/30 商品C 備考C
D004 2017/07/19 商品D 備考D
D005 2017/07/10 商品E 備考E
Tテーブルの日付フィールドから年月を取り出して(例 D002 ならば ”201707”)、
年月が201707のレコードを抽出するようなSQL構文を記述してみました。
-------------------
mySQL = "SELECT 伝票, 日付, 商品, (Left(日付,4) & Mid(日付,6,2)) AS 年月 FROM Tテーブル "
mySQL = mySQL & "WHERE 年月='201707';"
Set DB = CurrentDb
Set RS = DB.OpenRecordset(mySQL, dbOpenSnapshot)
RS.MoveFirst
Do Until RS.EOF
Debug.Print RS!伝票 & " " & RS!日付 & " " & RS!商品 & " " & RS!年月
RS.MoveNext
Loop
-----------------
ここで1行目のSQL構文までではうまくレコードセットができたのですが、
2行目の WHERE ~ を追記すると以下のエラーとなってしまいます。
実行時エラー ’3061’
パラメーターが少なすぎます。1を指定してください
このエラーを無くすためには、どのようにすればよいのでしょうか?
よろしくお願いいたします。
No.2
- 回答日時:
WHERE 年月='201707';
を
WHERE Left(日付,4) & Mid(日付,6,2) = '201707';
にして見てはどうでしょうか
No.1
- 回答日時:
変数MySQLの内容をダンプする(標準出力する)命令を追加して実行してみましょう。
そこに表示されるのが実行されているSQL文です。それを見れば「パラメーターが少なすぎます」の意味がわかるかと思います。
追加部分にスペースなどちゃんと入っていますか?
参考まで。
ありがとうございました。
mySQLの中身は SELECT 伝票, 日付, 商品, (Left(日付,4) & Mid(日付,6,2)) AS 年月 FROM Tテーブル WHERE 年月='201707';
だったので、WHERE句 の「年月」に原因が有ったようです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
パラメータが少なすぎます。1を指定して下さい。""
Excel(エクセル)
-
「パラメータが少なすぎます。3を指定してください。」って???
Access(アクセス)
-
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
4
Access サブフォームでの選択行の取得
その他(データベース)
-
5
アクセスVBAのMe!と[ ]
Access(アクセス)
-
6
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
7
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
8
access テキストボックスの値取得
Access(アクセス)
-
9
Access パラメータクエリをcsvでエクスポートしたい
Access(アクセス)
-
10
構文エラー:演算子がありません。 ACCESS SQL
その他(データベース)
-
11
エラー(型が一致しません。)の対処方法
Visual Basic(VBA)
-
12
VBとアクセスでSQL文に変数を使いたいのですが
Visual Basic(VBA)
-
13
access2003 クエリSQL文について
その他(プログラミング・Web制作)
-
14
アクセスで数値型のフィールドにNullをいれたい
その他(データベース)
-
15
「RunSQL」と「Execute」の違い
Access(アクセス)
-
16
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
17
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
18
VBAをつかってクエリの情報を抽出するには??
Visual Basic(VBA)
-
19
Accessで数値型にNULLをInsertするとエラー
その他(データベース)
-
20
Access2010 「演算子がありません」エラー
その他(データベース)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
BCPでCSV内の文字列をテーブル...
-
5
VBA 別シートの同じ日付の欄に...
-
6
指定日付を起点にして最新日付...
-
7
アクセス:既定値に土日含まず...
-
8
エクセル-過去6カ月分の合計を...
-
9
【エクセル】指定した日付に一...
-
10
Excel→Accessへの日付データの...
-
11
SQL SEREVER で選択した固定値...
-
12
アクセスで月単位の抽出
-
13
accessの時間更新方法(フォーム)
-
14
Accessの日付時刻型から日付、...
-
15
アクセスのフォームで期間検索...
-
16
【Accessで困っています...
-
17
Access クエリで、レコードの無...
-
18
エクセルで書式設定ではなく、...
-
19
accessのレポートで重複データ...
-
20
アクセス97のVBAで日付項目をヌ...
おすすめ情報
公式facebook
公式twitter