SQLの条件抽出とその合計をだすには?

解決


manabu  2005-05-29 05:09:22  No: 122028

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


manabu  2005-05-29 05:47:21  No: 122029

すみません。構文ミスわかりました。また困ったらおねがいします。


葉月α  2005-05-30 18:15:57  No: 122030

参考になるかどうかわからないけど
私流の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がおかしいのも認識できる


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加