1:use jet4.0
2:论坛FAQ里面有
3:create tablename (aa text(20))
   好象是这样的
4:搜索论坛帖子
5:同上

解决方案 »

  1.   

    建议使用DAO进行数据定义,采用ADO进行数据访问
    下面是对2、4问题的示例
    --------------------------------------------------------------
    Option Explicit
    Dim i As Integer
    Dim wk As Workspace
    Dim db As Database
    'Dim db2
    Dim tb As TableDefs
    Private Sub Command1_Click()
    On Error GoTo eh:Set db = OpenDatabase(App.Path + "\dbOld.mdb")
    Open App.Path & "\ErrTypeLog.txt" For Output As #3For i = 0 To db.TableDefs.Count - 1
        Combo1.AddItem db.TableDefs(i).Name
    Next i
    Exit Sub
    eh:
    MsgBox "please put the  *.mdb file at app.path ,change file to :dbold.mdb"End Sub
      

  2.   


    用 DAO 或 ADO 正确访问 Access 2000 当你使用 DAO 访问 Access 2000 时,是否会出現以下的错误信息?"Run-time error 3343 Unrecognized Database Format XXX"这个错误信息有二个解決的方式:1、如果你是使用 Data Control 来连結 Access 2000 的资料库时:你必須在設定 Data Control 的 Source 前先加上一行
    Set Data1.Recordset = rsDAO36 'rsDAO36 is a DAO 3.62、如果你是引用「Microsoft DAO 3.51 Object Library」来访问 Access 2000 的资料库时:請加入【工程】【部件】「Microsoft DAO 3.6 Object Library」
    如果你是使用 ADO 访问 Access 2000以往在 VB6 中利用 ADO OLEDB Provider 3.51 使用 Access 97 資料库,程序都能正常的執行。但是自从將 Access 97 升級到 Access 2000 之后,就无法順利的使用 Access 2000 資料库了,不知道您是否也曾遇到这样的情形呢?其实这种事情在 Microsoft 已经是思空見慣的事情了!任何软件只要有了新的版本,就会有和旧版本不相容的问题产生!而這一次是因为 Access2000 己经使用 Jet 4.0 Engine,所以解決方法如下:
    在您的 ADO 的 Connect String 中的 Provider 必須修改为:"PROVIDER=Microsoft,Jet.OLEDB.4.0"
    用代码创建数据库,表,字段
    Option Explicit
    Private db As Database
    Private td As TableDef
    Private f As FieldPrivate Sub Command1_Click()
    Set db = DBEngine.CreateDatabase("d:\01.mdb", dbLangGeneral)
    Set td = New TableDefSet f = td.CreateField("NAME", dbText, 20)
    td.Fields.Append fSet f = td.CreateField("ID", dbText, 5)
    td.Fields.Append fSet f = td.CreateField("DEPARTMENTP", dbText, 60)
    td.Fields.Append f
    td.Name = "class"
    db.TableDefs.Append tdSet db = NothingEnd Sub在列表框中显示该字段名
    你可以设一个变量,取得"该字段名",再添加到列表框中(加上循环),列表框的操作你可以看VB的帮助
    列出MDB档当中所有table的名称_作者:[email protected]==> 在 [email protected] (mmhbbs) 的文章中提到:
    > ※ 引述《[email protected] (Table Man)》之铭言:
    > : 请问VB5和ADO高手
    > : 若VB程式使用ActiveX Data Objects,透过ODBC连结Access MDB资料库
    > : 有任何语法或命令,可以列出MDB档当中所有table的名称吗?
    > : 谢谢
    > 看线上说明!
    谢谢...我在NT option pack 的文件找到了
    用openschemaDim cnn1 As ADODB.Connection
    Dim rstSchema As ADODB.Recordset
    Dim strCnn As String
    Set cnn1 = New ADODB.Connection
    strCnn = "driver={SQL Server};server=srv;" & _
    "uid=sa;pwd=;database=pubs"
    cnn1.Open strCnn
    Set rstSchema = cnn1.OpenSchema(adSchemaTables)
    Do Until rstSchema.EOF
    Debug.Print "Table name: " & _
    rstSchema!TABLE_NAME & vbCr & _
    "Table type: " & rstSchema!TABLE_TYPE & vbCr 
    rstSchema.MoveNext Loop
    rstSchema.Close
    cnn1.Close
      

  3.   

    多谢各位,我的问题一定解决,尤其多谢VB FAN 你说的create  tablename  (aa  text(20))的确没错, 多谢CPU“ 請加入【工程】【部件】「Microsoft  DAO  3.6  Object  ”Library」”加入之后DAO就可以识别ACCESS2000的数据格式了,只是DAT控件还不识别还要通过ODBC来访问,不过无所谓,问题总算解决了。多谢CSDNCAI“建议使用DAO进行数据定义,采用ADO进行数据访问”你的建议不错我也曾试图这样,可是DAO不识别ACCESS2000的数据式,不过现在总算决了,再次多谢各位,祝大家新年快乐,万事如意,心想事成。