Dim APPAcs As New Access.Application
APPAcs.OpenCurrentDatabase ("access3.mdb")
Debug.Print APPAcs.CurrentProject.AllReports.Item(0).Name
APPAcs.DoCmd.OpenReport "学生", acViewDesign
Debug.Print APPAcs.Reports(0).Caption
Debug.Print APPAcs.Reports(0).Controls!bTitle.ControlType
Debug.Print APPAcs.Reports(0).Controls!bTitle.Caption
以上是我访问access的代码,在一般情况下按下“.”会出现对象可用的方法和属性,但在Controls!bTitle后面的“.”没有反应,但也能用。我看了office 的vba书Controls(index)也没有Caption属性。我想得到其中控件的位置(坐标)、及它所在区域(页眉、页脚、主数据区)。不知用什么属性?
在那能找到这方面的vba书籍

解决方案 »

  1.   

    以上是我访问access的代码,在一般情况下按下“.”会出现对象可用的方法和属性,但在Controls!bTitle后面的“.”没有反应,但也能用。我看了office 的vba书Controls(index)也没有Caption属性。我想得到其中控件的位置(坐标)、及它所在区域(页眉、页脚、主数据区)。不知用什么属性?
    ===============================
    关键是看你所指向的控件是否有这个属性,例如,如果你的Controls(1)指向的是一个textbox,那么你使用Controls(1).text来引用它的值是可以的,因为textbox有text属性。
    但如果你的Controls(1)是一个lable,那么如果你使用Controls(1).text就会出错了,因为label并没有text属性
    由于你在设计的时候,ide是不会知道你程序运行时使用Controls()方法所指向的控件是什么控件,就是说它根本不知道它将会有些什么属性,于是就干脆闭嘴不说了。
      

  2.   

    access 是不是没有表,查询等对象啊?
      

  3.   

    5555
    开始我也是这么想的
    但access没有录制宏的功能!!!!
    microsoft 太狠了,为啥不能像word里有那么全的对象呢,录制宏多好啊