table中的字段
id bh name
4 29023000 甲苯
5 29053990 其他二元醇
excel中sheet2中的数据是
29023000 甲苯 朝鲜
29023000 甲苯 韩国
29023000 甲苯 日本
29023000 甲苯 台湾省
29023000 甲苯 新加坡
29053990 乙苯 奥地利
29053990 乙苯 澳大利亚
29053990 乙苯 巴西
29053990 乙苯 朝鲜
29053990 乙苯 德国
29053990 乙苯 法国
29053990 乙苯 韩国
现在我想把表table中对应的id号取出
然后对应加入到sheet2中去啊
使得sheet2中数据为
29023000 甲苯 朝鲜 4
29023000 甲苯 韩国 4
29023000 甲苯 日本 4
29023000 甲苯 台湾省 4
29023000 甲苯 新加坡 4
29053990 乙苯 奥地利 5
29053990 乙苯 澳大利亚 5
29053990 乙苯 巴西 5
29053990 乙苯 朝鲜 5
29053990 乙苯 德国 5
29053990 乙苯 法国 5
29053990 乙苯 韩国 5
用VBA该如何写啊??
id bh name
4 29023000 甲苯
5 29053990 其他二元醇
excel中sheet2中的数据是
29023000 甲苯 朝鲜
29023000 甲苯 韩国
29023000 甲苯 日本
29023000 甲苯 台湾省
29023000 甲苯 新加坡
29053990 乙苯 奥地利
29053990 乙苯 澳大利亚
29053990 乙苯 巴西
29053990 乙苯 朝鲜
29053990 乙苯 德国
29053990 乙苯 法国
29053990 乙苯 韩国
现在我想把表table中对应的id号取出
然后对应加入到sheet2中去啊
使得sheet2中数据为
29023000 甲苯 朝鲜 4
29023000 甲苯 韩国 4
29023000 甲苯 日本 4
29023000 甲苯 台湾省 4
29023000 甲苯 新加坡 4
29053990 乙苯 奥地利 5
29053990 乙苯 澳大利亚 5
29053990 乙苯 巴西 5
29053990 乙苯 朝鲜 5
29053990 乙苯 德国 5
29053990 乙苯 法国 5
29053990 乙苯 韩国 5
用VBA该如何写啊??
table中的字段应该是
id bh name
4 29023000 甲苯
5 29053990 乙苯
Dim cn As New ADODB.Connection, rs As New ADODB.Recordset
cn.CursorLocation = adUseClient
'具体的连接请自己改过来
cn.Open "Provider=SQLOLEDB.1;Password=;Persist Security Info=False;User ID=sa;Initial Catalog=Test;Data Source=ljx"
rs.Open "select distinct [id],bh from tb", cn, adOpenKeyset, adLockOptimistic
On Error GoTo UpdateErr While Not rs.EOF
cn.Execute ("update OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;hdr=yes;database=c:\book1.xls;','select * from [Sheet2$]') set [id]='" & rs("id") & "' where bh='" & rs("bh") & "'")
rs.MoveNext
Wend
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
Exit Sub
UpdateErr:
If rs.State <> adStateClosed Then rs.Close
If cn.State <> adStateClosed Then cn.Close
Set rs = Nothing
Set cn = Nothing
MsgBox Err.Description
End Sub
搞定了啊!还有就是昨天那个从excel里往数据库里导数据的时候
strSQL = "INSERT into ciq_main (tax_id,product,m_number,m_amount,outm_number,outm_amount,date_y,date_m,YYYYMM,unit,t_number,t_amount,outt_number,outt_amount,more,authority,createdtime) " & _
"SELECT *,'2006','1','200601','不详','','','','','有','3',substring(cast(getutcdate() as char),1,10) as createdtime FROM OPENDATASOURCE('Microsoft.Jet.OLEDB.4.0', 'Data Source=C:\abc.xls;Extended Properties=Excel 8.0')...[Sheet1$]"
老是说将数据类型varchar转化为numeric时出错!
该如何解决
数据库里的数据类型很多啊!