Si la variable es de tipo string, se escribe, entre coma simple, doble coma y el signo + o & :
'" + variable + "'
Ejemplo:
Option Compare Database
Option Explicit
Private Sub botó_Click()
Dim consulta As DAO.Recordset
Dim variable As string
variable = valor
Set consulta = CurrentDb().OpenRecordset("SELECT tabla.camp1, tabla.camp2, " & _
FROM tabla WHERE((tabla.camp1)= '" + valor + "');")
Si la variable es de tipo long: " & variable & "
Ejemplo:
Option Compare Database
Option Explicit
Private Sub botó_Click()
Dim consulta As DAO.Recordset
Dim variable as Long
variable = valor
Set consulta = CurrentDb().OpenRecordset("SELECT tabla.camp1, tabla.camp2," & _
"FROM taula WHERE ((tabla.camp1)= " & valor & "); ")
Si la variable es de tipo fecha: #" & variable & "#
Ejemplo:
Option Compare Database
Option Explicit
Private Sub botó_Click()
Dim consulta As DAO.Recordset
Dim variable as Date
variable = valor
Set consulta = CurrentDb().OpenRecordset("SELECT tabla.camp1, tabla.camp2," & _
"FROM taula WHERE ((tabla.camp1)= #" & valor & "#);")
Muchas veces a la hora de trabajar con un campo de texto que contiene
un apóstrofe o coma simple, dentro de una función o de una consulta SQL, Visual Basic corta todo
el resto de la cadena que sigue a este carácter. La solución pasa por sustituir la coma
simple por dos comas simples, mediante la función Replace()
Ejemplo:Buscar un campo de una consulta, mediante el valor introducido en un Inputbox
Option Compare Database
Option Explicit
Private Sub botó_Click()
Dim variable as String
Dim valorbuscado as Variant
variable = InputBox("introduce un valor")
variable = Replace(variable, "'", "''")
valorbuscado = DLookup("[campo]", "consulta", "consulta.campo Like '*" & variable & "*'")
Cuando escribimos alguna instrucción que nos ocupa más espacio de la anchura del editor de visual Basic, podemos forzar un salto de linea poniendo al final de la linea que queremos cortar los signos doble coma, ampersand y guión subrayado: " & _ y comenzar la siguiente linea con doble coma
Option Compare Database
Option Explicit
Private Sub botó_Click()
Dim consulta As DAO.Recordset
Set consulta = CurrentDb().OpenRecordset("SELECT tabla.camp1, tabla.camp2," & _
"FROM taula WHERE ((tabla.camp1)= #" & valor & "#);")
Si dentro de un procedimiento Sub o de una función queremos hacer referencia, por ejemplo, al valor que tiene un TextBox de un formulario, la sintaxis es:
Option Compare Database
Option Explicit
Private Sub procediment_Click()
Dim valor As String
valor = Form_nombredelformulario.nombredelTextBox.Value
...
...
o queremos hacer referencia al valor seleccionado en el desplegable de un cuadro combinado:
valor = nombre_cuadro_combinado.Column(n)
* (n) es el número de la columna del cuadro combinado de la cual queremos recuperar el valor seleccionado.
La primera columna siempre empieza con el valor 0