formにグリッドとtextがあって、そこに条件として年月日を入力すると、それに該当するデータがレコードセットされて、グリッド表示すると言うものを作りたいのですが、どうしてもselect〜from〜where〜の 構文エラーがでます。
いろいろ試してもわからず、助言お願いします。VB6.0 ACCESS使用
Dim mySQL As String
mySQL = "select 年月日, 連番, 発行所, 図書名, 単価, 冊数, " _
& "単価 * 数量 as 金額 " _
& "from 記録 " _
& "where (年月日) " _
& "and (年月日 = " & txt年月日.Text & ") "
rsSub.Source = mySQL
rsSub.ActiveConnection = demain.cnSales
rsSub.CursorType = adOpenStatic
rsSub.LockType = adLockOptimistic
rsSub.Properties("IRowsetIdentity") = True
rsSub.Open
すみません。構文ミスわかりました。また困ったらおねがいします。
参考になるかどうかわからないけど
私流のSQLの書き方・・・
Dim strSQL As String
strSQL = ""
strSQL = strSQL & " SELECT" & vbCrLf
strSQL = strSQL & " 年月日" & vbCrLf
strSQL = strSQL & " ,連番" & vbCrLf
strSQL = strSQL & " ,発行所" & vbCrLf
strSQL = strSQL & " ,図書名" & vbCrLf
strSQL = strSQL & " ,単価" & vbCrLf
strSQL = strSQL & " ,冊数" & vbCrLf
strSQL = strSQL & " ,単価 * 数量 AS 金額" & vbCrLf
strSQL = strSQL & " FROM" & vbCrLf
strSQL = strSQL & " 記録" & vbCrLf
strSQL = strSQL & " WHERE" & vbCrLf
strSQL = strSQL & " (年月日)" & vbCrLf
strSQL = strSQL & " AND (年月日 = " & txt年月日.Text & ")" & vbCrLf
インデントは個人の好みになるが、
だらだら連結して書くよりある程度改行する方がイミディエイトに表示した時
わかりやすくなると思う・・・
ちゅか一発でWHEREがおかしいのも認識できる
ツイート | ![]() |