会员登录 - 用户注册 - 网站地图 Office中国(office-cn.net),专业Office论坛
当前位置:主页 > 技巧 > Excel技巧 > 编程 > 正文

使用ADO获取外部数据

时间:2005-02-06 12:11 来源:Daily Dose of Excel 作者:admin 阅读:

翻译:tmtony(王宇虹) www.office-cn.net

一般使用 数据-》获取外部数据 或 vdookups来获取外部数据,但当数据量比较大,可直接使用ADO来获取外部数据。

代码如下:

Dim adoCn As ADODB.Connection
Dim adoRs As ADODB.Recordset
   
Function GetFields(sKey As String, lField As Long) As Variant
   
    Dim sCon As String, sSql As String
   
    '如果第一次调用创建记录集
    If adoCn Is Nothing Or adoRs Is Nothing Then
        sCon = "DSN=MS Access Database;" & _
            "DBQ=C:Program FilesMicrosoft Office 2000OfficeSamplesNorthwind.mdb;" & _
            "DefaultDir=C:Program FilesMicrosoft Office 2000OfficeSamples;" & _
            "DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;"
        sSql = "SELECT ProductID, ProductName, QuantityPerUnit, Products.UnitPrice " & _
            "FROM Products"
       
        Set adoCn = New ADODB.Connection
        adoCn.Open sCon
       
        Set adoRs = New ADODB.Recordset
        adoRs.CursorType = adOpenDynamic
        adoRs.CursorLocation = adUseClient
        adoRs.Open sSql, adoCn
    End If
   
    adoRs.MoveFirst
    adoRs.Find "ProductID=" & sKey
   
    If adoRs.EOF Or adoRs.BOF Then
        GetFields = "Not found"
    Else
        GetFields = adoRs.Fields(lField).Value
    End If
   
End Function

运行后的效果:

ADOUDF1

(责任编辑:admin)

顶一下
(0)
0%
踩一下
(0)
0%
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价: