web-dev-qa-db-ja.com

Access VBAでSQL SELECTステートメントを使用する方法

SQL WHERE句で使用する値を持つコンボボックスがあります。どのようにrunコンボボックスの値に基づいてVBA内のSELECTステートメントを実行しますか?

14
Nag Hammadi

バインドされた列の値を使用する場合は、単にコンボを参照できます。

sSQL = "SELECT * FROM MyTable WHERE ID = " & Me.MyCombo

列プロパティも参照できます。

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)

テキストボックス内:

= DlookUp("AText","MyTable","ID=" & MyCombo)

*編集済み

27
Fionnuala

Access 2007はCurrentDbを失う可能性があります: http://support.Microsoft.com/kb/16717 を参照してください。そのため、 "Object Invalidまたは例ではもう設定しません」

Dim db as Database
Dim rs As DAO.Recordset
Set db = CurrentDB
Set rs = db.OpenRecordset("SELECT * FROM myTable")
7
user2885978

VBAでSQL SELECTステートメントを使用する別の方法を次に示します。

 sSQL = "SELECT Variable FROM GroupTable WHERE VariableCode = '" & Me.comboBox & "'" 
 Set rs = CurrentDb.OpenRecordset(sSQL)
 On Error GoTo resultsetError 
 dbValue = rs!Variable
 MsgBox dbValue, vbOKOnly, "RS VALUE"
resultsetError:
 MsgBox "Error Retrieving value from database",VbOkOnly,"Database Error"
2
user28864