鉴于以下设置,您如何为查询提供参数?:
如果FormA的控件与QueryA的参数同名,这通常有效。例外情况是表单加载时,Access会提示用户输入QueryA的参数。我试图通过在设计视图中保留SubformA的SourceObject空白并在FormA的Form_Load事件中定义SourceObject来解决这个问题。我正在设置FormA控件的值,然后设置SubformA的SourceObject。但是,Access仍然会提示输入参数。我的下一个想法是将QueryA作为QueryDef引用并定义QueryDef的参数,但似乎没有办法将QueryDef指定为SubformA的SourceObject。有关如何获得不提示用户输入表单参数的目标的任何想法?
答案 0 :(得分:1)
您是否已将控件定义为子窗体的Recordsource中的参数?我不确定它是否会工作,因为我认为子表单在主表单之前加载,并且它们在加载后第二次被重新获得。
我建议在子窗体中有一个空记录源,并在应用过滤器时设置Recordsource SQL。我不会定义任何参数,我根本不会在Recordsource SQL中使用表单控件。
如果你对SQL注入感到担心,并认为你必须使用参数,可能你的担忧被夸大了,特别是如果没有一个过滤器控件允许自由文本。