2012-06-13 2 views

ответ

20

Если вы хотите использовать связанное значение столбца, вы можете просто обратиться к комбо:

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) 
+0

Thanx. Не будет ли это создавать строку, содержащую SQL-инструкции? –

+1

Да. Ваш вопрос не содержит никакой информации о том, что вы хотите сделать с инструкцией where. – Fionnuala

+0

+ 1 Просто как это :) –

1

Вот еще один способ использования инструкции SQL SELECT в 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 может потерять 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") 
Смежные вопросы