1
我正在使用我的項目庫存系統,我想使用2 DTPicker在我的listview1的mysql中的書籍表中顯示已過濾的日期,併爲其生成報告。我在我的查詢在classmodule idk中有一個錯誤,如果它只有查詢和即時通訊真的困惑我在vb 6.0的一個begginer ...請需要你的幫助球員。vb 6.0任何人都可以幫我用我的代碼?
我使用2表,即書籍和供應商。
我的代碼在 '類模塊':
Sub DisplayList(ListView1 As ListView, DateFrom As Date, DateTo As Date)
Dim lstItem As ListItem, a As Integer
Dim rs As New ADODB.Recordset
Dim sql As String
If rs.State = adStateOpen Then rs.Close
sql = " SELECT supplier.category,books.title,books.dataAcquired,books.amount,books.quantity,books.accesionno,books.conditions" & _
" From supplier INNER JOIN books" & _
" ON supplier.code=books.code" & _
" WHERE (((books.dataAcquired)>=#" & DateFrom & "#) and ((books.dataAcquired) <=#" & DateTo & "#))" & _
" GROUP BY supplier.category,books.title,books.dataAcquired,books.amount,books.quantity,books.accesionno,books.conditions" & _
" ORDER BY books.dataAcquired DESC;"
rs.Open sql, cnn
ListView1.ListItems.Clear
Do While Not rs.EOF
a = a + 1
Set lstItem = ListView1.ListItems.Add(, , a, 1, 1)
lstItem.SubItems(1) = rs(0).Value
lstItem.SubItems(2) = rs(1).Value
lstItem.SubItems(3) = rs(2).Value
lstItem.SubItems(4) = rs(3).Value
lstItem.SubItems(5) = rs(4).Value
lstItem.SubItems(6) = rs(5).Value
lstItem.SubItems(7) = rs(6).Value
rs.MoveNext
Loop
End Sub
MY CODE IN MY FORM:加入,同時
Private Sub Show_Click()
clsData.DisplayList ListView1, DTPicker1.Value, DTPicker2.Value
lblCount.Caption = ListView1.ListItems.Count
End Sub
Private Sub Form_Load()
DTPicker1.Value = Date
DTPicker2.Value = Date
End Sub
Private Sub Form_Activate()
clsData.DisplayList ListView1, DTPicker1.Value, DTPicker2.Value
lblCount.Caption = ListView1.ListItems.Count
End Sub
雖然我標記了你關於SQL日期比較(這是代碼的主要問題),但我真的不明白你爲什麼需要RecordSetIsEmpty()函數。一旦檢查到記錄集不是Nothing,就可以非常高興地使用While Not rs.EOF(甚至更好,Do Until rs.EOF)作爲循環條件。每條記錄的檢查都是不必要的,而且效率低下。 –
已更新。 rs.eof有時失敗抱歉沒有例子現在我與.net工作,但我等待服務給某人 –