Consultas y Creacion de tablas desde Visual Basic |
Responder |
Autor | |
kkodalton
Nuevo Unido: 01/Diciembre/2011 Localización: España Estado: Sin conexión Puntos: 32 |
Tema: Consultas y Creacion de tablas desde Visual Basic Enviado: 19/Junio/2019 a las 10:24 |
Hola
A ver si alguien puede ayudarme: Necesito crear una consulta en un procedimiento de este tipo: SELECT a,b INTO tablaNueva IN 'c:\datos\000002.mdb' FROM tabla; Siendo tablanueva , tabla y destino ('c:\datos\000002.mdb') variables que las asigno en el procedimento, pero el problema lo tengo con las Comillas simples (‘ ’) del IN , Dim sql as string Sql=”select a,b into “ & tablaNueva & “ IN” .... Docmd.runsql(sql) Gracias por todo |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14025 |
Enviado: 19/Junio/2019 a las 11:09 |
SELECT a,b INTO [c:\datos\000002.mdb].[TablaNueva] FROM Tabla
|
|
fcoval
Asiduo Unido: 19/Enero/2013 Estado: Sin conexión Puntos: 225 |
Enviado: 19/Junio/2019 a las 14:24 |
Con permiso de Mihura ... lo pongo mas mascado en forma de variables que es lo que buscas
|
|
kkodalton
Nuevo Unido: 01/Diciembre/2011 Localización: España Estado: Sin conexión Puntos: 32 |
Enviado: 20/Junio/2019 a las 14:42 |
Gracias a los dos, en especial a fcoval que es como me interesaba, mañana lo pruebo.
|
|
kkodalton
Nuevo Unido: 01/Diciembre/2011 Localización: España Estado: Sin conexión Puntos: 32 |
Enviado: 17/Julio/2019 a las 11:56 |
Buenas de nuevo.
Lo acabo de probar y me da error, me podeis ayudar? dim qtable as dao.querydef Set qtable = dbs.CreateQueryDef("tabla_" & up) qtable.sql = "SELECT * INTO " & tblNueva & " IN '" & strRutaBD & "' FROM " & up ' Aqui es donde me da el error que os he comentado DoCmd.OpenQuery ("tabla_" & up) error 3126 corchetes no validos en el nombre 'c:\datos\EQ\03\00012.mdb' |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14025 |
Enviado: 17/Julio/2019 a las 12:18 |
Pon un punto de interrupción, copias la cadena completa "SELECT * .... y en la ventana inmediato averigua su valor y postéalo aquí.
|
|
kkodalton
Nuevo Unido: 01/Diciembre/2011 Localización: España Estado: Sin conexión Puntos: 32 |
Enviado: 17/Julio/2019 a las 13:01 |
Me da error a continuacion ....
Os explico , antes creo una consulta de paso a traves de SQL, donde me la crea y se ejecuta sin problemas. Pero el resultado de esa consulta la quiero guardar en una tabla y para eso lo que hago es crear esta consulta que lo que hace es llamar a la consulta de paso a traves, me explico? |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14025 |
Enviado: 17/Julio/2019 a las 13:17 |
Si la consulta se ejecuta en el servidor de SQL, este no entiende la notación:
IN 'c:\datos\000002.mdb' FROM tabla Esa consulta la tienes que ejecutar en el 'lado Access'. |
|
kkodalton
Nuevo Unido: 01/Diciembre/2011 Localización: España Estado: Sin conexión Puntos: 32 |
Enviado: 17/Julio/2019 a las 13:55 |
Todo lo ejecuto desde accés.
tabla hace referencia a la consulta de paso a traves, que esta si la ejecuto sola funciona. Quizas tengas razon y no se pueda hacer |
|
kkodalton
Nuevo Unido: 01/Diciembre/2011 Localización: España Estado: Sin conexión Puntos: 32 |
Enviado: 17/Julio/2019 a las 13:56 |
Y entonces como puedo ejecutar una consulta de paso a traves y el resultado me lo guarde en una tabla de accés?
|
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14025 |
Enviado: 17/Julio/2019 a las 14:05 |
Bienvenido a uno de los problemas de trabajar con SQL.
En este caso estás trabajando con tablas que son de entorno Access, haz la consulta directamente en Access.
|
|
kkodalton
Nuevo Unido: 01/Diciembre/2011 Localización: España Estado: Sin conexión Puntos: 32 |
Enviado: 18/Julio/2019 a las 08:30 |
Hola de nuevo
si las consultes son fijas , desde accés se ejecuta y se crea la tabla. Si tengo una consulta de paso a traves, llamada por ejemplo c_dia,con la siguiente sentencia: select sysdate from dual; y otra consulta, que lo que hace es crear una tabla con el resultado de la consulta de paso a traves: select * into tbldia from c_dia; Al ejecutar esta ultima consulta se crea una tabla llamada tbldia con el dia actual. Por tanto si las consultas son fijas, funciona. Porque no ha de funcionar si lo haces a traves de vb? Ese es mi problema Gracias |
|
Mihura
Ver perfil usuario
Enviar mensaje privado
Ver los mensajes del usuario
Visite la página de los usuarios
Añadir a la lista de amigos
Administrador Unido: 06/Mayo/2005 Localización: En la dehesa Estado: Sin conexión Puntos: 14025 |
Enviado: 18/Julio/2019 a las 08:38 |
Porque la base de datos SQL NO ve los datos que hay en access.
Si necesitas los datos en SQL tendrás que crear una tabla en la BD SQL y cargarla mediante un recordset ejecutado en access que lea la tabla access y la cargue en la que hay en SQL. Pero, en vez de dar tantas vueltas teóricas, ¿por qué no explicas que es lo que tienes y qúe es lo que quieres conseguir?
|
|
Responder | |
Tweet
|
Ir al foro | Permisos de foro Usted No puede publicar nuevos temas en este foro Usted No puede responder a temas en este foro Usted No puede borrar sus mensajes en este foro Usted No puede editar sus mensajes en este foro Usted No puede crear encuestas en este foro Usted No puede votar en encuestas en este foro |