SoloCodigo
Programación General => Visual Basic 6.0 e inferiores => Mensaje iniciado por: becker24 en Jueves 10 de Abril de 2003, 17:03
-
Hola amigos, les escribo porque no logro hacer el bloqueo a nivel de registro, aqui incorporo el codigo para ver si me pueden decir en que estoy fallando :
Private Sub Text2_GotFocus()
If Text1.Text <> "" Then
If Not IsNumeric(Text1.Text) Then
MsgBox "El código debe ser numérico"
Text1.Text = ""
Text1.SetFocus
End If
rs.Index = "primarykey"
rs.Seek "=", Trim(Text1.Text)
If rs.NoMatch Then
Text2.SetFocus
rs.AddNew
Else
Text2.Text = rs!detalle
Set rs = base.OpenRecordset("dctos", dbOpenDynaset, False, dbPessimistic)
rs.Edit
End If
End If
End Sub
Private Suc cmd_grabar_click()
Rs!codigo = text1.text
Rs!detalle = text2.text
rs.update
End Sub
Les agradezco su ayuda.
Saludos :beer:
-
Complemento mi pregunta. El error que me arroja, es que al momento que envio a grabar los datos que edite, me arroja un mensaje en pantalla, que dice que no puede grabar, porque crearia registro duplicados. Eso no puede ser, ya que si se fijan en el codigo, el registro lo estoy editando, No estoyu creando uno nuevo, bueno de nuevo mil gracias y saludos.:beer:
-
Yo creo que es casi imposible ayudarte a conseguir que funcione tu código. Te aconsejo que borres todo y lo rehagas, porque estás mezclando órdenes que no tienen nada que ver con las variables a las que se las aplicas, tienes instrucciones que no pueden darte nada más que errores... Yo creo que así no sólo no consigues bloquear el registro, sino que no conseguirás ni siquiera abrir el fichero. ¿A tí no te da errores por todas partes?
Private Sub Text1_LostFocus()
If Text1.Text = "" Then
MsgBox "No puede dejar el código vacío"
Text1.SetFocus
exit sub
endif
If Not IsNumeric(Text1.Text) Then
MsgBox "El código debe ser numérico"
Text1.Text = ""
Text1.SetFocus
exit sub
End If
Text2.SetFocus
end Sub
Private Suc cmd_grabar_click()
Set rs = base.OpenRecordset("dctos", dbOpenDynaset, False, dbPessimistic)
rs.Requery
rs.FindFirst ("Codigo = '" & Text1.Text)
' (Yo no uso nunca el Seek, y por lo tanto no lo sé utilizar...)
if rs.Nomatch then
rs.AddNew
else
rs.Edit
endif
Rs!codigo = text1.text
Rs!detalle = text2.text
rs.update
rs.Close
End Sub
Supongo que si lo cambias a algo parecido a esto podrías conseguir que funcionara; pero lo estoy haciendo "de memoria" y con instrucciones que debo ajustar a tu forma de programar, no a mi forma...
Y recuerda que cuando se trata del mismo tema debes MODIFICAR TU MENSAJE, en vez de añadir un mensaje nuevo.
Saludos y mucha suerte