我正在编写VBA代码来更改Access中报告的记录来源。但是,我将更改它的大部分来源都会留下一些没有控制源的列,因此它会一直提示我输入这些字段的参数。是否可以使用textBoxName.ControlSource = "nameofsource"
,textBoxName.Value = "0"
或其他可能来解决这个问题?
我已经尝试过使用上述陈述,但他们要么不做我正在寻找的事情,要么我做错了什么。我成功设置了一个文本框的控件源,但它仍然询问我一个参数并显示该输入,即使在属性中它显示了我设置为其控制源的源。
这是我一直在搞乱的代码
Select Case RAMsize
Case Is = 7
DoCmd.OpenReport "rRAM10x10", acViewReport
Reports!rRAM10x10.RecordSource = "tRAM7x7"
Reports!rRAM10x10!tBox8.ControlSource = "blank"
始终感谢任何帮助
答案 0 :(得分:0)
可能顺序相反:
Reports!rRAM10x10!tBox8.ControlSource = ""
Reports!rRAM10x10.RecordSource = "tRAM7x7"
答案 1 :(得分:0)
通过将.ControlSource
添加到OpenArgs
语句并将该字符串用作DoCmd.Open
语句的条件来管理,以了解如何使If
语句生效
Select Case RAMsize
Case Is = 7
DoCmd.OpenReport "rRAM10x10", acViewReport, , , , "Dim7"
If Reports!rRAM10x10.OpenArgs = "Dim7" Then
Reports!rRAM10x10!tBox8.ControlSource = "blank"
Reports!rRAM10x10!tBox9.ControlSource = "blank"
Reports!rRAM10x10!tBox10.ControlSource = "blank"
End If
'Changes the report properties to read the appropriate table for a 7x7 RAM
Reports!rRAM10x10.RecordSource = "tRAM7x7"
这成功摆脱了参数提示