请教!!
我在学该网站http://matrix.hongen.com/forum/bin/frame.pl?name=guest&userkey=187-9045334-6278683 编程开发栏上一文“在VB下实现Access2000数据库编程”中的操作时,当生成工程时系统总提示“子程序或函数未定义”请大侠帮忙看看:1.他写的代码错在哪?2.您能不能给我提供类似“在VB下实现Access2000数据库编程”学习的网址?我想把我建的access数据库在我生成的工程中打开啊!!!谢谢!!他的代码如下:
Private Sub Adodc1_Click()End SubPrivate Sub CommonDialog1_Click()End SubPrivate Sub Combo1_Change()
  '建立ADO Data控件与目标数据库的联接,并选择一个数据表,使其在DataGrid控件中显示
数据
  '在这里用了Microsoft.Jet.OLEDB.4.0。这也是实现Access2000数据库编程的关键地方。  Adodc1.RecordSource = "select * from " + Form1.Combo1.Text ' Form1.Combo1.Text
为表名
  Adodc1.Caption = Form1.CommonDialog1.FileName
  Adodc1.Refresh
  Me.DataGrid1.RefreshEnd SubPrivate Sub Command1_Click()
Dim strOpenFileName As String
    On Error Resume Next      '错误处理
       '初始化文件名
    Form1.CommonDialog1.FileName = ""
       '显示通用对话框
    Form1.CommonDialog1.ShowOpen
       '用户选择Cancel则不做任何工作
    If Err <> 32755 Then
        '提取文件名
        strOpenFileName = Form1.CommonDialog1.FileName
        If strOpenFileName <> "" Then
          '提取数据表名,显示在Combo1控件中
          Dim db As Database
          Dim td As TableDef
          Set db = OpenDatabase(strOpenFileName)
          Combo1.Clear
          For Each td In db.TableDefs
           If Left$(td.Name, 4) <> "MSys" Then   '不允许使用系统表
           Combo1.AddItem (td.Name)
           End If
          Next td
        db.Close
        End If
    End IfEnd SubPrivate Sub Command2_Click()
 Dim GetFileName As String
    Dim strDefaultName As String
    '获得文件名称,并且调用保存过程
    On Error Resume Next
    '显示一个“另存为”对话框并且返回文件名
    Form1.CommonDialog1.FileName = strDefaultName
    Form1.CommonDialog1.ShowSave
    If Err <> 32755 Then    '用户选择取消
        GetFileName = Form1.CommonDialog1.FileName
    Else
        Exit Sub
    End If
    '新建数据库与数据表
    Dim db As Database
    Dim tb As TableDef
    Set db = DBEngine.CreateDatabase(GetFileName, dbLangGeneral, dbEncrypt)
    Set tb = db.CreateTableDef("abc")     ' "abc"为表名
    With tb
      .Fields.Append .CreateField("aa", dbDouble) '字段类型(以此为例)
      .Fields.Append .CreateField("bb", dbText)
    End With '
    db.TableDefs.Append tb
    '在建立数据表时,在表中加入一些数据。也可用此方法追加数据记录。(这里只作为一个例子,可略去)
     Dim rc As Recordset
     Set rc = db.OpenRecordset("abc", dbOpenDynaset)
     Dim d As Double
     Dim s As String
     d = 123
     s = "abc"
     With rc
      .AddNew
      !aa = d
      !bb = s
      .Update
      .Close
     End With
     db.Close
    '联接数据库,并显示新建的数据库内容。
    Adodc1.RecordSource = "select * from " + "abc"
    Adodc1.Caption = Form1.CommonDialog1.FileName
    Adodc1.Refresh
    Me.DataGrid1.RefreshEnd SubPrivate Sub Command3_Click()
 Dim db As Database
   Dim rc As Recordset
   Dim datad As Double
   Dim datas As String
   Set db = OpenDatabase(Form1.CommonDialog1.FileName)
   Set rc = db.OpenRecordset("abc", dbOpenDynaset)
   ' 由用户输入数据,注意数据类型。追加记录也可用ADO控件,方法类同于DATA控件(可查看帮助或一些参考书)。
   datad = Trim(InputBox("Enter a double:"))
   datas = Trim(InputBox("Enter a string:"))
   With rc
      .AddNew
      !aa = datad
      !bb = datas
      .Update
   End With
   rc.Close
   db.Close
   Adodc1.RecordSource = "select * from " + "abc"                 '  abc为表名
   Adodc1.Caption = Form1.CommonDialog1.FileName
   Adodc1.Refresh
   Me.DataGrid1.RefreshEnd SubPrivate Sub Command4_Click()
Unload Me
End Sub

解决方案 »

  1.   

    Private Sub Combo1_Change()
      '建立ADO Data控件与目标数据库的联接,并选择一个数据表,使其在DataGrid控件中显示
    数据(在此处)
      

  2.   


      '建立ADO Data控件与目标数据库的联接,并选择一个数据表,使其在DataGrid控件中显示
    '数据(在此处)  ***把这句话注释掉。。或干脆删除
      

  3.   

    MSTOP(陈建华(东莞立晨企资)) ,感谢你,愿你的公司越办越好!!!