ACCESS 2010 VBA操作 Viaual Foxpro数据库-Big Young
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


ACCESS 2010 VBA操作 Viaual Foxpro数据库

发表时间:2015/4/1 20:32:43 评论(3) 浏览(5552)  评论 | 加入收藏 | 复制
   
摘 要:简要说明了如何用VBA来操作Visual Foxpro的数据库表。
正 文:

一、下载并安装Microsoft OLE DB Provider for Visual FoxPro 9.0

        下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=14839

二、确认VFP数据表的类型

    VFP数据表有库表和自由表两种,不同的类型其连接方式不同。

    数据库表的连接串为:Provider=vfpoledb;Data Source=C:\MyDbFolder\MyDbContainer.dbc;
Collating Sequence
=machine;

    自由表的连接串为:Provider=vfpoledb;Data Source=C:\MyDataDirectory\MyTable.dbf;
Collating Sequence
=machine;

三、通过了ADO对象库访问VFP

Sub 操作VFP表()
    'Define the OLE DB connection string.
    strConnectionString = "Provider=vfpoledb;Data Source=D:\temp\库存.DBF;Collating Sequence=machine;"
   
    'Instantiate the Connection object and open a database connection.
    Set cnn = CreateObject("ADODB.Connection")
    cnn.Open strConnectionString
   
    'Define SQL Select statement.
    strSQL = "Delete FROM 库存.DBF Where  A='产品 ID';"
   
    'Use the Execute method to issue a SQL query to database.
    cnn.Execute strSQL, , AdCmdTable + adExecuteNoRecords

End Sub

 

Public Sub 查询VFP表()
    Dim strConnectionString As String
    Dim strSQL As String
    Dim cnn As Object
    Dim rst As Object
   
    '建立与数据源的连接
    strConnectionString = "Provider=vfpoledb;Data Source=D:\temp\库存.DBF;Collating Sequence=machine;"
    Set cnn = CreateObject("ADODB.Connection")
    cnn.Open strConnectionString
   
    '实例化 Recordset 对象
    Set rst = CreateObject("ADODB.Recordset")
   
    '用 Open 方法打开一个记录集并用 Connection 对象建立连接
    strSQL = "Select * FROM 库存.DBF;"
    rst.Open strSQL, cnn
   
    'rst.MoveFirst
    Dim i As Long
'    i = rst.Fields.Count
'    Debug.Print i
    '用 MoveNext 方法循环访问整个记录集并显示结果
    Do Until rst.EOF
        Debug.Print rst.Fields(0).Value & "  " & rst.Fields(1).Value & "  " & rst.Fields(2).Value & "  " & rst.Fields(3).Value & "  " & _
          rst.Fields(4).Value & "  " & rst.Fields(5).Value & "  " & rst.Fields(6).Value & "  " & rst.Fields(7).Value & "  " & _
          rst.Fields(8).Value & "  " & rst.Fields(9).Value & "  " & rst.Fields(10).Value & "  " & rst.Fields(11).Value & "  " & _
          rst.Fields(12).Value & "  " & rst.Fields(13).Value & "  " & rst.Fields(14).Value
     rst.MoveNext
   Loop

    Set rst = Nothing
    Set cnn = Nothing
End Sub

 


Access软件网交流QQ群(群号:198465573)
 
 相关文章
仿照FOXPRO数据表原理,根据规范化的结构表,生成数据表  【AskHeart  2007/10/8】
【PDF教程】ADO应用代码(精)  【Access  2012/8/16】
轻松学用ADO编程(PDF文档/电子书)  【周芳  2012/12/15】
ADO、DAO、RDO、ODBC、OLEDB、JDBC、BDE、数...  【周芳(转)  2014/2/10】
ADO及其重要性  【小赵  2014/6/19】
常见问答
技术分类
相关资源
文章搜索
关于作者

Big Young

文章分类

文章存档

友情链接