atte: Neithan.
DO case
CASE EMPTY(thisform.txtidentidad.Value)
MESSAGEBOX("El campo identidad esta en blanco",48,"Aviso")
thisform.txtidentidad.SetFocus
CASE EMPTY(thisform.txtnombre.Value)
MESSAGEBOX("El Campo Nombre estan en blanco",48,"Aviso")
thisform.txtnombre.SetFocus
CASE EMPTY(thisform.txtdireccion.Value)
MESSAGEBOX("El campo direccion estan en blanco",48,"Aviso")
thisform.txtdireccion.SetFocus
CASE EMPTY(thisform.txttelefono.Value)
MESSAGEBOX("El campo telefono esta en blanco",48,"Aviso")
thisform.txttelefono.SetFocus
CASE EMPTY(thisform.txtsaldo.Value)
MESSAGEBOX("El campo Sueldo X Hora esta en blanco",48,"Aviso")
thisform.txtsaldo.SetFocus
OTHERWISE
SQLEXEC(lnHandle,"update clientes SET
nombre='"+thisform.txtnombre.Value
+"',direccion='"+thisform.txtdireccion.value+"',
telefono='"+thisform.txttelefono.Value
+"',saldo='"+thisform.txtsaldo.Value+"' where
identidad='"+thisform.txtidentidad.Value+"'")
thisform.txtidentidad.SetFocus
thisform.txtidentidad.Init
ENDCASE
¿Podrías indicar que error te informa?
Como primera medida te diría que revises los tipos de datos. Por
ejemplo: ¿saldo es caracter o numérico? De ser numérico no
necesitarías las comillas simples para encerrar el valor.
Por otro lado, veo que no estás incluyendo una cláusula WHERE, por lo
que tu consulta se ejecutaría sobre todos los registros de tu tabla
clientes. De ser así, si estás modificando alguno de los campos clave,
en el primer registro no tendrías problema, en el segundo tendrías
clave duplicada.
Éxitos.
--------------------------------------------------------------------------------------------------------
Y no me informa error, si no que no me actualiza, o no me deja
sobreescribir los datos de una clave primaria, y saldo lo tengo como
VARCHAR porque si le pongo
INTEGER me tira un error... y mejor lo formateo con "" y no tengo
claves repetidas... solo tengo una y es Identidad como clave
primaria.... !! como le hago¿?.
Saludos!!
cSql = "update clientes SET nombre='"+thisform.txtnombre.Value
+"',direccion='"+thisform.txtdireccion.value+"',
telefono='"+thisform.txttelefono.Value
+"',saldo='"+thisform.txtsaldo.Value+"' where
identidad='"+thisform.txtidentidad.Value+"'"
if SQLEXEC(lnHandle,cSql) < 1
aerr(arr)
messageb(aerr(2),0+64 ,"ERROR...")
endif
Bendiciones
> > Éxitos.- Ocultar texto de la cita -
>
> - Mostrar texto de la cita -
Mil gracias desde Argentina. Mi codigo ten{ia bien la lógica pero las sintaxis de los SQL son diferentes