2012-06-13 8 views

risposta

20

Se si desidera utilizzare il valore colonna associata, si può semplicemente fare riferimento alla combinata:

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

Si può anche fare riferimento alla proprietà della colonna:

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) 

In una casella di testo:

+0

Grazie. Non creerà solo una stringa contenente istruzioni SQL? –

+1

Sì. La tua domanda non include alcuna informazione su cosa vuoi fare con la dichiarazione where. – Fionnuala

+0

+ 1 Semplice :) –

1

Ecco un altro modo di utilizzare l'istruzione SQL SELECT in VBA:

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" 
6

Access 2007 può perdere la CurrentDb: vedi http://support.microsoft.com/kb/167173, quindi in caso di ottenere "Oggetto non valido o non impostato" con gli esempi, l'uso:

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