border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

Cuenta Bancaria en EEUU
  #1 (permalink)  
Antiguo 22-10-2005, 12:18:48
Avatar de J.M.Movilla
Administrador
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.490
J.M.Movilla Valoración +2
Predeterminado SELECT INTO ... NOT IN ...

Tengo en Access una Tabla de Clientes y otra de Ventas_05, relacionadas por el campo Codigo - CodClie respectivamente.

Quiero obtener en la tabla CliObs los Clientes que no hayan adquirido productos durante el año 2005 (cuyo Codigo no se relacione con ningún CodClie en toda la tabla Ventas_05)

He preparado esta SQL que no me provoca error, pero se me queda flipada... porque indudablemente está mal construída.
Código:
    dbConex.Execute "Delete From CliObs"   ' Limpio previamente la tabla destino

    dbConex.Execute "INSERT INTO CliObs SELECT Codigo, Literal, Direccion, " & _
            "CodPostal, Poblacion, Provincia, Telefono FROM Clientes " & _
            "WHERE Codigo NOT IN (SELECT CodClie FROM Ventas_05)"   ' Relleno la tabla
¿Podéis, por favor, echarme una mano?. Gracias anticipadas.
__________________
José María Movilla Cuadrado
______________________
www.foro.vb-mundo.com
www.vb-mundo.com

Responder Con Cita
  #2 (permalink)  
Antiguo 22-10-2005, 14:18:57
Moderador
 
Registrado: dic 2002
Ubicación: Oviedo - Asturias
Posts: 1.260
angelescj Valoración +2
Predeterminado

Ufffffffffffff, no sé si contestarte, porque me vas a matar, ya sabes mi respuesta pero igualmente ahí va:

Código:
    dbConex.Execute "Delete From CliObs"   ' Limpio previamente la tabla destino 

    dbConex.Execute "SELECT Codigo, Literal, Direccion, " & _ 
            "CodPostal, Poblacion, Provincia, Telefono INTO CliObs FROM Clientes " & _ 
            "WHERE Codigo NOT IN (SELECT CodClie FROM Ventas_05)"   ' Relleno la tabla
:smt004
__________________
Angeles
-------------------------------------
Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #3 (permalink)  
Antiguo 22-10-2005, 15:42:15
Avatar de imported_chiaravel
Administrator
 
Registrado: dic 2002
Ubicación: Buenos Aires - Argentina
Posts: 2.281
imported_chiaravel Valoración +2
Predeterminado

Piruchi !! te falto el INSERT !!

Presta atencion mujer !!! jaja

Un beso
Responder Con Cita
  #4 (permalink)  
Antiguo 22-10-2005, 16:19:25
Avatar de J.M.Movilla
Administrador
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.490
J.M.Movilla Valoración +2
Predeterminado

¿Sabes, mi querida Angeles, que de este post vamos a sacar una lección de ALTA PSICOLOGÍA?

Te explico (o más bien explico a todo el Foro...)

Cambié la SQL tal como tú me indicas. Lo primero que me encontré es que al ejecutarla me dió el error de que "la tabla CliObs ya existe", de donde deduje que tu instrucción crea automáticamente la tabla en que inserta los datos... Eliminé CliObs de mi base de datos, y nueva ejecución... Y hete aquí que obtuve el mismo resultado que con mi instrucción; o sea, que se me quedó flipado... Y aquí viene lo bueno:

Como yo no me fío de mis instrucciones al 100% pero de las tuyas me fío al 1000%, empecé a pensar: ¿No será que se queda trabajando con los 5.000 clientes y los 120.000 registros de ventas? Voy a probar reduciendo esas tablas... Porque seguro que la instrucción de Angeles tiene que funcionar... Y, claro... ¡Funcionó! Y curiosamente, la mía también funciona, con la diferencia de que ésta inserta los datos en una tabla que ya exista...

De donde cabe deducir: Mucho vale la inteligencia, y mucho la perseverancia, y la paciencia, y tantas cualidades que conforman la personalidad de cada individuo... Pero vamos a puntuar con matrícula de honor a esa otra cualidad que se llama CONFIANZA... Cuando confiamos en una pesona, las cosas nos salen siempre mejor.

Muchas gracias, Angeles. Por tu respuesta y por la confianza que me das...
__________________
José María Movilla Cuadrado
______________________
www.foro.vb-mundo.com
www.vb-mundo.com

Responder Con Cita
  #5 (permalink)  
Antiguo 22-10-2005, 16:49:01
Moderador
 
Registrado: dic 2002
Ubicación: Oviedo - Asturias
Posts: 1.260
angelescj Valoración +2
Predeterminado

No me lo puedo creer he conseguido q el Abuelo utilice una SELECT ... INTO de creación de tabla, en vez del consabido Insert into .... select.... hoy me voy de fiesta a celebrarlo.
Me alegro de que te funcionara, y ya puestos con toda la turra que te he dado para que los utilices deberías dejar en tu código mi instrucción como recuerdo :smt003 .
Como copié y corté tu código no me dicuenta deque copiaba tambien lo de borrar la tabla cuando lo que habrái que hacer es droparla, para asegurar que no existe.

Código:
   dbConex.Execute "Drop CliObs"   ' ELIMINO previamente la tabla destino
Pablo no se me olvidó el insert, este tipo de consulta (select.. into) crea una tabla con los registros leídos.

:smt004
__________________
Angeles
-------------------------------------
Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #6 (permalink)  
Antiguo 22-10-2005, 17:02:55
Avatar de imported_chiaravel
Administrator
 
Registrado: dic 2002
Ubicación: Buenos Aires - Argentina
Posts: 2.281
imported_chiaravel Valoración +2
Predeterminado

Cita:
Empezado por angelescj
Pablo no se me olvidó el insert, este tipo de consulta (select.. into) crea una tabla con los registros leídos.

:smt004
No por nada eres nuestra Ingeniera preferida.

Disculpa mi ignorancia :smt010
Responder Con Cita
  #7 (permalink)  
Antiguo 22-10-2005, 19:18:13
Avatar de J.M.Movilla
Administrador
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.490
J.M.Movilla Valoración +2
Predeterminado

A mí, Angeles, también me alegra el que sea cierto eso de que no hay mal que por bien no venga... Pero me alegra mucho más el que tú sepas tantísimo... y que además seas amiga mía...

Por supuesto que en adelante esa instrucción formará parte de mi vida.
__________________
José María Movilla Cuadrado
______________________
www.foro.vb-mundo.com
www.vb-mundo.com

Responder Con Cita
  #8 (permalink)  
Antiguo 22-10-2005, 21:53:55
Avatar de acalanto
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.308
acalanto ha deshabilitado la reputación
Predeterminado

Personalmente me sorprende que con tan pocas letras se puede hacer 'efectivo' lo que me cuesta varias páginas de código....


!! Genial !! estimada Angeles... el que sabe, sabe y el que no, pues eso, a la papelera de residuos....

Por mi lo digo, que en estos mundos los mandatos SQL y yo, encontramos ciertas incompatibilidades. Acabas de resolverme un problema quasi existencial
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último Mensaje
mejorar un select ThE_AsUs Visual Basic 6.00 1 23-01-2008 22:05:16
SELECT SUM Nika Visual Basic.NET 2003 & 2005 1 24-01-2007 19:21:21
Ayuda con un Select gavafra DataReports 0 20-09-2005 14:23:35
clausula select en vb6 gavafra Lenguaje SQL 1 05-05-2005 17:46:39
problemas con select en ado andree2525 Visual Basic 6.00 7 22-02-2005 20:18:19


La franja horaria es GMT. Ahora son las 08:08:52.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
A vBSkinworks Design

Alojado en el servicio Premium de Masquewebs | Diseño mejorado por MasqueWebs

right