請教各位大大:
我寫了一個樂透程式,查詢分析表單上有放3個並排DataGrid,所查詢出來的資料各別存入獨自的TMP資料檔.(工作環境:XP,VB6SP5,ACCESS2002,CR9,P4-2.4GHZ)
'=== DataGrid1 write-read works ===
Private Sub DG_DISP1()
SQL_TMP = "Delete * From DataGrid1_TMP資料表" 'DataGrid1號碼
DEL_DG_TMP (SQL_TMP)
If I = 1 Then
Set rs2B = rsN
While Not rs2B.EOF
strNumber_C = DataGrid1(I).Columns(1) '將取得的編號放入變數中
SQL_DG1 = "Insert Into DataGrid1_TMP資料表 "
If IsNull(strNumber_C) = True Then
'SQL_DG1 = "Insert Into DataGrid1_TMP資料表 "
SQL_DG1 = SQL_DG1 & "Values ( ,'','','','','','','','','','') " '新增第一筆空白資料
ElseIf strNumber_C = "91001" Then
'SQL_DG1 = "Insert Into DataGrid1_TMP資料表 "
SQL_DG1 = SQL_DG1 & "Values ( ,'','','','','','','','','','') " '新增第一筆空白資料
End If
If Option1.Value = True And Option2.Value = False Then
SQL_DG1 = SQL_DG1 & "SELECT * FROM 號碼順序資料表 WHERE 期數 In "
SQL_DG1 = SQL_DG1 & "(SELECT 期數 FROM 號碼順序資料表 WHERE 期數 = '"
ElseIf Option1.Value = False And Option2.Value = True Then
SQL_DG1 = SQL_DG1 & "SELECT * FROM 號碼落球資料表 WHERE 期數 In "
SQL_DG1 = SQL_DG1 & "(SELECT 期數 FROM 號碼落球資料表 WHERE 期數 = '"
End If
If strNumber_C = "92001" Then
SQL_DG1 = SQL_DG1 & CLng(strNumber_C) - 902 & "')"
ElseIf strNumber_C = "93001" Then
SQL_DG1 = SQL_DG1 & CLng(strNumber_C) - 897 & "')"
Else
SQL_DG1 = SQL_DG1 & CLng(strNumber_C) - 1 & "')"
End If
Set rs1B = New ADODB.Recordset
rs1B.CursorLocation = adUseClient
rs1B.Open SQL_DG1, cn, adOpenKeyset, dLockOptimistic
rs2B.MoveNext
Wend
SQL_1A = "SELECT * FROM DataGrid1_TMP資料表 "
I = 0
READ_DG_TMP (SQL_1A)
DG_DataSource (I)
Label1A = DataGrid1(I).ApproxCount
If rs2B.BOF = False Then
rs2B.MoveFirst
End If
End If
End Sub
在上述程式中
If IsNull(strNumber_C) = True Then
'SQL_DG1 = "Insert Into DataGrid1_TMP資料表 "
SQL_DG1 = SQL_DG1 & "Values ( ,'','','','','','','','','','') "
ElseIf strNumber_C = "91001" Then
'SQL_DG1 = "Insert Into DataGrid1_TMP資料表 "
SQL_DG1 = SQL_DG1 & "Values ( ,'','','','','','','','','','') "
End If
未加入這段程式皆可以查詢資料而且無誤,顯示結果如下:
例如查詢號碼條件:09,33顯示在DataGrid2
DataGrid1:
期數 一 二 三 四 五 六 特
==========================
92067 13 17 21 23 33 36 29
92093 03 08 17 24 33 34 38
DataGrid2:
期數 一 二 三 四 五 六 特
==========================
91001 04 09 10 13 32 33 37
92068 04 09 12 28 33 40 41
92094 02 04 09 33 36 41 40
DataGrid3:
期數 一 二 三 四 五 六 特
==========================
91002 06 16 28 30 31 35 02
92069 03 06 16 22 26 32 24
92095 03 04 15 19 20 28 07
TMP資料表的欄位型態:
ID 長整數(自動編號-遞增)
期數 文字 6
日期 文字 8
星期 文字 2
一 文字 2
二 文字 2
三 文字 2
四 文字 2
五 文字 2
六 文字 2
特別號 文字 2
各位看倌是否看出DataGrid1有2筆資料,DataGrid2有3筆資料,DataGrid3有3筆資料,今我想讓DataGrid1的第一筆資料是空白資料,讓DataGrid1,DataGrid2,DataGrid3的期數資料可以依序對稱,所以我加了
SQL_DG1 = "Insert Into DataGrid1_TMP資料表 "
SQL_DG1 = SQL_DG1 & "Values( ,'','','','','','','','','','')"
但是顯示錯誤告知(Insert Into 陳述式的語法錯誤),請各位大大是否有解?
我寫了一個樂透程式,查詢分析表單上有放3個並排DataGrid,所查詢出來的資料各別存入獨自的TMP資料檔.(工作環境:XP,VB6SP5,ACCESS2002,CR9,P4-2.4GHZ)
'=== DataGrid1 write-read works ===
Private Sub DG_DISP1()
SQL_TMP = "Delete * From DataGrid1_TMP資料表" 'DataGrid1號碼
DEL_DG_TMP (SQL_TMP)
If I = 1 Then
Set rs2B = rsN
While Not rs2B.EOF
strNumber_C = DataGrid1(I).Columns(1) '將取得的編號放入變數中
SQL_DG1 = "Insert Into DataGrid1_TMP資料表 "
If IsNull(strNumber_C) = True Then
'SQL_DG1 = "Insert Into DataGrid1_TMP資料表 "
SQL_DG1 = SQL_DG1 & "Values ( ,'','','','','','','','','','') " '新增第一筆空白資料
ElseIf strNumber_C = "91001" Then
'SQL_DG1 = "Insert Into DataGrid1_TMP資料表 "
SQL_DG1 = SQL_DG1 & "Values ( ,'','','','','','','','','','') " '新增第一筆空白資料
End If
If Option1.Value = True And Option2.Value = False Then
SQL_DG1 = SQL_DG1 & "SELECT * FROM 號碼順序資料表 WHERE 期數 In "
SQL_DG1 = SQL_DG1 & "(SELECT 期數 FROM 號碼順序資料表 WHERE 期數 = '"
ElseIf Option1.Value = False And Option2.Value = True Then
SQL_DG1 = SQL_DG1 & "SELECT * FROM 號碼落球資料表 WHERE 期數 In "
SQL_DG1 = SQL_DG1 & "(SELECT 期數 FROM 號碼落球資料表 WHERE 期數 = '"
End If
If strNumber_C = "92001" Then
SQL_DG1 = SQL_DG1 & CLng(strNumber_C) - 902 & "')"
ElseIf strNumber_C = "93001" Then
SQL_DG1 = SQL_DG1 & CLng(strNumber_C) - 897 & "')"
Else
SQL_DG1 = SQL_DG1 & CLng(strNumber_C) - 1 & "')"
End If
Set rs1B = New ADODB.Recordset
rs1B.CursorLocation = adUseClient
rs1B.Open SQL_DG1, cn, adOpenKeyset, dLockOptimistic
rs2B.MoveNext
Wend
SQL_1A = "SELECT * FROM DataGrid1_TMP資料表 "
I = 0
READ_DG_TMP (SQL_1A)
DG_DataSource (I)
Label1A = DataGrid1(I).ApproxCount
If rs2B.BOF = False Then
rs2B.MoveFirst
End If
End If
End Sub
在上述程式中
If IsNull(strNumber_C) = True Then
'SQL_DG1 = "Insert Into DataGrid1_TMP資料表 "
SQL_DG1 = SQL_DG1 & "Values ( ,'','','','','','','','','','') "
ElseIf strNumber_C = "91001" Then
'SQL_DG1 = "Insert Into DataGrid1_TMP資料表 "
SQL_DG1 = SQL_DG1 & "Values ( ,'','','','','','','','','','') "
End If
未加入這段程式皆可以查詢資料而且無誤,顯示結果如下:
例如查詢號碼條件:09,33顯示在DataGrid2
DataGrid1:
期數 一 二 三 四 五 六 特
==========================
92067 13 17 21 23 33 36 29
92093 03 08 17 24 33 34 38
DataGrid2:
期數 一 二 三 四 五 六 特
==========================
91001 04 09 10 13 32 33 37
92068 04 09 12 28 33 40 41
92094 02 04 09 33 36 41 40
DataGrid3:
期數 一 二 三 四 五 六 特
==========================
91002 06 16 28 30 31 35 02
92069 03 06 16 22 26 32 24
92095 03 04 15 19 20 28 07
TMP資料表的欄位型態:
ID 長整數(自動編號-遞增)
期數 文字 6
日期 文字 8
星期 文字 2
一 文字 2
二 文字 2
三 文字 2
四 文字 2
五 文字 2
六 文字 2
特別號 文字 2
各位看倌是否看出DataGrid1有2筆資料,DataGrid2有3筆資料,DataGrid3有3筆資料,今我想讓DataGrid1的第一筆資料是空白資料,讓DataGrid1,DataGrid2,DataGrid3的期數資料可以依序對稱,所以我加了
SQL_DG1 = "Insert Into DataGrid1_TMP資料表 "
SQL_DG1 = SQL_DG1 & "Values( ,'','','','','','','','','','')"
但是顯示錯誤告知(Insert Into 陳述式的語法錯誤),請各位大大是否有解?
文章標籤
全站熱搜

SQL_DG1 & "Values( ,'','','','','','','','','','')" 不知是不是我看錯還是你筆誤 第一個逗號怎麼看都不太對 前面該有點東西吧
TO:brl Insert Into ...Values...的語法不是要跟欄位資料型態順序相同嗎?資料表第一個欄位是ID(長整數型態),而後欄位資料型態都是文字型態,所以我才會如此寫法,還是我的語法寫錯了.
SQL_DG1 & "Values( ,'','','','','','','','','','')" 第一個欄位是NULL嗎,TABLE欄位設定有允許嗎?
TO:morris >>第一個欄位是NULL嗎,TABLE欄位設定有允許嗎? 第一個欄位ID不是NULL,我再ACCESS裡是設定自動編號-遞增,當設定自動編號後並沒有顯示是否允許有資料ㄚ?
恩~那請問"Values( ,'','','','','','','','','','')"第一個欄位它會帶什麼值進去資料庫~null啦~