Loading
facebook feed
català

Sintaxis de variables pasadas como parámetros en consultas SQL

 volver al índex

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 & "#);")

Problemática de la coma simple o apóstrofe en un campo de texto

 volver al índex

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 & "*'")

Hacer un salto de linea cuando escribimos código

 volver al índex

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 & "#);")

Hacer referencia a un control de un formulario

 volver al índex

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

okemos brewing company
quality rock from Okemos, Michigan, USA

windows media player

sobre
Catalunya

catalunya

sobre
Barcelona

barcelona

Valid XHTML 1.0 Transitional

Pere Garcia Guinot   -  

logo personal