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:
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.
Hola, hay muchas formas y te recomiendo que para este caso trabajes con matrices de controles...
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.
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
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
(http://www.foxen.com.ar/01/Dibujo.GIF)
perdona por ser duro,pero es la verdad, leete un manual de ADO porque son dudas muy basicas...
Sin usar muchas lineas de codigo puedes hacer esto:
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:
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.
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