
cn.Open strCn
strSQL = "Select 表名.姓名,表名.性别 from 表名 where 表名.条件列名=条件"
rs.Open strSQL, cn, 1, 3
Sheet1.Range("A1", "Z65000").Clear
Sheet1.Range("A1").CopyFromRecordset rs
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing
sub test()Set cnn = CreateObject("ADODB.Connection")
Set rs = CreateObject("Adodb.Recordset")strCn= "Provider=sqloledbServer=R9HDET7Database=dbnameUid=usernamePwd=password"
cnn.Open strCn
SQL = ""
cnn.Open strCn '与数据库建立连接,如果成功,返回连接对象cn
rs.Open SQL , cn '执行strSQL所含的SQL命令,结果保存在rs记录集对象中
cnn.Close
Set cnn = Nothing
end sub
请参考
连接数据库后,通过写SQL语句实现增删改查
用VBA将EXCEL内容一次性导入SQL'工具->引用->Microsoft ActiveX Date Object 2.0
Public Sub SaveData()
Dim Cnn As ADODB.Connection
Dim SQL As String
Set Cnn = New ADODB.Connection
'建立于数据库的链接
'这里根据你的实际值修改ConnectionString = "Driver=SQL ServerServer=<a href="https://www.baidu.com/s?wd=%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%90%8D%E7%A7%B0&tn=44039180_cpr&fenlei=mv6quAkxTZn0IZRqIHckPjm4nH00T1d9uHcvryRLuW99uHb1uHK90ZwV5Hcvrjm3rH6sPfKWUMw85HfYnjn4nH6sgvPsT6KdThsqpZwYTjCEQLGCpyw9Uz4Bmy-bIi4WUvYETgN-TLwGUv3EnHnvP1RdPjTsn1R3P1Dkn1DLrf" target="_blank" class="baidu-highlight">服务器名称</a>Database=数据库Uid=账号Pwd=密码"
With Cnn
.Provider = "SQLOLEDB"
.ConnectionString = "Driver=SQL ServerServer=mxb\sqlexpressDatabase=testUid=saPwd=xiaoma"
.Open
End With
'保存数据
r = Range("A65534").End(xlUp).Row
For i = 1 To r
'拼sql
SQL = "insert into T values('" &Cells(i, 1) &"','" &Cells(i, 2) &"'," &Cells(i, 3) &")"
Cnn.Execute SQL
Next
Cnn.Close
Set Cnn = Nothing
MsgBox "保存成功"
End Sub
上面是通过VBA,插入数据到数据库,下面是从SQL查询Excel,然后直接insert into到数据库,也可以用数据库导入向导
--查询excel2007
select * from OpenDataSource('Microsoft.ACE.OLEDB.12.0', 'Data Source=D:\2007.xlsxExtended Properties="Excel 12.0HDR=YesIMEX=1"')...[Sheet1$]
--查询excel2003
select * from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\2003.xls"Extended properties=Excel 5.0')...[Sheet1$]
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)