Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: TheGhost(Z) en 18 Noviembre 2005, 20:17 pm



Título: SQL modificar un registro de Acces no guarda!
Publicado por: TheGhost(Z) en 18 Noviembre 2005, 20:17 pm
Hola amigos.. Aqui como siempre molestandolos.

Tengo un problemilla al guardar datos. Bueno, no exactamente al guardarlos, sino al guardar un dato despues de modificar por un dato en balnco.

Ejemplo:

Código:
Set Cn = New Connection
Set Rs = New Recordset
Cn.Open ("Provider=Microsoft.Jet.OLEDB.4 .......... ect, etc")
Rs.Open "select *  from Remitentes ", ........ ect, ect y etc

With Rs
.Find "CodRem='" + Trim(Text1.Text) + "'"
.Fields(2) = Text2.Text    'Telefono de casa
.Fields(3) = Text3.Text    ' Telefono de trabajo
End With
Rs.Update

Rs.Close
Cn.Close

Bueno al inicar:
Telefono de casa     = 3885017
Telefono de trabajo = 4240674

Lo que pasa es que quiero modificar que ya no tenga el telefono de trabajo: es decir el valor del text3.text = ""

Pues al momento de guardar no guarda los cambios. porque sucede eso.

Pero si cambio de numero si se modifican los datos

Pues segun veo que si cuaalquier de mis valores es igual a vacio y mi registro tiene dato. no puede sobreescribirla, pues porqeu no hay dato que ingresar. Eso entiendo.

Pero si en el registro hay un dato=5 y modifico por otro dato=6 pues si puede cambair esos datos..

He intentado poniendo de que si eldato esta vacia pues sea igual a " " (un espacio). asi sobreescribe el dato del registro por " " (un espacio)... pero eso no lo veo tedioso y molesto ademas si quiero modificar un dato por nada pues deberia borrar el dato del registro simplemente.

Porfa.. si me podrian sugerir o si conocen de alguna otra sentencia ...

Atte,
Pedro Jeri


Título: Re: SQL modificar un registro de Acces no guarda!
Publicado por: el_chente23 en 19 Noviembre 2005, 00:49 am
Probablemente no te lo modifica porque el campo a de ser numerico y el espacio en blanco es caracter, en todo caso prueba metiendo 0, o el campo que acepte nulos y cuando el text este en blanco metele null.

Saludos


Título: Re: SQL modificar un registro de Acces no guarda!
Publicado por: TheGhost(Z) en 19 Noviembre 2005, 11:29 am
En un foro anterior me recomendaron que use tipo numerico solo cuando vaya hacer operaciones matematicas. Por ello los campos Telefono de casa y trabajo son de tipo caracter.

¿Pero como hago para poner la sentencia Null?

algo asi????

Código:
Set Cn = New Connection
Set Rs = New Recordset
Cn.Open ("Provider=Microsoft.Jet.OLEDB.4 .......... ect, etc")
Rs.Open "select *  from Remitentes ", ........ ect, ect y etc

With Rs
.Find "CodRem='" + Trim(Text1.Text) + "'"

If Text2.Text="" Then
.Fields(2) = Null   'Telefono de casa
End If

If Text3.Text="" Then
.Fields(3) = Null     ' Telefono de trabajo
End If

End With
Rs.Update

Rs.Close
Cn.Close


Un porsi acaso mas... no necesita poner al inicio un Rs.Edit ,verdad?



Saludos
Pedro Jeri