SQL WHERE句で使用する値を持つコンボボックスがあります。どのようにrunコンボボックスの値に基づいてVBA内のSELECTステートメントを実行しますか?
バインドされた列の値を使用する場合は、単にコンボを参照できます。
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)
*編集済み
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")
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"