如何使用QueryDEF从通过查询中获取数据



我有一个SQL通过查询,该查询返回了我的表,该表基于"来自... where ='variable'"结构的变量。我想在VBA代码上使用该通行证查询,并从表单中获取变量。在简历中:我将在表单上输入变量,在通过查询中运行VBA代码,并将结果带回同一表单。我该怎么做?

Dim rst      As DAO.Recordset
With CurrentDb.QueryDefs("qryPass")
  .SQL = "select * from dbo.tblCustomers where City = '" & Me!City & "'"
  .ReturnsRecords = True
  Set rst = .OpenRecordset
End With

以上将使用当前表格文本框,称为城市。为了防止SQL注入,您可以使用以下方式:

  .SQL = "select * from dbo.tblCustomers where City = " & qu(me!City)

,您有一个通用程序,可以用:

围绕该表达式放置报价。
Function qu(vText As Variant) As String
  qu = Chr$(34) & vText & Chr$(34)
  qu = Replace(qu, ";", "")
  qu = Replace(qu, "(", "")
  qu = Replace(qu, ")", "")
  qu = Replace(qu, "=", "")
End Function

相关内容

  • 没有找到相关文章

最新更新