Como validar estos campos

Iniciado por fedefrankk, 12 Septiembre 2008, 20:10 PM

0 Miembros y 1 Visitante están viendo este tema.

fedefrankk

Hola a todos soy nuevo en el foro y en visualbasic6, necesito validar 5 campos, text1,text2,text3,text4,text5. que son para una base de datos.

Private Sub Command3_Click()
If Text1.Text = "" Or Text2 = "" Or tex3 = "" Or Text4 = "" Or Text5 = "" Then
MsgBox "llene campo"
Text1.SetFocus
Else
x = "insert into stock values (" & Val(Text1) & ",'" & Text2 & "'," & Val(Text3) & "," & Val(Text4) & "," & Val(Text5) & ")"
conexion_basedatos.Execute x
MsgBox "Se grabo correctamente"
limpiar
End If

End Sub



hice esto pero no me funciona.. como puedo hacer?.. el text 2 es el unico que lleva letras
saludos a todo y gracias
:huh:

cobein

Adivino no soy por ahora, a eso posiblemente me dedique despues de jubilarme entre otras cosas.

Que tipo de validacion se supone que necesitas? solo numeros, solo letras, .... en que campo?

Si te explicas un poco seguramenete alguien te va a dar una mano.
http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.

cassiani

Hola, hay muchas formas y te recomiendo que para este caso trabajes con matrices de controles...

Código (vb) [Seleccionar]
Private Sub Text1_KeyPress(Index As Integer, KeyAscii As Integer)
    If Index <> 1 And Not IsNumeric(Chr$(KeyAscii)) And KeyAscii <> 8 Then KeyAscii = 0
End Sub


Suponiendo que el textbox que usas para introducir letras es el que cuyo index es igual a 1.

Vampersy

Hazle caso a cobein adivino y a cΔssiΔnі. Si vas a validar campos pùedes utilizar funciones que vienen en la ayuda del vb6, te sugiero echarle un vistazo a la ayuda, ahi la mayoria seguro hemos encontrado muchos tips y soluciones (me incluyo)  ;D...


Espero esta idea te sirva de algo:

Private Sub Command1_Click()
If verifica = True Then
    MsgBox "Ingrese los datos"
    Else
        x = "insert into stock values (" & Val(Text1) & ",'" & Text2 & "'," & Val(Text3) & "," & Val(Text4) & "," & Val(Text5) & ")"
conexion_basedatos.Execute x
MsgBox "Se grabo correctamente"
limpiar
End If
End Sub

---------------------------------------------------------
Public Function verifica() As Boolean
Dim ob As Variant
    For Each ob In Controls
        If TypeOf ob Is TextBox Then
            If Len(ob) = 0 Then
                verifica = True
                Exit For
            End If
        End If
      Next ob
End Function

en la linea:

  If TypeOf ob Is TextBox Then

pùedes especificar el tipo de objeto que deseas verificar.
Ahora, si vas a validar el contenido de cada textbox, puedes realizar un if.. else


Public Function insertar()


If Not (IsNumeric(Text1.Text)) Then
    MsgBox "teclee numeros"
  Exit Function
End If
   
    If Len(Text2) < 0 Then
    MsgBox "teclee algo"
    Exit Function
   
    If Not (IsNumeric(Text3)) Then
    MsgBox "teclee numeros"
    Exit Function
    End If
    'ya que paso todos los filtros:
    ''operaciones
   
End Function


Bueno estamos por aqui de carrera, espero ayudarte....saludos

fedefrankk

Hola Gracias por responderme, es un programa para guardar articulos en una base de datos mdb. si los campos estan en blanco y presiono grabar me sale un error que hay campos duplicados, entopnmces lo que quiero hacer es que si o si se rellenen los 5 campos text1..text2..tex5 eso es.. tambien no se como hacer por ejemplo si yo pongo en codigo 55 y otro viene y pone 55 que diga codigo duplicado.. son dos cosas validacion y eso ultimo no se como haccerlo ya recien empiezo a estudiar este lenjuage ,, gracias a todos
saludos fede




seba123neo

perdona por ser duro,pero es la verdad, leete un manual de ADO porque son dudas muy basicas...
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

byway

Sin usar muchas lineas de codigo puedes hacer esto:

Código (vb) [Seleccionar]
Private Sub Command1_Click()
If Text1 <> Empty And Text2 <> Empty And Text3 <> Empty Then

'' aki pones codigo para que guarde en tu base de datos las cajas de texto           

Else
  MsgBox ("Advertencia!...Debe llenar todo los campos...")

End If



y para que solo te permita poner numeros en los text1 y Text3 puedes usar esto:

Código (vb) [Seleccionar]
Private Sub Text1_KeyPress(KeyAscii As Integer)
    If Chr(KeyAscii) < "0" Or Chr(KeyAscii) > "9" Then
        KeyAscii = 0
    End If
End Sub


y lo mismo para el Text3 ...

Salu2.

fedefrankk

Citarperdona por ser duro,pero es la verdad, leete un manual de ADO porque son dudas muy basicas...
Hola   muchas gracias por tomarce el tiempo y responderme.. es verdad que me falta muchisimo de lo basico por eso posteo y te agradezco tu opinion porque se que es constructiva, hojala algun dia pueda yo ayudar..
muchas gracias
federico