Vba 如何在VB中运行SQL select语句
我一直在四处寻找,但似乎找不到如何做到这一点 我试图在VB中执行一个SELECTSQL语句,该语句从表单中获取一个参数。例如,用户选择From和To日期,SQL应该采用他们选择的内容 我知道您不能对SELECT SQL使用DoCmd.Execute方法,因此我需要打开记录集-但是如何打开?这就是我迄今为止所尝试的Vba 如何在VB中运行SQL select语句,vba,ms-access,Vba,Ms Access,我一直在四处寻找,但似乎找不到如何做到这一点 我试图在VB中执行一个SELECTSQL语句,该语句从表单中获取一个参数。例如,用户选择From和To日期,SQL应该采用他们选择的内容 我知道您不能对SELECT SQL使用DoCmd.Execute方法,因此我需要打开记录集-但是如何打开?这就是我迄今为止所尝试的 Dim recordSet As DAO.recordSet Dim SQL As String SQL = "SELECT * FROM tblWebMeetingData" Se
Dim recordSet As DAO.recordSet
Dim SQL As String
SQL = "SELECT * FROM tblWebMeetingData"
Set recordSet = CurrentDb.OpenRecordset(SQL)
'More code in here
recordSet.Close
Set recordSet = Nothing
因为它执行时没有错误,所以我假设它实际上得到了结果——那么有没有办法看到它实际上返回了什么呢
首先谢谢:例如,将记录集重命名为rs是一个很好的建议,因为“recordset”是一个保留名称。这是不可理解的 此记录集包含SQL语句查询的记录。您可以通过
rs.fields(“fieldname”).value
访问这些数据。使用rs移动到下一个记录集。movenext
为了合并表单的控制值,我使用在打开记录集之前构建完整SQL语句的方法。假设表单名为“myform”,控件名为“mycontrol”,您可以编写某种
SQL = "SELECT * FROM tblWebMeetingData WHERE myfield = " & forms!myform.mycontrol.value
请确保表单仅包含有效值,因为任何格式错误的值都将直接导致SQL执行错误
我希望这就是您想要的。首先:将记录集重命名为rs是一个很好的建议,例如,因为“记录集”是一个保留名称。这是不可理解的 此记录集包含SQL语句查询的记录。您可以通过
rs.fields(“fieldname”).value
访问这些数据。使用rs移动到下一个记录集。movenext
为了合并表单的控制值,我使用在打开记录集之前构建完整SQL语句的方法。假设表单名为“myform”,控件名为“mycontrol”,您可以编写某种
SQL = "SELECT * FROM tblWebMeetingData WHERE myfield = " & forms!myform.mycontrol.value
请确保表单仅包含有效值,因为任何格式错误的值都将直接导致SQL执行错误
我希望这就是您想要的。这里是关于迭代trought记录集并使用其中的值的示例代码(我希望它有点帮助):
下面是关于迭代trought记录集并使用其中的值的示例代码(我希望它能有所帮助):
那个么,我该如何去看不同的记录呢?见Wawrzyniec Sz的答案。当然,使用这些数据的方式取决于您想对它们做什么。如果你能在这一点上更具体一些,我们可能会更好地帮助你:-)好的,因此我正在查看的从中获取数据的表有19个字段,我想要一个vb中的sql语句,它将根据用户在下拉框中选择的内容从该表中获取所有数据。其结果应写入excel文件-我可以很好地编写excel代码,但在尝试向其传递SQL时遇到了问题。用户选择什么类型的信息?此信息与哪个表列相关?知道了这一点,你可以添加一些
。。。其中fieldname='information'…
。那么我该如何查看不同的记录呢?请参阅Wawrzyniec Sz的答案。当然,使用这些数据的方式取决于您想对它们做什么。如果你能在这一点上更具体一些,我们可能会更好地帮助你:-)好的,因此我正在查看的从中获取数据的表有19个字段,我想要一个vb中的sql语句,它将根据用户在下拉框中选择的内容从该表中获取所有数据。其结果应写入excel文件-我可以很好地编写excel代码,但在尝试向其传递SQL时遇到了问题。用户选择什么类型的信息?此信息与哪个表列相关?知道了这一点,你可以添加一些。。。其中fieldname='information'…
。