Ayuda Con Access Consultas

Hola Experto!
Tengo un inconveniente, lo que pasa es que los datos que tengo de una base de datos son un poco complejos y las consultas las tengo que hacer sobre las mismas tablas, es decir, por ejemplo tengo una tabla que contiene la información académica de un experto y el nombre de la tabla es el nombre del experto, entonces si un usuario quiere consultar la información de determinado experto la consulta debe traerle toda la información de la tabla del experto, lo que no sé es como hacer el código para que la consulta sea el nombre de la tabla.
Normalmente la hacemos: "Select * from nombre_tabla where condicion"
Pero cómo aquí la consulta es directamente el nombre de la tabla no se como hacerla... "¿Select nombre_digitado_por_usuario from database"?
La verdad no tengo ni idea... Me ayudas por favor
Mil gracias por adelantado
Respuesta
1
no se si estes relacionado con la programacion ado
pero no es tan complicado
lo que tendrias que hacer es declarar una varioable por ej sql
sql= "select campo1, campo2 ... campon from " & trim(expertox) & "where cond1 =" & trimç(campocond1) & "cond2 =" & trim(campocond2)
Donde expertox, cond1, cond2 serian variables strin de la longotud que tu calculas ocupe
tdo esto va en codigo de vb
Cualquier duda mandame y te paso el código
Hola!
Hagamos una cosa...
Envíame un ejemplo con una consulta simple, así...
Seleccionar todos los campos de la tabla llamada Gabriel Duque, este nombre es traído de un fmlario con el nombre "txtdato"
Es que la verdad he trabajado muy poco con VB y ademas las consultas son muy simples.
select * from gabriel duque where campox like "%texto%"
Osi lo estas haciendo en una variable tendrías que concatenar el signo de tanto por ciento al principio y al final
la instrucción like sirve pra que te agarre o recopile todos los registros que cumplan en cualquier parte de la cadena con el texto que esta en la cadena
Hola!
Creo que me entendiste mal... a lo que me refería es a que la variable se llama txtdato... esta variable internamente lleva Gabriel Duque...
Entonces aclarame si se puede hacer algo como
Select * from "%txtdato%"
¿Esta correcto?
Gracias!
En el caso de que este almacenado en una variable no llevaría comillas dobles solo iría el nombre de la variable y un paso antes debes de concatenarle los signos de tanto por ciento
Y de estamanera te debe de funcionar
Expert I have a problem.
Primero que todo será que por esas casualidades de la vida sabes algo de ASP ya que realizo la consulta previa para poder hacer lo que me sugeriste pero no funciona... Tal vez podes ver que pasa y por que no aparecen datos.
El archivo de conexión está incluido previamente
Lo que hace este código es que debe listar la información de los expertos existentes...
<Select NAME="select" SIZE=1>
Set rs = conn.Execute("SELECT * FROM expertos Order By nombre")
<%
Do While Not rs.EOF %>
<Option VALUE="<%= rs("nombre") %> <%= rs("proceso") %>
<% rs.MoveNext
Loop
rs.Close
conn.Close %>
</Select>
Pero no funcionar... ¿Me podes ayudar?
Te paso un codigop sql para la conexión asp hace ya un buen rato que no lo he empleado pero tengo un manual muy sencillo para cuando estamos empezando solo mandame un correo para poderte enviar el manual
my correo es [email protected]
Expert Mil gracias por el archivo... esta muy completo y comprensible...
Pero en el momento de la práctica no funciona... lo Apliqué tal cual dice el ejemplo pero no me genera ninguna información, quizás me puedas ayudar porque he buscado el error y no lo encuentro.
Mira este es mi código y es muy básico... Lo único que debe es mostrarme de la tabla "expertos" el nombre y el proceso que tiene a cargo, mi bd se llama jubilables, pero la verdad no se que me falta... ¿tal vez me puedas ayudar?
<%
Dim BDD ' variable que se encarga de la base de datos
Dim TABLA ' variable que se encarga de la tabla
'creo los objetos que manejan la base de datos y la tabla
Set BDD = Server.CreateObject("ADODB.Connection")
Set TABLA = Server.CreateObject("ADODB.Recordset")
'abro la base de datos
BDD.Open ("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=" + Server.MapPath("jubilables.mdb"))
'abro la tabla
TABLA.Open "expertos", BDD ' indico el nombre de la tabla y la base de datos
'ahora recorro toda la tabla y muestro los datos
While NOT TABLA.EOF 'recorre la tabla hasta que EOF sea verdadero
Response.Write "Nombre:" & TABLA("Titulo") & "<br>"
Response.Write "Proceso:" & TABLA("Genero") & "<br>"
Wend
'cierro todo y libero los objetos
TABLA.Close
BDD.Close
Set BDD = Nothing
Set TABLA = Nothing
%>
Checa con tabla. Fields("genero")
Man... Nada...
¿Por casualidad sabes como puedo hacer para comprobar si la conexión está correcta?
Este código esta jalando actualmente
'INICIALIZA LA CONECCION CON LA BASE DE DATOS
                                    Set Conn = Server.CreateObject("ADODB.Connection")
                                    'ABRE LA BASE DE DATOS
                                    Conn. Open"kiosko"
                                    S1SQL="Inset Into ENCUESTA ( P1, P2, P3, P4, P5 ) VALUES (P1, P2, P3, P4, P5)"
                                    'EJECUTAMOS LA ORDEN
                                    set  = Conn.Execute(s1SQL)
Y la vdd no savria como decirte o como comprobarla conexión yo lo que hice fue ejecutar la pag

1 respuesta más de otro experto

Respuesta
1
La única manera que podrías hacer algo así es utilizando VBA ¿lo sabes manejar?
Pero igual tengo mis dudas que hayas encarado el problema de la manera correcta.
Hola!
La verdad VBA lo manejo muy poco, el inconveniente que tengo es que como la información anterior estaba en tablas de EXCEL y fueron migradas a ACCESS, no tengo como cambiarla, y la información a consultar parte del nombre de la tabla... entonces no se como podría hacerlo.
Te hago una relación...
El nombre de la tabla es el nombre de un empleado en donde toda la información allí son los estudios que ese empleado ha hecho.
Posteriormente luego de hacer la consulta para que el usuario pueda visualizar la información tengo que, en la medida de lo posible hacer que el sistema pueda hacer comparaciones, es decir, comparar la información de 2 empleados y seleccionar solo los estudios iguales de ambos... pero eso es un poco más allá, luego de solucionar el problema de consulta de tablas.
No se si hace falta más información o que opciones ademas de VBA me puedes dar para la solución.
De antemano y en lo que me puedas ayudar 1000 gracias!
Gabo Duque
En mi humilde opinión... con esa estructura, por más que resuelvas el problema ahora, tendrás problemas en el futuro.
Me parece que tendrías que generar una nueva tabla e ir importando los datos a la nueva estructura. O bien si aún dispones de los archivos excel, hacer una importación más "prolija"
Slds

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas