elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  controles de error
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: controles de error  (Leído 7,133 veces)
leliCabello

Desconectado Desconectado

Mensajes: 158


Ver Perfil
controles de error
« en: 20 Mayo 2010, 20:39 pm »

qtal amigos, miren este es un boton guardar, que ya guarda al darle clik, pero me falta controlar que no guarden datos en blanco, como puedo hacer, ya q si no escojo al cliente se guarda asi .. ayudenme porfassssssS :-(
Código:
Private Sub cmdGuardar_Click()
Dim rs As New ADODB.Recordset
    If adoDatos.Recordset.RecordCount > 0 Then
        adoDatos.Recordset.MoveFirst
        rs.Open "LLAMADAS", cn, adOpenStatic, adLockOptimistic
        For i = 1 To adoDatos.Recordset.RecordCount
            rs.AddNew
            rs("cod_cliente") = adoDatos.Recordset("cod_cliente")
            rs("cod_tipo") = adoDatos.Recordset("cod_tipo")
            rs("llamadatipo") = adoDatos.Recordset("llamadatipo")
            rs("fecha") = Date
            rs("descripcion") = adoDatos.Recordset("descripcion")
            rs("cod_usuario") = adoDatos.Recordset("cod_usuario")
            rs.Update
            adoDatos.Recordset.MoveNext
        Next
        BorraRegistros "TEMPORAL_LLAMADAS", ""
        adoDatos.Refresh
        ModoEditar False
        MsgBox "El registro se guardó con éxito", , "TICOM S.R.L."
    End If
End Sub


En línea

ssccaann43 ©


Desconectado Desconectado

Mensajes: 792


¬¬


Ver Perfil
Re: controles de error
« Respuesta #1 en: 20 Mayo 2010, 22:46 pm »

Primera vez que veo algo asi...!

Amiga usted por casualidad reviso el codigo que le sugeri? Alli le explica como puede guardar, modificar, eliminar, etc...!


En línea

- Miguel Núñez
Todos tenemos derechos a ser estupidos, pero algunos abusan de ese privilegio...
"I like ^TiFa^"
leliCabello

Desconectado Desconectado

Mensajes: 158


Ver Perfil
Re: controles de error
« Respuesta #2 en: 21 Mayo 2010, 00:25 am »

mira, aqui lo agregue en mi codigo, porfavor ayudenmmeeee :-(
En línea

leliCabello

Desconectado Desconectado

Mensajes: 158


Ver Perfil
Re: controles de error
« Respuesta #3 en: 21 Mayo 2010, 00:28 am »

me bota un error: error de compilación; etiqueta no definida :huh:
Código:
Private Sub cmdGuardar_Click()
Dim rs As New ADODB.Recordset
    If adoDatos.Recordset.RecordCount > 0 Then
        adoDatos.Recordset.MoveFirst
        rs.Open "LLAMADAS", cn, adOpenStatic, adLockOptimistic
        For i = 1 To adoDatos.Recordset.RecordCount
            rs.AddNew
            rs("cod_cliente") = adoDatos.Recordset("cod_cliente")
            rs("cod_tipo") = adoDatos.Recordset("cod_tipo")
            rs("llamadatipo") = adoDatos.Recordset("llamadatipo")
            rs("fecha") = Date
            rs("descripcion") = adoDatos.Recordset("descripcion")
            rs("cod_usuario") = adoDatos.Recordset("cod_usuario")
            rs.Update
            adoDatos.Recordset.MoveNext
        Next
        BorraRegistros "TEMPORAL_LLAMADAS", ""
        adoDatos.Refresh
        ModoEditar False
        MsgBox "El registro se guardó con éxito", , "TICOM S.R.L."
           
           On Error GoTo ErrorSub
           If Trim(cboClientes.Text) = "" Then
        MsgBox "No se ha indicado el cliente", vbCritical, "Datos incompletos"
        cboClientes.SetFocus
        Exit Sub

    End If
       
    End If
End Sub
En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: controles de error
« Respuesta #4 en: 21 Mayo 2010, 04:05 am »

Hola, leliCabello , cuando haces algo como "On Error GoTo ErrorSub" tambien tenes que crear la etiqueta, ahi solo la definiste, pero nunca la creaste, busca esto porque es de manual...aparte no es por ofender ni nada por el estilo, pero al codigo lo veo algo confuso...tendrias que definir arriba de todo la etiqueta y el pedazo de codigo que chequea el cliente debe ir antes de ingresar los registros, no tiene logica chequearlo despues de que ya ha sido ingresado, aparte si eso ocurre seguro te tira error porque no existe el codigo...tampoco hagas esto "As New" es por un tema de rendimiento y de posibles errores. mejor primero lo declaras con As y despues le haces el Set (como con cualquier objeto).

saludos.
En línea

leliCabello

Desconectado Desconectado

Mensajes: 158


Ver Perfil
Re: controles de error
« Respuesta #5 en: 22 Mayo 2010, 02:27 am »

porfavor amigos ayudenme ..... mira adecuense a mi codigo, la verdad q lo q me falta es algo sencillo para ustedes ... tan solo me falta que el usuario quue hace un nuevo registro no deje campos en blanco ayudenmeeee plis  :-( :-( :-(
Código:
Private Sub cmdGuardar_Click()
Dim rs As New ADODB.Recordset
    If adoDatos.Recordset.RecordCount > 0 Then
        adoDatos.Recordset.MoveFirst
        rs.Open "LLAMADAS", cn, adOpenStatic, adLockOptimistic
        For i = 1 To adoDatos.Recordset.RecordCount
            rs.AddNew
            rs("cod_cliente") = adoDatos.Recordset("cod_cliente")
            rs("cod_tipo") = adoDatos.Recordset("cod_tipo")
            rs("llamadatipo") = adoDatos.Recordset("llamadatipo")
            rs("fecha") = Date
            rs("descripcion") = adoDatos.Recordset("descripcion")
            rs("cod_usuario") = adoDatos.Recordset("cod_usuario")
            rs.Update
            adoDatos.Recordset.MoveNext
        Next
        BorraRegistros "TEMPORAL_LLAMADAS", ""
        adoDatos.Refresh
        ModoEditar False
        MsgBox "El registro se guardó con éxito", , "TICOM S.R.L."
    End If
End Sub
En línea

leliCabello

Desconectado Desconectado

Mensajes: 158


Ver Perfil
Re: controles de error
« Respuesta #6 en: 22 Mayo 2010, 20:29 pm »

bno para q me salga todo lo que tenia que hacer era omitir On Error GoTo ErrorSub
En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: controles de error
« Respuesta #7 en: 24 Mayo 2010, 02:08 am »

porfavor amigos ayudenme ..... mira adecuense a mi codigo, la verdad q lo q me falta es algo sencillo para ustedes ... tan solo me falta que el usuario quue hace un nuevo registro no deje campos en blanco ayudenmeeee plis  :-( :-( :-(
Código:
Private Sub cmdGuardar_Click()
Dim rs As New ADODB.Recordset
    If adoDatos.Recordset.RecordCount > 0 Then
        adoDatos.Recordset.MoveFirst
        rs.Open "LLAMADAS", cn, adOpenStatic, adLockOptimistic
        For i = 1 To adoDatos.Recordset.RecordCount
            rs.AddNew
            rs("cod_cliente") = adoDatos.Recordset("cod_cliente")
            rs("cod_tipo") = adoDatos.Recordset("cod_tipo")
            rs("llamadatipo") = adoDatos.Recordset("llamadatipo")
            rs("fecha") = Date
            rs("descripcion") = adoDatos.Recordset("descripcion")
            rs("cod_usuario") = adoDatos.Recordset("cod_usuario")
            rs.Update
            adoDatos.Recordset.MoveNext
        Next
        BorraRegistros "TEMPORAL_LLAMADAS", ""
        adoDatos.Refresh
        ModoEditar False
        MsgBox "El registro se guardó con éxito", , "TICOM S.R.L."
    End If
End Sub

eso es facil, tendrias que poner un chequeo antes de ejecutar el codigo que guarda los registros, algo asi lo haria yo.

Código
  1. Private Sub cmdGuardar_Click()
  2.    On Error GoTo ErrorInsertar
  3.  
  4.    If txtCodCliente.Text = "" Then
  5.        MsgBox "Debe Ingresar un Codigo de Cliente", vbExclamation
  6.        txtCodCliente.SetFocus
  7.        Exit Sub
  8.    End If
  9.  
  10.    If txtCodTipo.Text = "" Then
  11.        MsgBox "Debe Ingresar un Tipo de Codigo", vbExclamation
  12.        txtCodTipo.SetFocus
  13.        Exit Sub
  14.    End If
  15.  
  16.    Dim rs As ADODB.Recordset 'Declaras el objeto recordset
  17.    Set rs = New ADODB.Recordset 'Creas el objeto recordset
  18.  
  19.    If adoDatos.Recordset.RecordCount > 0 Then
  20.        adoDatos.Recordset.MoveFirst
  21.        rs.Open "LLAMADAS", cn, adOpenStatic, adLockOptimistic
  22.        For i = 1 To adoDatos.Recordset.RecordCount
  23.            rs.AddNew
  24.            rs("cod_cliente") = adoDatos.Recordset("cod_cliente")
  25.            rs("cod_tipo") = adoDatos.Recordset("cod_tipo")
  26.            rs("llamadatipo") = adoDatos.Recordset("llamadatipo")
  27.            rs("fecha") = Date
  28.            rs("descripcion") = adoDatos.Recordset("descripcion")
  29.            rs("cod_usuario") = adoDatos.Recordset("cod_usuario")
  30.            rs.Update
  31.            adoDatos.Recordset.MoveNext
  32.        Next
  33.        BorraRegistros "TEMPORAL_LLAMADAS", ""
  34.        adoDatos.Refresh
  35.        ModoEditar False
  36.        MsgBox "El registro se guardó con éxito", , "TICOM S.R.L."
  37.    End If
  38.  
  39.    Exit Sub
  40.  
  41. ErrorInsertar:
  42.    MsgBox "Se ha producido un error al ingresar los datos", vbCritical
  43. End Sub

fijate que por cada campo que necesito chequear voy agregando un bloque IF...yo ahi puse 2 solamente , vos pones todos los que necesites chequear...

saludos.

En línea

Shell Root
Moderador Global
***
Desconectado Desconectado

Mensajes: 3.723


<3


Ver Perfil WWW
Re: controles de error
« Respuesta #8 en: 24 Mayo 2010, 02:28 am »

No entiendo lo del .SetFocus. Obviamente sé para que sirve y como se usa. Pero dado el caso en el que sean 3 campos y solo inserte el primero. El .SetFocus, se situará dentro del ultimo objeto. Es decir,
Código
  1. Text1.Text = "Hola" ' Text Lleno
  2. Text2.Text = "" ' Text Vacio
  3. Text3.Text = "" ' Text Vacio
En este caso y con tu código el .SetFocus, quedará dentro del Text3 o me equivoco?
« Última modificación: 24 Mayo 2010, 02:30 am por Alex@ShellRoot » En línea

Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.
seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: controles de error
« Respuesta #9 en: 24 Mayo 2010, 02:41 am »

supongamos que tiene 3 textbox, y hace esto:

Código
  1.  
  2.    If Text1.Text = "" Then
  3.        MsgBox "Debe Completar el Text1...", vbExclamation
  4.        Text1.SetFocus
  5.        Exit Sub
  6.    End If
  7.  
  8.    If Text2.Text = "" Then
  9.        MsgBox "Debe Completar el Text2...", vbExclamation
  10.        Text2.SetFocus
  11.        Exit Sub
  12.    End If
  13.  
  14.    If Text3.Text = "" Then
  15.        MsgBox "Debe Completar el Text3...", vbExclamation
  16.        Text3.SetFocus
  17.        Exit Sub
  18.    End If

los MsgBox son de ejemplo nomas...

sigueindo tu ejemplo Alex...si completa el primero entonces no entra por el primer IF y pasa al segundo...cuando vea el Text2 vacio entra por el segundo IF...posiciona el foco en el Text2...pero el Text3 ni lo valida porque ya encontro el Text2 vacio y sale del Sub...obviamente si se usa este metodo se tiene que poner los IF en orden a los campos que queremos chequear..porque si ponemos que valide primero el text3 antes que el text1 estaria mal...

saludos
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Tabla con controles cruzados
Desarrollo Web
oscarcaronte 3 2,625 Último mensaje 6 Abril 2021, 14:23 pm
por UnaiiM
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines