为什么在vb6 中 不支持vf 6呢?

解决方案 »

  1.   

    因为VF6的扩展名为.dbf,vb6为 .mdb
      

  2.   

    VB中可以用VFP的.dbf文件的。
    用ADO访问foxpro的自由表、foxpro数据库中的表的及早期Dbase格式的表的记录的示例:
    你首先要在VB菜单中:
    “工程”-->“引用”-->“Microsoft AxtiveX Data Objects 2.X Library”
    2.x代表ADO的版本,有2.1,2.5,2.6等
    "工程"-->“部件”-->“MicroSoft DataGrid Control 6.0”'author:chenyu数据类型:自由表
    示例:Private Sub cmddisp_click()
      Dim cn As New ADODB.Connection
      Dim rs As New ADODB.Recordset
      Dim cnstr As String
      cnstr = "Driver={Microsoft Visual FoxPro Driver};" & _
               "SourceType=DBF;" & _
               "SourceDB=" & app.path & "\data" & _
               "Exclusive=No"
      cn.Open cnstr
      rs.CursorLocation = adUseClient
      rs.Open "select * from XXX.DBF", cn, adOpenKeyset, adLockBatchOptimistic
      Set DataGrid1.DataSource = rs
      DataGrid1.Refresh
      rs.close
      set rs=nothing
    End Sub以上示例程序的作用是将XXX.dbf表中的数据显示在datagrid1控件中。数据类型:数据库
    示例:Private Sub cmddisp_click()
      Dim cn As New ADODB.Connection
      Dim rs As New ADODB.Recordset
      Dim cnstr As String
      cnstr ="Driver={Microsoft Visual FoxPro Driver};" & _
               "SourceType=DBC;" & _
               "SourceDB=" & app.path & "\data\yourdbname.dbc;" & _
               "Exclusive=No" 
      cn.Open cnstr
      rs.CursorLocation = adUseClient
      rs.Open "select * from XXX.DBF", cn, adOpenKeyset, adLockBatchOptimistic
      Set DataGrid1.DataSource = rs
      DataGrid1.Refresh
      rs.close
      set rs=nothing
    End Sub