Autor
|
Tema: Consultas Select a una Base de Datos en Acces (Leído 4,196 veces)
|
TheGhost(Z)
Desconectado
Mensajes: 230
|
Hola. Si alguien me puede ayudar con hacer una consulta SQL con variables. Dim Tabla, Campo, TextoBusca As String
Tabla = "Empleados" Campo="Nombre" TextoBusca="Pedro" Lo que deseo es mas o menos asi, pero no se como llevarlo a lo correcto: Rs.Open "SELECT * FROM Tabla where Campo = TextoBusca", DBConex, adOpenStatic, adLockOptimistic He intentado con Solo la variable TextoBusca y funciona: Rs.Open "SELECT * FROM Empleados where Nombre = '" & Trim(TextoBusca) & "' ", DBConex, adOpenStatic, adLockOptimistic Pero lo he intentado haciendo lo mismo para todas las variables pero me arroja error Consulta Imcompleta Rs.Open "SELECT * FROM '" & Tabla & "' where '" & Campo & "' = '" & Trim(TextoBusca) & "' ", DBConex, adOpenStatic, adLockOptimistic Saludos Pedro Jeri
|
|
|
En línea
|
|
|
|
programatrix
|
Aquí te faltan las comillas: Rs.Open "SELECT * FROM Tabla where Campo = 'TextoBusca'", DBConex, adOpenStatic, adLockOptimistic No se si será por eso
|
|
|
En línea
|
|
|
|
el_chente23
Desconectado
Mensajes: 142
|
intenta con esto Rs.Open "SELECT * FROM " & Tabla & " where " & Campo & " = '" & Trim(TextoBusca) & "' ", DBConex, adOpenStatic, adLockOptimistic Saludos
|
|
|
En línea
|
|
|
|
TheGhost(Z)
Desconectado
Mensajes: 230
|
Gracias el_chente23 Si funciono!. con el codigo queme diste: Rs.Open "SELECT * FROM " & Tabla & " where " & Campo & " = '" & Trim(TextoBusca) & "' ", DBConex, adOpenStatic, adLockOptimistic Pero un pregunta: ¿cual es la diferencia entre estos dos? bueno se que se diferencian por ponerles estos ( ' ). Pero porque al TextoBusca se pone las ( ' ) y a las demas no. " & Tabla & " '" & Trim(TextoBusca) & "' Lo que no entiendo es si la comilla (") que esta antes de & Tabla & cierra o abre. Es decir el formato: En fin. Si es asi: o asi: Y por otra parte porque a mi variable TextoBusca aparte de las comillas ("textoBusca") se le agrega un tilde mas, el que esta con rojo. No entiendo si al final: Tabla, Campo y textoBusca son variables. ( '"& Tabla &" ') Saludos, Pedro Jeri
|
|
|
En línea
|
|
|
|
el_chente23
Desconectado
Mensajes: 142
|
la diferencia entre las 2 instruciones es que cuando armabas el string del Select le ponias comillas al nombre de la tabla y al nombre del campo, los cuales no llevan, los unicos que llevan esas comillas son las cadenas, entonces la variable textobusca las lleva proque si lo nota es una cadena, esa seria la diferencia. Sobre la otra pregunta, lo que pasa es que para hacer una consulta SQL, ya sea access o sql server, lo tienes que hacer armando una cadena con dicha consulta, entonces todo lo que es la instruccion del SQL tiene que ser entre comillas, pero si le quieres agragar valores de variables a la consulta, se la tienes que concatenar a la cadena fuera de las comillas, de lo contrario tomaria la variable tal cual y no su valor. Haber si me entiendes , sino pregunta. Saludos
|
|
|
En línea
|
|
|
|
TheGhost(Z)
Desconectado
Mensajes: 230
|
Estimado, el_chente23 .
Veamos. he entendio que se pone ("mivariable") si es algo relacionado con la consulta, pero sepone (' "mivariable" ' ) si es una cadena?
Es decir TextoBusca=TEGGAR458122445 (cadena), verdad
Pero las variables. Tabla y Campo son variables, pero variables especiales que van dentro de la consulta SQL ?
Es asi?
la verdad no entendi.
Si fuera mucha molestia que me expliques de nuevo..
Gracias
Pedro Jeri
|
|
|
En línea
|
|
|
|
el_chente23
Desconectado
Mensajes: 142
|
Mira, cuando haces una consulta SQL, seria de esta manera Select * From Tabla Where Campo='ABC' si notas es una consulta a una tabla y mi filtro es una cadena (En SQL las cadenas van entre comillas sencillas), entonces cuando quieres hacer una consulta de ese tipo por medio de visual, armas la estructura de la consulta en una cadena, pero respetando esa estructura, entonces para hacer esa llamada desde visual quedaria algo asi Variable="Select * From Tabla Where Campo='" & cadena & "'" eso suponiendo que cadena trae el string con el que lo filtrarias(en este caso ABC), ahora por tener un manejo de cadena esa consulta, la puedes armar a como la necesites, ya sea condicionando si es una tabla u otro la que quieres usar Variable ="Select * From " if X=0 Then Variable = Variable & tabla1 & " Where Campo='" & cadena & "'" Else Variable = Variable & tabla2 & " Where Campo='" & cadena & "'" End If , en este ejemplo si ves le puedes poner una tabla u otra, dependiendo de como necesites hacer tu consulta, pero si nota en la parte de la variable Tabla1 y Tabla2(Son variables Visual Basic que contienen el nombre de las tablas) no llevan comillas porque si las llevara quedaria asi Select * From 'Tabla' Where Campo='ABC' y obviamente marcaria un error por el echo de tener comillas el nombre de la tabla y eso por eso que te marcaba error al principio. Haber si no te enrede mas . Saludos
|
|
|
En línea
|
|
|
|
TheGhost(Z)
Desconectado
Mensajes: 230
|
Ni yo se si entendi exactamente lo que queria. Pero me diste grandes ideas con eso de x=0 para permitir segun necesite las tablas..
Gracias por tu aporte, el_chente23.
Saludos Pedro Jeri
|
|
|
En línea
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Enlaze de base de datos acces
Programación Visual Basic
|
raas5
|
4
|
3,095
|
20 Noviembre 2011, 15:45 pm
por raul338
|
|
|
[DUDA] Base de datos en excel o Acces.
Programación Visual Basic
|
pungados
|
8
|
4,947
|
27 Noviembre 2013, 23:23 pm
por seba123neo
|
|
|
Base de datos [VB2010 + Acces 2010] ayuda
.NET (C#, VB.NET, ASP)
|
LukaCrosszeria
|
0
|
1,891
|
13 Mayo 2014, 18:51 pm
por LukaCrosszeria
|
|
|
C# [Conexion con base de Datos Acces y Comandos SQL]
.NET (C#, VB.NET, ASP)
|
Inspector12
|
1
|
2,323
|
9 Mayo 2015, 13:47 pm
por fran800m
|
|
|
[Pregunta]: Consultas periódicas a una base de datos con PHP.
PHP
|
Leguim
|
6
|
6,612
|
25 Mayo 2021, 04:36 am
por Leguim
|
|