抱歉,如果这是一个菜鸟问题,但我有幸支持一个古老的遗留 Access 2000 .adp 应用程序,这是几年前不再存在的人写得很糟糕,当时我自己对 Access 或 VB 几乎没有经验: )
我已经用 Access 2000(它是一个 Access 2000 项目)设置了一个 WinXP 开发机器来做一些支持工作。有一个预先存在的代码行应该打印一个报告,它使用 6 个参数调用 DoCmd.OpenReport:
DoCmd.OpenReport ReportName, acViewPreview, , "orderId = 1234", , Printtype
当我运行它时,我得到一个编译错误:“参数数量错误或属性分配无效”。
所以我在 DoCmd.OpenReport 上使用了“intellisense”,我的访问 VB 代码编辑器告诉我它只需要 4 个参数,而不是 6 个:ReportName、acViewNormal、FilterName 和 WhereCondition。当我转到命令的对象浏览器时,定义是:
Sub OpenReport(ReportName, [View As AcView = acViewNormal], [FilterName], [WhereCondition]) Access.DoCmd 的成员(即 4 个参数)
查看网络上的各种帖子,有些人似乎传递了 4 个 args,有些人传递了 6 个。什么给了?我猜有不同版本的 Access 代码库,我猜错了。但我不知道从哪里开始解决这个问题。任何人都知道 Access 并且可以帮助我吗?