求教VBA连接SQL数据库的详细方法及解释。

求教VBA连接SQL数据库的详细方法及解释。,第1张

1、基本上所有的数据都有对应的写法(有些数据库是要装连接驱动才能连),比如"Provider=Microsoft.Jet.OLEDB.4.0(用来连接access)或者provider =MSDASQL,而且每种数据库也可能会有多种连接方法(Provider意即数据库引擎),常见的有下面这些

Provider 代码 Provider

ADSDSOObject Active Directory Services

Microsoft.Jet.OLEDB.4.0 Microsoft Jet databases

MSDAIPP.DSO.1 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、参见http://www.w3school.com.cn/ado/met_conn_open.asp#connectoptionenum

3、这样就可以对book1.xlsx中的数据使用sql语法进行 *** 作

4、当你需要返回结果的,比如说你要查询数据库符合某个条件的有几条记录,或者说取出数据库中符合条件的一批记录的时候就要用数据集,单一的conn.execute只能执行 *** 作,不能返回数据,必须配合结果集使用才可取回数据。

如下:自己改一下:

Sub aa()

   Dim cn As New ADODB.Connection

   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=sqloledbDatabase=testUid=saPwd=30687724datasource=127.0.0.1,1433"

   cn.Open strcn

   rs.Open Str1, cn

Dim i

For i = 1 Tors.Fields.Count

Cells(1, i) = rs.Fields(i- 1).Name’FIELDS是从0开始的,所以这里要-1

 

 

 Range("a2").CopyFromRecordset rs

Next i


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/10869810.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-11
下一篇2023-05-11

发表评论

登录后才能评论

评论列表(0条)

    保存