complica el update un campo autonumerico??

28/06/2005 - 16:41 por Sonia | Informe spam
hola!
estoy actualizando unas erie de textbox com he hecho muchas veces pero me da
un error de q los tipos de datos no corresponden.
lo unico q se me ocurre es q el campo q pongo el el where esta en la bd
acces como autonumerico y no como texto.
tendra eso algo q ver??

os pongo lo q he hecho por si me podeis ayudar


'codi uno esta declarada como publica (string)



codi1 = Me.codi.Text 'es el registro(10)



'CLAVE es autonumerica. Sera ese el problema? Como tengo q cambiarlo?





mysql = "update telemarketing set FECHAS =#" & CDate(registro(0)) & "#,
NOMBRX = '" & registro(1) & "', "

mysql = mysql & "APELSX = '" & registro(2) & "', XESCR1 = '" &
registro(3) & "', "

mysql = mysql & "XLECT1 = '" & registro(4) & "', XMATE1 = '" &
registro(5) & "', "

mysql = mysql & "MATVAL = '" & registro(6) & "', XORTO1 = '" &
registro(7) & "', "

mysql = mysql & "MATESO = '" & registro(8) & "', COMENTARIO = '" &
registro(9) & "' "

mysql = mysql & "WHERE CLAVE='" & registro(10) & "'"

Preguntas similare

Leer las respuestas

#1 Diego Cofré
28/06/2005 - 17:18 | Informe spam
Sonia:
La unica limitacion que tiene un campo autonumerico es que no podes setearle
un valor determinado sino que eso lo maneja el motor. Es decir que el
autonumerico no puede estar en el SET de un UPDATE, pero no parece ser el
caso...
Proba sacandole las comillas al WHERE CLAVE=... (si es numerico no deberia
llevar comillas)
Si no es eso revisa que los campos que estas pasando en el SET correspondan
con los tipos de datos declarados en la tabla. Es decir, que los numericos
sean numeros y no tengan comillas.

Saludos
Diego
Respuesta Responder a este mensaje
#2 Sonia
29/06/2005 - 10:43 | Informe spam
pues no se lo q pasa pero si pongo en el where
mysql = mysql & "WHERE CLAVE= ' " & codigomuestra.Text & " ';"

donde en la bd CLAVE es primaria y autonumerica (tamaño campo:entero
largo)me sale el error:
'no coincide los tipos de datos con la expresion de criterios'

y si pongo esto otro si q funciona (pero no es lo q kiero)
KLVCOL no es primaria y es de tipo texto
mysql = mysql & "WHERE KVLCOL= ' " & codigocole.Text & " ';"



he probado tb a kitar las comillas, pero pasa lo mismo.

sabes pq puede haber esta diferencia?




"Diego Cofré" escribió en el mensaje
news:#qibDR$
Sonia:
La unica limitacion que tiene un campo autonumerico es que no podes


setearle
un valor determinado sino que eso lo maneja el motor. Es decir que el
autonumerico no puede estar en el SET de un UPDATE, pero no parece ser el
caso...
Proba sacandole las comillas al WHERE CLAVE=... (si es numerico no deberia
llevar comillas)
Si no es eso revisa que los campos que estas pasando en el SET


correspondan
con los tipos de datos declarados en la tabla. Es decir, que los numericos
sean numeros y no tengan comillas.

Saludos
Diego



Respuesta Responder a este mensaje
#3 marco
29/06/2005 - 22:03 | Informe spam
Diego sugiere quitarle las comillas simples:

pues no se lo q pasa pero si pongo en el where
mysql = mysql & "WHERE CLAVE= ' " & codigomuestra.Text & " ';"

donde en la bd CLAVE es primaria y autonumerica (tamaño campo:entero
largo)me sale el error:
'no coincide los tipos de datos con la expresion de criterios'




Por lo tanto debería ser:

mysql = mysql & "WHERE CLAVE= " & codigomuestra.Text & ";"



Puesto que es numérico y le estás pasando la clave como cadena

Saludos

Marco
Respuesta Responder a este mensaje
#4 Flavio Narvaez F
30/06/2005 - 22:28 | Informe spam
Lo correcto debe ser



"Sonia" escribió en el mensaje
news:%23xvuf9%
hola!
estoy actualizando unas erie de textbox com he hecho muchas veces pero me
da
un error de q los tipos de datos no corresponden.
lo unico q se me ocurre es q el campo q pongo el el where esta en la bd
acces como autonumerico y no como texto.
tendra eso algo q ver??

os pongo lo q he hecho por si me podeis ayudar


'codi uno esta declarada como publica (string)



codi1 = Me.codi.Text 'es el registro(10)



'CLAVE es autonumerica. Sera ese el problema? Como tengo q cambiarlo?





mysql = "update telemarketing set FECHAS =#" & CDate(registro(0)) & "#,
NOMBRX = '" & registro(1) & "', "

mysql = mysql & "APELSX = '" & registro(2) & "', XESCR1 = '" &
registro(3) & "', "

mysql = mysql & "XLECT1 = '" & registro(4) & "', XMATE1 = '" &
registro(5) & "', "

mysql = mysql & "MATVAL = '" & registro(6) & "', XORTO1 = '" &
registro(7) & "', "

mysql = mysql & "MATESO = '" & registro(8) & "', COMENTARIO = '" &
registro(9) & "' "

mysql = mysql & "WHERE CLAVE='" & registro(10) & "'"



Respuesta Responder a este mensaje
#5 Flavio Narvaez F
30/06/2005 - 22:28 | Informe spam
Lo correcto debe ser:

mysql = mysql & "WHERE CLAVE =" & registro(10)



"Sonia" escribió en el mensaje
news:%23xvuf9%
hola!
estoy actualizando unas erie de textbox com he hecho muchas veces pero me
da
un error de q los tipos de datos no corresponden.
lo unico q se me ocurre es q el campo q pongo el el where esta en la bd
acces como autonumerico y no como texto.
tendra eso algo q ver??

os pongo lo q he hecho por si me podeis ayudar


'codi uno esta declarada como publica (string)



codi1 = Me.codi.Text 'es el registro(10)



'CLAVE es autonumerica. Sera ese el problema? Como tengo q cambiarlo?





mysql = "update telemarketing set FECHAS =#" & CDate(registro(0)) & "#,
NOMBRX = '" & registro(1) & "', "

mysql = mysql & "APELSX = '" & registro(2) & "', XESCR1 = '" &
registro(3) & "', "

mysql = mysql & "XLECT1 = '" & registro(4) & "', XMATE1 = '" &
registro(5) & "', "

mysql = mysql & "MATVAL = '" & registro(6) & "', XORTO1 = '" &
registro(7) & "', "

mysql = mysql & "MATESO = '" & registro(8) & "', COMENTARIO = '" &
registro(9) & "' "

mysql = mysql & "WHERE CLAVE='" & registro(10) & "'"



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida