Loading
facebook feed
castellano

Sintaxi de variables passades com paràmetres en consultes SQL

 tornar a l'índex

Si la variable és de tipus string, s'escriu, entre coma simple, doble cometa i el signe + o & :
'" + variable + "'
Exemple:

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 taula.camp1, taula.camp2, " & _
"FROM taula WHERE((taula.camp1)= '" + valor + "');")

Si la variable és de tipus long: " & variable & "
Exemple:

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 taula.camp1, taula.camp2," & _
"FROM taula WHERE ((taula.camp1)= " & valor & "); ")

Si la variable és de tipus data: #" & variable & "#
Exemple:

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 taula.camp1, taula.camp2," & _
"FROM taula WHERE ((taula.camp1)= #" & valor & "#);")

Problemàtica de la coma simple o apòstrof en un camp de text

 tornar a l'índex

Moltes vegades a l'hora de treballar amb un camp de text que conté un apòstrof o cometa simple, dins d'una funció o d'una consulta SQL, Visual Basic talla tota la resta de la cadena que segueix a aquest caràcter. La solució passa per substituir la cometa simple per dues cometes simples, mitjançant la funció Replace()
Exemple:Cercar un camp d'una consulta, mitjançant el valor introduit en un Inputbox

Option Compare Database
Option Explicit

Private Sub botó_Click()
Dim variable as String
Dim valorbuscat as Variant
variable = InputBox("introdueix un valor")
variable = Replace(variable, "'", "''")
valorbuscat = DLookup("[camp]", "consulta", "consulta.camp Like '*" & variable & "*'")

Fer un salt de línia quan escrivim codi

 tornar a l'índex

Quan escrivim alguna instrucció que ens ocupa més espai de l'amplada de l'editor de visual Basic, podem forçar un salt de línia posant al final de la línia que volem trencar els signes doble cometa, ampersand i guió subratllat: " & _ i començar la següent línia amb doble cometa

Option Compare Database
Option Explicit

Private Sub botó_Click()
Dim consulta As DAO.Recordset
Set consulta = CurrentDb().OpenRecordset("SELECT taula.camp1, taula.camp2," & _
"FROM taula WHERE ((taula.camp1)= #" & valor & "#);")

Fer referència a un control d'un formulari

 tornar a l'índex

Si dins d'un procediment Sub o d'una funció volem fer referència, per exemple, al valor que té un TextBox d'un formulari, la sintaxi és:

Option Compare Database
Option Explicit

Private Sub procediment_Click()
Dim valor As String
valor = Form_nomdelformulari.nomdelTextBox.Value
...
...

o volem fer referència al valor seleccionat en el desplegable d'un quadre combinat:

valor = nom_quadre_combinat.Column(n)

* (n) és el número de la columna del quadre combinat de la qual volem recuperar el valor seleccionat.
La primera columna sempre comença amb 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