我現在建立了一個資料庫,庫中有多個相同結構的表,數量未知,現在我要以日期查詢資料庫中的記錄,這個要怎么做?
比如我現在有2012,2013兩個表,表的欄位相同(序號,檢測日期,產品編號,檢測結果,檢驗員,備注),我要以檢測日期來檢索兩個表中的記錄,并給Datagrid顯示(序號要改,重新從1開始),可以修改備注。
我的程式:
mysql = "select * from (select * from 2012 union all select * from 2013) tem where 檢測日期 between # " & Format(myDTPicker_qi, "yyyy/mm/dd") & " # and # " & Format(myDTPicker_zhi + 1, "yyyy/mm/dd") & " # "
myrs.ActiveConnection = mycn
myrs.Open mysql, mycn, adOpenStatic, adLockPessimistic
myzsl = myrs.RecordCount
'修改顯示的序號''''''''''''''''''''''''''''''''''''''
Dim myrs_row As Integer
If myzsl <> 0 Then
myrs.MoveFirst
For myrs_row = 0 To myzsl - 1
myrs.Fields(0) = myrs_row + 1
myrs.MoveNext
Next myrs_row
End If
Set my_DataGrid1.DataSource = myrs '連接資料庫
現在的情況是如果沒有修改顯示的序號,datagrid可以顯示出來,但是加上修改顯示的序號,就會報錯,多步操作產生錯誤,請問上述功能怎樣實作
uj5u.com熱心網友回復:
看看這個例子:Private Sub Form_Load()
objRecordset.ActiveConnection = objConnection
'ADO connection 物件
objRecordset.CursorLocation = adUseClient
' 必須使用 client-side 游標
objRecordset.CursorType = adOpenStatic
' client-sided server 游標必須使用此型別
objRecordset.LockType = adLockBatchOptimistic
'Northwind 資料庫
objRecordset.Open "SELECT * FROM Customers JOIN Orders ON " & _
"Customers.CustomerID = Orders.CustomerID WHERE city = " & _
"'London' ORDER BY CustomerID"
objRecordset.Properties("Unique Table").Value = "Orders"
objRecordset.Properties("Resync Command").Value = "SELECT * FROM " & _
"(SELECT * FROM Customers JOIN Orders ON Customers.CustomerID = " & _
"Orders.CustomerID WHERE city = 'London' ORDER BY CustomerID) " & _
"WHERE Orders.OrderID = ?"
objRecordset.ActiveConnection = Nothing
'disconnected ADO recordset
Set grdTest.Datasource = objRecordset
End Sub
Private Sub Save()
objRecordset.ActiveConnection = objConnection
' 僅為保存目的重新連接
objRecordset.UpdateBatch
' 不要忘記檢查 ADO 錯誤集合
objRecordset.ActiveConnection = Nothing
' 再斷開
End Sub
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/150581.html
下一篇:VB解方程組
