connConnectionString = "Driver={sql server};server=SVCTAG-JH5JL二X;uid=lims;pwd=;database=lims" connOpe
说不清楚你要用vba连接数据库做什么,我知道 你可以通过office的 access 用 新建一个ODBC 数据源的形式 连接Sql数据库……可以把其中的表链接到access中……
换一个思路,曲线一下吧……
呵呵,以前就帮人家解决过这个,请看下面的代码,有注释的!
Private Sub CommandButton5_Click()
Dim Conn As New ADODBConnection '定义ADODB连接对象
Dim ConnStr As String '定义连接字符串
Dim xiao As String
xiao = ComDataText
'对于SQL 2008,如果以IP方式访问服务器,必须要启动SQL Server Browser服务,如果是Express版本,要以“IP(计算机名)\实例名”方式访问
ConnStr = txtDataText
Dim Records As New ADODBRecordset '定义ADODB对象的记录集
Dim Sheet As Worksheet '定义工作表
Set Sheet = ThisWorkbookWorksheets("Sheet2") '给变量Sheet赋值,注意:是工作簿中索引为1的那个表(通常一个新的工作簿Sheet1的索引为1)
'SheetName = "Data" '把Sheet名称改为Data
SheetCellsClear '清空表中原有的数据
'连接状态是打开就不在进行Open *** 作
ConnOpen ConnStr
Dim SQLStr As String '要执行的SQL语句
SQLStr = "select from Shift_Code where Club='" + xiao + "'" '可以执行更复杂的SQL语句
RecordsOpen SQLStr, Conn, adOpenStatic, adLockBatchOptimistic '读取SQL查询结果到Records记录集
'RecordsOpen
Dim i, j, TotalRows, TotalColumns As Integer
j = 0
TotalRows = RecordsRecordCount
TotalColumns = RecordsFieldsCount
'下面的循环把表头(即列名)写到Excel表的第一行
For i = 0 To TotalColumns - 1
Sheet2Cells(1, i + 1) = RecordsFields(i)Name
Next
'下面的循环把查询结果写到Excel表中
Do While Not RecordsEOF
For i = 0 To TotalColumns - 1
Sheet2Cells(j + 2, i + 1) = RecordsFields(i)Value
Next
RecordsMoveNext
j = j + 1
Loop
RecordsClose '关闭记录集
ConnClose '关闭连接
Set Records = Nothing '清空对象
Set Conn = Nothing '清空对象
End Sub
有什么不懂的话Hi我!
以上就是关于如何用vba连接数据库全部的内容,包括:如何用vba连接数据库、VBA 怎么连接数据库啊 SQL2000的啊,急急急,先谢了、Excel VBA 连接SQL数据库后的 *** 作。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)