
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
アクセスVBAのMe!と[ ]
Access(アクセス)
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
VBとアクセスでSQL文に変数を使いたいのですが
Visual Basic(VBA)
-
4
SQL文で パラメータが少なすぎます エラー
Access(アクセス)
-
5
SQL
MySQL
-
6
VBAのAccessでDATE型のINSERT
その他(データベース)
-
7
Access サブフォームでの選択行の取得
その他(データベース)
-
8
Accessでレコードを別テーブルへコピーするには
Access(アクセス)
-
9
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
10
access テキストボックスの値取得
Access(アクセス)
-
11
レコードを保存するコード アクセスvba
その他(Microsoft Office)
-
12
新規レコード行を非表示にしたい
Access(アクセス)
-
13
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
14
Access フォームのテキストボックスに半角英字のみで入力する設定は
Access(アクセス)
-
15
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
16
サブフォームに対してGoToRecordするには?
その他(Microsoft Office)
-
17
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
18
[Access]帳票フォームにて連続する非連結コントロールに個々の値を入れるには
Access(アクセス)
-
19
Accessのレポート上のテキストボックス値を設定したい
その他(データベース)
-
20
「RunSQL」と「Execute」の違い
Access(アクセス)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
差し込み印刷に当日の日付が入...
-
5
ワードの日付け自動入力のキャ...
-
6
回覧板の日付について質問です...
-
7
エクセルで6ヵ月後を自動入力で...
-
8
履歴書の日付間違いで落ちますか。
-
9
「24日の0時」って・・・
-
10
日付の大小の表現
-
11
エクセルで日付け表示で、明治...
-
12
Excelでヘッダに前日の日付を表...
-
13
フォームの値をクエリーに反映...
-
14
ピボットテーブルの日付フィル...
-
15
エクセルVBAでFINDで年...
-
16
差込印刷 縦書きで和暦(漢数...
-
17
Accessで規定値に土日含まず5日...
-
18
選択クエリで実行結果を非表示...
-
19
EXCELで日付を****年上期、****...
-
20
2つの日付の中間の日付 エク...
おすすめ情報
公式facebook
公式twitter