資料庫是這樣的
要匯入的excel是
資料庫的關鍵字比excel的多 順序也不一樣 求VB recordset連接后怎么寫
uj5u.com熱心網友回復:
set s=app_excel.workbooks(1).activesheet
s.cells(1,1)="關鍵字"
s.cells(1,2)="點擊量"
i=2
do while not rs.eof
s.cells(i,1)=rs.fileds("關鍵字")
s.cells(i,2)=rs.fileds("點擊量")
rs.movenext
i=i+1
loop
uj5u.com熱心網友回復:
首先用外部資料庫查詢,將 Excel 的資料匯入一個 Recordset,比如說 rs1 中,然后在資料庫上建立連接,比如說 cn2:Do Until rs1.EOF
cn2.Execute "UPDATE yourTable SET [點擊量] =" & rs1!點擊量 & " WHERE [關鍵詞] =‘” & rs1!關鍵詞 & "'"
rs1.MoveNext
Loop
cn2.Close
Set cn2 = Nothing
rs1.Close
Set rs1 = Nothing
uj5u.com熱心網友回復:
cn2.Execute "UPDATE yourTable SET [點擊量] =" & rs1!點擊量 & " WHERE [關鍵詞] ='" & rs1!關鍵詞 & "'"
uj5u.com熱心網友回復:
謝謝大神們啊uj5u.com熱心網友回復:
WHERE [關鍵詞] ='" & rs1!關鍵詞 & "' 未找到方法 ?????uj5u.com熱心網友回復:
你的 rs1 查詢時,要包含“關鍵詞”欄位。當然,也可以用不指定欄位名的方式:cn2.Execute "UPDATE yourTable SET [點擊量] =" & rs1!點擊量 & " WHERE [關鍵詞] ='" & rs1.Fields(1) & "'"
uj5u.com熱心網友回復:
甚至cn2.Execute "UPDATE yourTable SET [點擊量] =" & rs1.Fields(0) & " WHERE [關鍵詞] ='" & rs1.Fields(1) & "'"
uj5u.com熱心網友回復:
求大神的QQuj5u.com熱心網友回復:
Dim sjksjb As String
Dim excsjb As String
Dim i As Integer
excsjb = "Provider=MSDASQL.1;Persist Security Info=False;Extended Properties='DSN=Excel Files;DBQ=" & Text1.Text & "';DriverId=1046;MaxBufferSize=2048;PageTimeout=5;"
sjksjb = "Provider=Microsoft.Jet.OLEDB.4.0;Password=;Data Source=" & App.Path & "\db1.mdb;Persist Security Info=True"
Dim cnnExc As ADODB.Connection, cnnSjk As ADODB.Connection
cnnExc.Open excsjb
cnnSjk.Open sjksjb
Dim exc1 As New ADODB.Recordset, exc2 As New ADODB.Recordset, sjk1 As New ADODB.Recordset, sjk2 As New ADODB.Recordset
exc2.Open "select * from [sheet1$] ", cnnExc
sjk2.Open "select * from gjc ", cnnSjk, 1, 3 '是否有問題 不能單獨搜索欄位添加
sjk2.AddNew
sjk2.Fields(關鍵詞) = exc2.Fields(關鍵詞)
sjk2.Update
exc2.Close
sjk2.Close
Dim ri As String
Dim sjk2b As New ADODB.Recordset
ri = "select * from cjyh WHERE 日期='#" & DTPicker1.Value & "#' "
sjk2b.Open "select * from gjc", cnnSjk
sjk1.Open "select * from cjyh", cnnSjk, 1, 3
If ri = "" Then
sjk1.AddNew
sjk1.Fields(關鍵詞) = sjk2.Fields(關鍵詞)
sjk1.Update
sjk2.MoveNext
For i = 0 To sjk2b.RecordCount - 1
sjk1.AddNew 日期, " # dtpicker1.Value # "
Next i
sjk1.Update
sjk1.Close
sjk2.Close
End If
sjk1.Open "select * from cjyh", cnnSjk, 1, 3
exc2.Open "select * from [sheet1$]", cnnExc,
Do Until exc2.EOF
sjk1.Execute "UPDATE cjyh SET [訪客量] =" & exc2.Fields(1) & " WHERE 關鍵詞 ='" & exc2.Fields(0) & " 'and where [日期]='#" & DTPicker1.Value & "#'"
exc1.MoveNext
Loop
sjk1.Close
Set sjk1 = Nothing
exc2.Close
Set exc2 = Nothing
uj5u.com熱心網友回復:
還是提示.field 沒有方法或沒有資料uj5u.com熱心網友回復:
cnnSjk.Execute "......"記錄集當然沒有 Execute 方法。
uj5u.com熱心網友回復:
應該用open?轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/122876.html
上一篇:vb用戶權限問題
下一篇:inputman安裝之后
