高端厨卫品牌美的:请VB高手给看一下这个程序是怎么回事

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 05:23:38
我最近学习怎么打印数据库文件,在网上找一个程序,用处是列出指定mdb文件中的所有表名,用户可以选择其中一个进行打印,现在把代码贴出来,想请高手给解答几个问题。
'添加对ms access 9.0 object library引用
Dim MsAccess As Access.Application
Dim a As Access.Report

Private Sub cmdprint_Click()

MsAccess.DoCmd.openreport Combo1.Text, acViewNormal
MsgBox "打印完毕"
MsAccess.closecurrentdatabase

End Sub

Private Sub cmdreport_Click()

MsAccess.closecurrentdatabase
MsAccess.opencurrentdatabase (Text1.Text)
Dim rpt As Object
For Each rpt In MsAccess.current.project.allreports
Combo1.AddItem (rpt.Name)
Next rpt
cmdprint.Enabled = True

End Sub

Private Sub Form_Load()
Set MsAccess = New Access.Application
MsAccess.opencurrentdatabase (Text1.Text)
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set MsAccess = Nothing
End Sub

这里面提到的“添加对ms access 9.0 object library引用”,我不知道怎么添加,请告诉我详细的添加操作步骤,还有我试着执行了一下,可能是对ms access 9.0 object library没有引用的缘故,报错,写的是MsAccess As Access.Application用户定义类型非定义,后面就运行不下去了
还请能把这个程序给详细讲解一下,谢谢了!!!
我按照ef_ef的办法添加了access引用,我的机器是xp+office2003,所以是ms access 11.0 object library
执行之后,不知道为什么调用了access程序问是否打开我指定的mdb文件,然后才出现程序界面,界面上有一个用于输入mdb位置的text1,一个用于选择某个表的combo1,还有2个用于列举和打印表的按钮,当我点击列举报表按钮,出现报错,定位在For Each rpt In MsAccess.current.project.allreports的current上,说是未找到方法和数据成员,怎么回事呢?

工程->添加引用->ms access9.0
可能是这个,好久不用了,想不起来了,反正就是这个意思,就和引用Ado一样的
access 9.0 应该是office 的某一个版本,可能你的机器上并没有安装这个版本的office 所以你可能引用不了,但应该能看到其它版本7.0 8.0 之类的你自已看一下吧.

text1里应该填写的是要打开的数据库名字及完整路径,试下填写正确后会不会出现同样的错误啊