2012-06-13 22 views

Respuesta

20

Si desea utilizar el valor de columna enlazada, sólo tiene que hacer referencia a la combinación de:

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

También puede hacer referencia a la propiedad de la columna:

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) 

En un cuadro de texto:

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

Gracias. ¿No creará eso solo una cadena que contenga declaraciones SQL? –

+1

Sí. Su pregunta no incluye información sobre lo que quiere hacer con la instrucción where. – Fionnuala

+0

+ 1 Simple como eso :) –

1

Aquí es otra manera de utilizar SQL SELECT comunicado en 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 puede perder la CurrentDb: http://support.microsoft.com/kb/167173 ver, por lo que en caso de conseguir "objeto no válido o ya no establecido" con los ejemplos, el uso:

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