
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も見ています
-
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
ACCESS VBA でのエラー解決の根拠がわかりません エラー「イベントプロパティに指定した式・・
Access(アクセス)
-
Access VBAでクエリーのレコード件数を取得したいのですが
その他(データベース)
-
-
4
SQL
MySQL
-
5
Access 最後のレコードに到達するまでループ処理を行う方法
Access(アクセス)
-
6
VBAのAccessでDATE型のINSERT
その他(データベース)
-
7
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
8
アクセスVBAのMe!と[ ]
Access(アクセス)
-
9
access テキストボックスの値取得
Access(アクセス)
-
10
ACCESS VBAの実行時エラーなんですが
PowerPoint(パワーポイント)
-
11
AccessのWHERE句において、変数は使用できますか?
Access(アクセス)
-
12
VBとアクセスでSQL文に変数を使いたいのですが
Visual Basic(VBA)
-
13
MS Accessでフォームの「開く時」と「読込み時」のイベントの違い
Access(アクセス)
-
14
レコード削除時に(サブ)フォームに表示される#Deleted"について"
Access(アクセス)
-
15
新規レコード行を非表示にしたい
Access(アクセス)
-
16
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
17
標準モジュールとクラスモジュールの違い
PowerPoint(パワーポイント)
-
18
Accessでフィールド名を変数(文字列)で・・・
Access(アクセス)
-
19
ACCESSテーブルを RecordSet以外で1レコードづつ読む方法
Visual Basic(VBA)
-
20
Accessのフィールド名に半角括弧を使ってしまった
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
-
ピンとくる人とこない人の違いは?直感を鍛える方法を心理コンサルタントに聞いた!
根拠はないがなんとなくそう感じる……。そんな「直感がした」という経験がある人は少なくないだろう。ただ直感は目には見えず、具体的な説明が難しいこともあるため、その正体は理解しにくい。「教えて!goo」にも「...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロボタンを押すと、ファイ...
-
日付の大小の表現
-
回覧板の日付について質問です...
-
「24日の0時」って・・・
-
エクセル マクロ 名前を付けて...
-
「時間」、「期日」、「日付」...
-
差し込み印刷に当日の日付が入...
-
EXCELで前後一ヶ月の日付を出す...
-
ACCESSで日付ごとに自動連番(...
-
今日から2週間・3カ月後の日...
-
フォームの値をクエリーに反映...
-
エクセルで日付別にシートを分...
-
Excelでヘッダに前日の日付を表...
-
EXCELで日付を****年上期、****...
-
word文書で赤文字テキストを抽...
-
エクセルで日付け表示で、明治...
-
[SQLSERVER2005]OSの日付を変更...
-
履歴書の日付間違いで落ちますか。
-
VBA テキストボックスで日付を...
-
会社や役所などに提出する書類...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「24日の0時」って・・・
-
マクロボタンを押すと、ファイ...
-
日付の大小の表現
-
差し込み印刷に当日の日付が入...
-
「時間」、「期日」、「日付」...
-
回覧板の日付について質問です...
-
エクセル マクロ 名前を付けて...
-
履歴書の日付間違いで落ちますか。
-
エクセルで日付別にシートを分...
-
Excelについて
-
日付以外のデータを抽出したい...
-
差込印刷 縦書きで和暦(漢数...
-
EXCELで日付を****年上期、****...
-
Excelで1週間毎の集計(今週と...
-
エクセルで日付け表示で、明治...
-
Facebookで投稿日時を変更できない
-
フォームの値をクエリーに反映...
-
会社や役所などに提出する書類...
-
エクセルで6ヵ月後を自動入力で...
-
2つの日付の中間の日付 エク...
おすすめ情報