
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も見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
パラメータが少なすぎます。1を指定して下さい。""
Excel(エクセル)
-
「パラメータが少なすぎます。3を指定してください。」って???
Access(アクセス)
-
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
4
Access サブフォームでの選択行の取得
その他(データベース)
-
5
access テキストボックスの値取得
Access(アクセス)
-
6
構文エラー:演算子がありません。 ACCESS SQL
その他(データベース)
-
7
アクセスVBAのMe!と[ ]
Access(アクセス)
-
8
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
9
「データベースまたはオブジェクトは読み取り専用なので、更新できません」エラーについて
その他(データベース)
-
10
Access パラメータクエリをcsvでエクスポートしたい
Access(アクセス)
-
11
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
12
AccessのRefresh・Requery・Repaintの違い
Access(アクセス)
-
13
エラー(型が一致しません。)の対処方法
Visual Basic(VBA)
-
14
ODBCの接続に失敗しました(3146)について
その他(Microsoft Office)
-
15
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
16
VBAをつかってクエリの情報を抽出するには??
Visual Basic(VBA)
-
17
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
18
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
19
Accessで、フォームからフォームへ値を引き継ぐやり方
Access(アクセス)
-
20
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
指定日付を起点にして最新日付...
-
5
アクセス:既定値に土日含まず...
-
6
Excleピボットでデータのない部...
-
7
VBA 別シートの同じ日付の欄に...
-
8
Excel→Accessへの日付データの...
-
9
クロス集計のユニオンクエリー...
-
10
Accessの日付時刻型から日付、...
-
11
ACCESSの空白をカウントする
-
12
Accessで日付の比較がうまくい...
-
13
アクセスの昇順並び替えで空白...
-
14
アクセス 前月の月末日を求めたい
-
15
【エクセル】指定した日付に一...
-
16
アクセス 数値+日付をyyyy/mm/...
-
17
エクセルで書式設定ではなく、...
-
18
【Access】クエリでの日付処理...
-
19
アクセス97のVBAで日付項目をヌ...
-
20
ACCESS フォームで日付を入力し...
おすすめ情報
公式facebook
公式twitter