border

Miembros:
Mensajes:
Temas:
Online:

Ultimo Miembro:

 
 

Cuenta Bancaria en EEUU
  #1 (permalink)  
Antiguo 01-12-2007, 14:57:49
Junior Member
Site Admin
 
Registrado: oct 2007
Posts: 25
iratxe_83 Valoración +2
Predeterminado diferencias entre estas 2 insert??¿?¿

hola de nuevo:

Tengo otro pequeño problema que no se como solucionar.

Con vuestra ayuda he conseguido insertar cosas en una base de datos de esta forma:

cnn.Execute "INSERT INTO PRUEBA Values ('" & IIf(IsNull(TxtAutor) Or TxAutor = "", " ", TxtAutor) & "', '" & IIf(IsNull(TxtApellido) Or TxtApellido = "", " ", TxtApellido) & "', '" & IIf(IsNull(TxtDireccion) Or TxtDireccion = "", " ", TxtDireccion) & "' )"

Hasta aqui todo bien, pero porque no me funciona esta otra sentencia? alguien sabe?

sql1 ="'" & IIf(IsNull(TxtAutor) Or TxAutor = "", " ", TxtAutor) & "', '" & IIf(IsNull(TxtApellido) Or TxtApellido = "", " ", TxtApellido) & "', '" & IIf(IsNull(TxtDireccion) Or TxtDireccion = "", " ", TxtDireccion) & "'"

sql2 = "'" & IIf(IsNull(TxtFoto) Or TxtId = "", " ", TxtFoto) & "'"

cnn.Execute "INSERT INTO FOTO Values ( '" & sql1 & "','" & sql2 & "')"


Esque los datos que quiero insertar vienen de 2 formularios diferentes, y lo quiero insertar al final del todo, todo junto. No se porque me da error pero me dice error de sintaxis (falta operacion) en la expresión de consulta.

No son iguales esas dos formas?? no veo la diferencia

Muchisimas gracias por toda vuestra ayuda.
Responder Con Cita
  #2 (permalink)  
Antiguo 01-12-2007, 15:30:10
Moderador
 
Registrado: dic 2002
Ubicación: Madrid
Posts: 4.271
acalanto ha deshabilitado la reputación
Predeterminado

Lo mejor que puedes hacer es inspeccionar la cadena que generas antes de ejecutar el mandato, seguramente descubrirás en que lugar se encuentra el fallo y de lo contrario informate ien en la información que te devuelve el error sintáctico de SQL, pues seguramente te proporcionará parte de la cadena en la que (previo) se encuentra el fallo.

Piensa que SQL no se equivoca nunca, los equivocados comos los que escribimos la sentencia.
__________________
Un cordial saludo
-Acalanto-

Madrid - España

Visual Basic
Videos Programacion
Foro Programacion
Tutoriales Programacion
Responder Con Cita
  #3 (permalink)  
Antiguo 01-12-2007, 16:41:46
Avatar de J.M.Movilla
Administrator
 
Registrado: dic 2002
Ubicación: BURGOS - ESPAÑA
Posts: 5.431
J.M.Movilla Valoración +2
Predeterminado

Mira, si yo pongo ( '" & sql1 & "','" & sql2 & "') es igual que poner
Código:
( '" & "'" & IIf(IsNull(TxtAutor) Or TxAutor = "", " ", TxtAutor) & "', '" & IIf(IsNull(TxtApellido) Or TxtApellido = "", " ", TxtApellido) & "', '" & IIf(IsNull(TxtDireccion) Or TxtDireccion = "", " ", TxtDireccion) & "'" & "','" &  "'" & IIf(IsNull(TxtFoto) Or TxtId = "", " ", TxtFoto) & "'"  & "')
No sé por qué me da la impresión de que pones demasiadas, demasiadas... comillas... Al menos ya en el mismo comienzo de la sentencia se ve claramente que pones
Código:
( '" & "'" &
y debieras poner sólo
Código:
( '" &
En la unión de las dos variables pones
Código:
 & "'" & "','" &  "'" &
y debieras poner sólo
Código:
 & "','" &
Y cierras la sentencia con
Código:
 & "'"  & "')
y la deberías cerrar con
Código:
 & "')
A ver quitas esas comillas que sobran y se te soluciona el problema.

Es más. Yo te aconsejaría que volvieras a tu sentencia inicial, y en ella incrementases el nuevo campo, aunque provenga de distinto origen:
Código:
cnn.Execute "INSERT INTO PRUEBA Values ('" & IIf(IsNull(TxtAutor) Or TxAutor = "", " ", TxtAutor) & "', '" & IIf(IsNull(TxtApellido) Or TxtApellido = "", " ", TxtApellido) & "', '" & IIf(IsNull(TxtDireccion) Or TxtDireccion = "", " ", TxtDireccion) & "','" & IIf(IsNull(TxtFoto) Or TxtFoto = "", " ", TxtFoto) & "' )"
Observa cómo pones TxtId donde creo que debieras poner TxtFoto...
__________________
José María Movilla Cuadrado
______________________

Visual Basic Videos Programacion Foro Programacion
Tutoriales Programacion Trucos Programacion Codigos Programacion
Responder Con Cita
  #4 (permalink)  
Antiguo 01-12-2007, 18:45:36
Junior Member
Site Admin
 
Registrado: oct 2007
Posts: 25
iratxe_83 Valoración +2
Predeterminado

vale muchas gracias, lo voy a intentar haber si me funciona.
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
diferencias entre los tipos de modulos txispita1704 VBA (Excel, Word, Outlook, Access) 4 10-04-2008 08:13:20
Diferencias entre x64 y x86 telu sql 2005 1 16-01-2008 23:59:44
Diferencias entre .net 2003 y 2005 Game121 Visual Basic.NET 2003 & 2005 3 23-04-2007 06:42:42
Diferencias entre dao y ado? vbprog Visual Basic 6.00 5 13-04-2007 06:11:17
Diferencias entre recorset csic17 Visual Basic 6.00 2 14-01-2005 04:32:23


La franja horaria es GMT. Ahora son las 04:27:07.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, 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