如何将表单绑定到Microsoft Access中的SQL语句

时间:2014-05-16 13:30:28

标签: sql binding access-vba ms-access-2007 filtering

**修改

Hello Everyone我尝试在我的vba中包含一个SQL语句,以便我可以轻松地对数据进行排序和过滤。所以我已经找到了将SQL包含到我的VBA中的方法,但是我收到一条错误,上面写着“RunSQL操作需要一个SQL语句”但显然SQL语句在strSQL变量中。

Private Sub buttonNot_Click()


Dim strSQL As String

strSQL = "SELECT Table1.[FirstNam], Table1.[LastNam]" & _
"FROM Table1 " & _
"WHERE ((([FirstNam]) <> 'Jamie') AND (([LastNam]) <> 'Cartman'));"

DoCmd.RunSQL strSQL

Me.Filter = ""
Me.Filter = "FirstNam<>'Jamie' AND LastNam<>'Cartman'"

End Sub

3 个答案:

答案 0 :(得分:0)

me.recordsource = {SQL string}

确保在附加查询字符串后打开过滤器。

答案 1 :(得分:0)

您无法从DoCmd.RunSQL查询运行SELECT查询,该查询只能用于操作或数据定义查询(INSERT INTO,UPDATE,CREATE等)。

Microsoft Dev Center Docs on DoCmd.RunSQL(我知道,我收到了一个链接,对我感到羞耻):o

我真的很喜欢@ClassyBear的答案。该行代码相当于在设计视图中转到表单的属性表,并在数据下,更改记录源属性。在那里,您可以选择一个表/查询,也可以单击...并在查询设计器中创建一个。

答案 2 :(得分:0)

Private Sub buttonNot_Click()


Dim strSQL As String

strSQL = "SELECT Table1.[FirstNam], Table1.[LastNam]" & _
"FROM Table1 " & _
"WHERE ((([FirstNam]) <> 'Jamie') AND (([LastNam]) <> 'Cartman'));"


Me.RecordSource = strSQL

'DoCmd.RunSQL strSQL

'Me.Filter = ""
'Me.Filter = "FirstNam<>'Jamie' AND LastNam<>'Cartman'"

End Sub