将参数从access传递到sql-server

时间:2010-10-20 20:34:58

标签: sql sql-server ms-access vba

重播问题:

我很抱歉不清楚。我有一个文本框和一个表单按钮。单击该按钮时,它将运行此保存的访问查询:

select * from sqlservertable where field=form!textbox.value

我有一个访问前端和sql server后端。

此查询无效。它不像我传递这个参数form!textbox.text。是否有另一种传递文本框值的方法?

2 个答案:

答案 0 :(得分:2)

Access控件的.Text属性仅适用于该控件具有焦点的内容。

其次,在Access中,您将表单称为Forms集合的成员,即打开表单的集合。

所以,你使用:

  Forms!FormName!ControlName

如果不将Forms集合指定为表单的容器对象,Access表达式服务将不知道在何处找到该控件。

由于.Value是控件的默认属性,因此您无需指定它,但如果您想要非常挑剔且明确并且在此上下文中键入更多字符而没有实际好处,则可以使用:< / p>

  Forms!FormName!ControlName.Value

但是在这种情况下根本不会有任何不同的行为(唯一的情况是,如果你试图在将控制作为子程序的参数传递之前强制评估控件,在这种情况下没有。值可能最终传递一个控件引用而不是值,这可能是坏的,也可能没问题。

答案 1 :(得分:1)

您是否尝试使用以下命令在表单上设置RecordSource属性(

Form.RecordSource = "SELECT ... FROM ... WHERE [Occurrence Date] BETWEEN " & Text1 & " AND " & Text2