如何在Access VBA中使用SQL SELECT语句

Nag*_*adi 14 sql ms-access vba

我有一个组合框,其值我想与SQL WHERE子句一起使用.如何根据组合框值在VBA中运行 SELECT语句?

Fio*_*ala 28

如果你想使用绑定列值,你可以简单地参考组合:

sSQL = "SELECT * FROM MyTable WHERE ID = " & Me.MyCombo
Run Code Online (Sandbox Code Playgroud)

您还可以参考column属性:

sSQL = "SELECT * FROM MyTable WHERE AText = '" & Me.MyCombo.Column(1) & "'"

Dim rs As DAO.Recordset     
Set rs = CurrentDB.OpenRecordset(sSQL)

strText = rs!AText
strText = rs.Fields(1)
Run Code Online (Sandbox Code Playgroud)

在文本框中:

= DlookUp("AText","MyTable","ID=" & MyCombo)
Run Code Online (Sandbox Code Playgroud)

  • 是。您的问题不包含有关您要对where语句执行的操作的任何信息。 (2认同)
  • 在这种情况下,您可能应该使用DLookUp (2认同)
  • 你不能运行一个select语句,你只能获得一个记录集等,这意味着你真的需要在任何人提供有效答案之前说出你要对select语句做什么.在这种情况下,您需要一个值,但您可能希望迭代记录集以执行进一步的操作. (2认同)

use*_*978 7

Access 2007可能会丢失CurrentDb:请参阅http://support.microsoft.com/kb/167173,因此如果使用示例获取"对象无效或不再设置",请使用:

Dim db as Database
Dim rs As DAO.Recordset
Set db = CurrentDB
Set rs = db.OpenRecordset("SELECT * FROM myTable")
Run Code Online (Sandbox Code Playgroud)