加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 使用vba在ms access 2003中的参数化查询

发布时间:2020-12-12 16:22:17 所属栏目:MsSql教程 来源:网络整理
导读:好.我想使用参数化查询来避免在我的数据中处理嵌入的双引号或单引号(“或”). 举个简单的例子,VBA代码对于参数化的版本是什么样的? Dim qstr as StringDim possiblyDangerousString as Stringqstr = "SELECT MyTable.LastName from MyTable WHERE MyTable.La
好.我想使用参数化查询来避免在我的数据中处理嵌入的双引号或单引号(“或”).

举个简单的例子,VBA代码对于参数化的版本是什么样的?

Dim qstr as String

Dim possiblyDangerousString as String

qstr = "SELECT MyTable.LastName from MyTable WHERE MyTable.LastName = '" & possiblyDangerousString & "';"

我没有从我的代码中剪切和粘贴它(现在在另一个盒子上),所以可能会有拼写错误.

一旦我弄清楚这个简单的例子,我需要转向更复杂的语句(多个参数和连接).
谢谢你的建议

解决方法

在VBA中,您可以使用以下内容:
Dim db As DAO.Database
Dim qdf As QueryDef
Dim strSQL as String

Set db = CurrentDb
strSQL = "PARAMETERS txtLastName Text(150); " _
    & "SELECT LastName FROM MyTable " _
    & "WHERE LastName=txtLastName"

''Create a temporary query 
Set qdf = db.CreateQueryDef("",strSQL)

qdf.Parameters!txtLastName = Trim(possiblyDangerousString)

这个例子用处不大,因为你现在要对查询做些什么呢?请注意,您可以存储参数查询并在VBA中分配参数.另请注意,备注字段会成为问题,因为参数只能接受255个字符.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读