请教!!
我在学该网站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
我在学该网站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
解决方案 »
- VBRezQ如何反编译出源代码
- 送分100分:在SQL的INSERT INTO语句中引用的多个控件TEXT为空时,如何编写相应的SQL语句,以防止SQL语句执行失败。
- ShockwaveFlash2.WMode = "Transparent"非要手动控制吗。
- 请大家说说这个用VB来实现麻烦吗?用什么数据库好.在线等~~~~~~~~~~
- 【CSDN】【非常容易的几个小问题,可惜刚做项目,不清楚如何实现,请赐教】
- 如何开发一个Toobar、菜单或一个按钮加载到IE上去?
- 打包问题,急!!!!!!!!!!!!!!!
- 为什么VB这个扶不起的阿斗还有这么多人用呢?迷惑中...
- vb打包问题!!!!!!!!!!!
- 各位,如何拖动窗体让其移动?位置产生变化?frmsplash窗体!(用拖放代码实现)
- 请教!!
- 用rdoConnection连接ODBC时可不可以选择数据源类型(系统、用户)
'建立ADO Data控件与目标数据库的联接,并选择一个数据表,使其在DataGrid控件中显示
数据(在此处)