我需要从报告详细信息部分的文本框中获取值,这将为我提供多个值。我需要将每个值都放到VB中进行一些计算......我可以从带有ChildID = Forms的表单中提取一个值!FRM_Child!ChildID.Value,但是当我把它放入
Private Sub Report_Open(Cancel As Integer)
Dim ChildID as Integer
ChildID = Reports!RPT_Due_Date!ChildID.Value
End Sub
它崩溃并说“运行时错误'2424':您输入的表达式具有Microsoft Access无法找到的字段,控件或属性名称。” 我检查并仔细检查了名字。我想的是,不知何故,因为它在具有多个值的详细信息部分中崩溃了。有什么想法吗?
ChildID Last_Asmt_Type Last_Asmt_Date Next_Asmt_Type Next_Asmt_Date
1 Initial Evaluation 1/5/15 Periodic Review 5/5/15
2 Periodic Review 2/5/15 Annual Review 6/1/15
3 Annual Review 3/5/15 Periodic Review 7/1/15
我想要做的是获取Last_Asmt_Type,然后使用if / then规则选择Next_Asmt_Type,即如果Last_Asmt_Type是Periodic,那么Next_Asmt_Type是年度....
如何使用查找值执行此操作?
答案 0 :(得分:0)
在Report_Open()
中,文本框作为控件存在,但它还没有值
您的代码可以在Report_Load()
中使用,但正如您所知,这将毫无意义,因为您只能得到第一个值。
如果要读取所有值,请不要尝试从报告文本框中读取它们,在报告的数据源上打开记录集。像这样:
Dim RS As Recordset
Set RS = CurrentDb.OpenRecordset(Me.RecordSource)
Do While Not RS.EOF
Debug.Print RS!MMI
RS.MoveNext
Loop
RS.Close
但:
最有可能的是,有一种完全不同的,更好的方式来做你想要的。你在做什么样的计算?