
strSQL = "SELECT 日付,ブロック_cd,時刻 FROM テーブルA"
strSQL = strSQL & " WHERE 日付 = " & Me.売上日 & ""
strSQL = strSQL & " AND ブロック_cd = & Me.cmb_ブロック & "
strSQL = strSQL & " AND 時刻 = & Me.時刻 & "
WHERE句以下を削除するとレコードを読み込んできます。
よって、WHERE句がおかしいようです。
テーブルA:
日付:日付/時刻型(yyyy/mm/dd)
ブロック_cd:数値型
時刻:日付/時刻型(hh:nn)
me.売上日:日付形式(yyyy/mm/dd)
me.cmb_ブロック:コンボボックスの値(数値)
me.時刻:時刻形式(hh:nn)
おそらく、me.のくくり方がおかしいとは思うのですが
どのように修正すればよろしいでしょうか?
よろしくお願いします。
No.5ベストアンサー
- 回答日時:
strSQL = "SELECT 日付,ブロック_cd,時刻 FROM テーブルA"
strSQL = strSQL & " WHERE 日付 = " & Me.売上日 & ""
strSQL = strSQL & " AND ブロック_cd = & Me.cmb_ブロック & "
strSQL = strSQL & " AND 時刻 = & Me.時刻 & "
Debug.Print strSQL
とすればイミディエイトウィンドウで strSQL の内容が確認できますよ!!
SQL文中に変数の内容を渡す場合はダブルクォーテーションの外に出す
データ型によって値を括らなければならない
数値 そのまま
文字 ' (シングルクォーテーション)で括る
日付 # で括る
なので、フォームのモジュールで自身のコントロールを参照していると仮定して
strSQL = "SELECT 日付,ブロック_cd,時刻 FROM テーブルA"
strSQL = strSQL & " WHERE 日付 = #" & Me.売上日 & "#"
strSQL = strSQL & " AND ブロック_cd = " & Me.cmb_ブロック
strSQL = strSQL & " AND 時刻 =#" & Me.時刻 & "#"
では?
なお、Me.~ ですとプロパティの一覧も出てきて便利なのですが
フォームのコントロールの場合には、Me!~と記述したほうが
パッと見たときに分かりやすいと思います。
ご回答、ありがとうございます。
できました!
また、今後開発を進めていく上で参考になるコメントもいただき本当にありがとうございました。
No.4
- 回答日時:
s_husky です。
まず、DBLookup関数を利用してSQL文をテストしたらいいです。
イミディエイトウインドウで出来ます。
Public Function DBLookup(ByVal strQuerySQL As String) As String
On Error GoTo Err_DBLookup
Dim I As Integer
Dim N As Integer
Dim Datas As String
Dim dbs As DAO.Database
Dim rst As DAO.Recordset
Set dbs = CurrentDb
Set rst = dbs.OpenRecordset(strQuerySQL)
With rst
Do Until .EOF
N = .Fields.Count - 1
For I = 0 To N
Datas = Datas & .Fields(I) & ";"
Next I
.MoveNext
Loop
End With
Exit_DBLookup:
On Error Resume Next
rst.Close
dbs.Close
DBLookup = Datas
Exit Function
Err_DBLookup:
MsgBox Err.Description
Resume Exit_DBLookup
End Function
No.3
- 回答日時:
1 A1 2006/08/01 10:00
2 A2 2006/08/01 11:00
3 A3 2006/08/01 12:00
このようなテーブルからデータを取得するには、
? DBLookup("SELECT * FROM Table1 WHERE 日付=#2006/08/01# AND 時刻=#10:00#")
1;A1;2006/08/01;10:00:00;
と書きます。
※イミディエイトウインドウでテストしたものです。
つまり、
日付・時刻----#で囲む。
文字列--------'で囲む。
を忘れています。
この回答への補足
ご回答、ありがとうございます。
strSQL = "SELECT 日付,ブロック_cd,時刻 FROM tbl_ジャーナル入力"
strSQL = strSQL & " WHERE 日付 = # Me.売上日 #"
↑で実行したら
「クエリ式'日付 = # Me.日付 # の日付の構文エラーです。」
とエラーメッセージがかえります。
まだくくり方がおかしいでしょうか?
No.2
- 回答日時:
Access VBAって、Me. 使えなかったはずでは…
VisualBasicなら、Me.売上日という書き方は出来ますが、Accessでは、Forms!フォーム名!売上日
となるはずです。
この回答への補足
ご回答、ありがとうございます。
Me.は使えるようです。
デバッグモードで1ステップずつ実行している際、Me.~にカーソルを当てるとフォームで入力した値が表示されます。
他の多くのmdbでも同じように使用しているので、確かだと思います。
他に何か問題は考えられますでしょうか?
No.1
- 回答日時:
WHERE 日付 = " & Me.売上日 & ""
と
strSQL = strSQL & " AND
の間に
なんかわすれてない?
AND とかORのくくり
この回答への補足
ご回答、ありがとうございます。
strSQL = "SELECT 日付,ブロック_cd,時刻 FROM テーブルA"
strSQL = strSQL & " WHERE 日付 = " & Me.売上日 & ""
↑実はAND以下を削っても同じ結果です。
よって、Me.のくくり方(文字列かいなかによってくくり方が違ったはず)の問題かと思っているのですが……。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) SQLで抽出 4 2022/12/04 13:55
- Visual Basic(VBA) ExcelからAccessのテーブルに書き込む時に時間がかかる 1 2022/10/14 20:38
- MySQL ある時間以内の利用者の抽出について 3 2022/03/26 11:15
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- MySQL SQLについて質問です。 SELECT TO_CHAR(TO_DATE('90-10-08.'YY- 4 2022/05/13 20:55
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2023/05/23 16:28
- Access(アクセス) チェックボックスにチェックが入った後の挙動 1 2022/08/21 12:39
- その他(Microsoft Office) エクセル 条件付き書式 日をまたぐ塗りつぶし 1 2023/01/13 18:00
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- Access(アクセス) アクセス where句を使用して複数条件抽出をするには 2 2022/08/29 13:24
このQ&Aを見た人はこんなQ&Aも見ています
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
SQL
MySQL
-
ACCESS VBA でのエラー解決の根拠がわかりません エラー「イベントプロパティに指定した式・・
Access(アクセス)
-
-
4
Access VBAでクエリーのレコード件数を取得したいのですが
その他(データベース)
-
5
アクセスVBAのMe!と[ ]
Access(アクセス)
-
6
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
7
VBAのAccessでDATE型のINSERT
その他(データベース)
-
8
access テキストボックスの値取得
Access(アクセス)
-
9
ACCESS VBAの実行時エラーなんですが
PowerPoint(パワーポイント)
-
10
AccessのWHERE句において、変数は使用できますか?
Access(アクセス)
-
11
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
12
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
13
レコード削除時に(サブ)フォームに表示される#Deleted"について"
Access(アクセス)
-
14
VBとアクセスでSQL文に変数を使いたいのですが
Visual Basic(VBA)
-
15
新規レコード行を非表示にしたい
Access(アクセス)
-
16
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
17
標準モジュールとクラスモジュールの違い
PowerPoint(パワーポイント)
-
18
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
19
Accessのフィールド名に半角括弧を使ってしまった
Visual Basic(VBA)
-
20
AccessのFormの設定で、開いた時に必ず最大化で表示する方法が分からず困っています
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロボタンを押すと、ファイ...
-
「24日の0時」って・・・
-
差し込み印刷に当日の日付が入...
-
エクセルで日付別にシートを分...
-
回覧板の日付について質問です...
-
日付の大小の表現
-
Excelについて
-
履歴書の日付間違いで落ちますか。
-
「時間」、「期日」、「日付」...
-
エクセル マクロ 名前を付けて...
-
Excelでヘッダに前日の日付を表...
-
Accessでの時間別集計について
-
Excel ある複数列に数値を入力...
-
パソコンで購入したデーターが...
-
スクリーンショットで撮影する...
-
エクセルで日付セルのTEXT表示
-
PDFファイルに日付を名前にして...
-
ACCESS フォームで入力した日付...
-
Access VBA SQL文で教えてください
-
Windows Outlook2016 日付ピッ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「24日の0時」って・・・
-
マクロボタンを押すと、ファイ...
-
日付の大小の表現
-
差し込み印刷に当日の日付が入...
-
「時間」、「期日」、「日付」...
-
回覧板の日付について質問です...
-
エクセル マクロ 名前を付けて...
-
履歴書の日付間違いで落ちますか。
-
エクセルで日付別にシートを分...
-
Excelについて
-
日付以外のデータを抽出したい...
-
差込印刷 縦書きで和暦(漢数...
-
EXCELで日付を****年上期、****...
-
Excelで1週間毎の集計(今週と...
-
エクセルで日付け表示で、明治...
-
Facebookで投稿日時を変更できない
-
フォームの値をクエリーに反映...
-
会社や役所などに提出する書類...
-
エクセルで6ヵ月後を自動入力で...
-
2つの日付の中間の日付 エク...
おすすめ情報