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:
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
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
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????
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