請教各位大大:
我寫了一個樂透程式,查詢分析表單上有放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 陳述式的語法錯誤),請各位大大是否有解?
文章標籤
全站熱搜
創作者介紹
創作者 vbqa 的頭像
vbqa

小吳 VBQA 程式設計討論

vbqa 發表在 痞客邦 留言(5) 人氣(48)