
1、基本上所有的数据库都有对应的写法(有些数据库是要装连接驱动才能连),比如"Provider=MicrosoftJetOLEDB40(用来连接access)或者provider =MSDASQL,而且每种数据库也可能会有多种连接方法(Provider意即数据库引擎),常见的有下面这些
Provider 代码 Provider
ADSDSOObject Active Directory Services
MicrosoftJetOLEDB40 Microsoft Jet databases
MSDAIPPDSO1 Microsoft Internet Publishing
MSDAORA Oracle databases
MSDAOSP Simple text files
MSDASQL Microsoft OLE DB provider for ODBC
MSDataShape Microsoft Data Shape
MSPersist Locally saved files
SQLOLEDB Microsoft SQL Server
2、参见>
connConnectionString = "Driver={sql server};server=SVCTAG-JH5JL二X;uid=lims;pwd=;database=lims" connOpe
代码如下:有问题,发百度消息给我。
在Microsoft visual basic中,工具-引用 Microsoft ActiveX Data Objects 2选一个高版本的
Dim conn As New ADODBConnection
connStr = "Driver={SQL Server};DataBase=test;Server=(local);UID=sa;PWD=123"
connOpen connStr '连接数据库
Dim rs As New Recordset
sql = "select from a" '查看表a
rsOpen sql, conn, 3, 3
Do While Not rsEOF '循环表a的内容
MsgBox (rs("field1")) '显示表中field1字段内容
rsMoveNext
Loop
'connStr = "Driver={SQL Server};DataBase=test;Server=(local);UID=sa;PWD=123"
'test是数据库名
'(local)是服务器名或IP地址,可以:19216811,可以是:>
方法如下:
假设数据库均为Access文件:
ThisWorkbookPath & "\数据库1accdb"
ThisWorkbookPath & "\数据库2accdb"
cnnOpen "Provider=MicrosoftACEOLEDB120;Data Source=" & ThisWorkbookPath & "\数据库1accdb"
对于非连接数据库数据库2,数据表前面需要加上数据库全名:
[MS Access;pwd=密码;Database=" & ThisWorkbookPath & "\数据库2accdb;]数据表名
如下:自己改一下:
Sub aa()Dim cn As New ADODBConnection
Dim rs As New Recordset
Str1 = "select 区域,内=SUM(case when 新替换区内外='替换区内' then 1 else 0 end ),外=SUM(case when 新替换区内外='替换区外' then 1 else 0 end ) from 宏站 group by 区域"
strcn = "Provider=sqloledb;Database=test;Uid=sa;Pwd=30687724;datasource=127001,1433;"
cnOpen strcn
rsOpen Str1, cn
Dim i
For i = 1 TorsFieldsCount
Cells(1, i) = rsFields(i- 1)Name’FIELDS是从0开始的,所以这里要-1
Range("a2")CopyFromRecordset rs
Next i
以上就是关于求教VBA连接SQL数据库的详细方法及解释。全部的内容,包括:求教VBA连接SQL数据库的详细方法及解释。、在excel中用vba实现与sql数据库的数据比较、如何用vba连接数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)