
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) access count数を変数に格納 2 2022/03/30 19:21
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
- Access(アクセス) 実行時エラー3131 FROM 句の構文エラーです について 7 2022/06/13 15:45
- PostgreSQL PostgreSQL レコードからアイテム種類数を取得したい 2 2022/11/23 22:31
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Access(アクセス) DoCmd.SearchForRecord が動かない時の解決方法 3 2022/07/22 15:31
- MySQL 書籍の内容はまともでしょうか? 1 2023/01/22 03:07
- Excel(エクセル) VBAで同フォルダ内の別ブックを開かず参照して条件の一致する行の指定セルを抽出するには? 1 2022/07/21 19:29
- その他(年金) エクセルの年月について 2 2023/02/04 07:12
- MySQL PhpMyAdminで作成して実行せよ。 東京23区を、皇居を中心とした4つのエリア(南東, 南西, 1 2023/06/11 11:58
このQ&Aを見た人はこんなQ&Aも見ています
-
パラメータが少なすぎます。1を指定して下さい。""
Excel(エクセル)
-
Access Error3061 パラメータが少なすぎます。4を指定してください。
Access(アクセス)
-
「パラメータが少なすぎます。3を指定してください。」って???
Access(アクセス)
-
-
4
Access2010 「演算子がありません」エラー
その他(データベース)
-
5
Access サブフォームでの選択行の取得
その他(データベース)
-
6
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
7
Access パラメータクエリをcsvでエクスポートしたい
Access(アクセス)
-
8
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
9
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
10
ACCESS VBA でのエラー解決の根拠がわかりません エラー「イベントプロパティに指定した式・・
Access(アクセス)
-
11
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
12
【Access2003】クエリで動作するSQLがVBAで動作せず困っています。
その他(Microsoft Office)
-
13
カレントレコードが無い事を判定させる方法
Visual Basic(VBA)
-
14
アクセスのエラー「クエリには出力フィールドが1つ以上必要です。」
その他(Microsoft Office)
-
15
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
16
実行時エラー3131 FROM 句の構文エラーです について
Access(アクセス)
-
17
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
18
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
19
INSERT INTO ステートメントに認識できないフィールド
その他(データベース)
-
20
アクセスのフォームで、文字を中央揃えにしたい
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 別シートの同じ日付の欄に...
-
日付型のフィールドに空白を入...
-
Access2000 週報のレポート作成
-
アクセスのフォームで期間検索...
-
ピボットテーブルの日付を週ご...
-
Accessで実労日数を算出したい
-
アクセス クロス集計結果の列...
-
前日分のデータだけをスケジュ...
-
SQL文で パラメータが少なすぎ...
-
Excleピボットでデータのない部...
-
アクセスで日付を入力すると曜...
-
アクセスで月単位の抽出
-
アクセス97のVBAで日付項目をヌ...
-
式を簡単にしてください。ACCES...
-
Accessのデータ型の日付/時刻型...
-
Accessのクロス集計→テーブル作...
-
お世話になります ACCESSを使用...
-
フォーム上でデータをあるテー...
-
ExcelVBAでACCESSのクエリに接...
-
アクセスのエラー「クエリには...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
日付型のフィールドに空白を入...
-
SQL文で パラメータが少なすぎ...
-
Excleピボットでデータのない部...
-
VBA 別シートの同じ日付の欄に...
-
アクセスで日付を入力すると曜...
-
アクセス:既定値に土日含まず...
-
Excel→Accessへの日付データの...
-
Accessの日付時刻型から日付、...
-
BCPでCSV内の文字列をテーブル...
-
エクセル-過去6カ月分の合計を...
-
Access クエリで、レコードの無...
-
前のレコードの合計に現レコー...
-
ACCESSの空白をカウントする
-
指定日付を起点にして最新日付...
-
Accessのデータ型の日付/時刻型...
-
【vba】日付の形式が勝手に変わ...
-
ビュー定義をプログラムで動的...
-
アクセスで月単位の抽出
-
【エクセル】指定した日付に一...
-
Accessで日付の比較がうまくい...
おすすめ情報