当前位置:  开发笔记 > 后端 > 正文

在VBA中使用SQL语句创建Recordset

如何解决《在VBA中使用SQL语句创建Recordset》经验,为你挑选了1个好方法。

我正在尝试在Access VBA中创建一个记录集,它将向我显示与表单当前记录相关的表中的所有记录.我当前的代码如下所示:

Private Sub Form_Load()

    Dim rst As Recordset

    Set rst = CurrentDb.OpenRecordset("Select [ID], [Ln] From [Order Detail] Where ((([Order Detail].[ID]) = [Forms]![Order Data Entry Header]![ID]))")

    rst.MoveLast
    Forms![Order Data Entry Header].LineNum = rst![Ln]

End Sub

我这样做是为了在添加新记录时,可以在最高编号后按顺序编号.当我运行表单时,它会得到"运行时错误:'3061'参数太少.预计1." 在第一行.

任何帮助,将不胜感激.



1> Pittsburgh D..:

问题在于,您在那里看到的字符串正是传递给驱动程序的内容.

你需要"建立"字符串,如下所示:

Set rst = CurrentDb.OpenRecordset("Select [ID], [Ln] From [Order Detail] Where ((([Order Detail].[ID]) = " & [Forms]![Order Data Entry Header]![ID] & "))")

注意确保[Forms]![Order Data Entry Header]![ID]是安全的内容,因为您正在构建SQL语句.

推荐阅读
黄晓敏3023
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有