Visual Basic para Aplicaciones - Crear condición para la entrada de datos en un inputbox Access 2010

Life is soft - evento anual de software empresarial
 
Vista:
Imágen de perfil de Víctor

Crear condición para la entrada de datos en un inputbox Access 2010

Publicado por Víctor (1 intervención) el 31/05/2017 22:38:00
Necesito controlar la entrada de peso y estatura de los trabajadores en un inputbox pero no acepta la condición, la primera vez sí restringe la entrada pero si en el segundo intento pongo de nuevo el número incorrectamente entonces sí se agrega a la tabla, lo que yo quiero es que no deje ingresar nada a la tabla a menos de que esté dentro del rango establecido. entre 20 kg y 200 kg (poniendo como ejemplo el peso del empleado)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
altura = CStr(Nz(rst.Fields("Estatura").Value, 0))
peso = CStr(Nz(rst.Fields("Peso").Value, 0))
 
If peso = "" Or peso = "0" Or altura = "" Or altura = "0" Then
desc = MsgBox("Los datos de peso o altura del empleado no estan ingresados," & vbCrLf & _
            "desea ingresarlos:", vbQuestion + vbYesNo, "DATOS EMPLEADOS")
 
  If desc = vbYes Then
 
    If peso = "" Or peso = "0" Or peso < 0 Then
        peso = InputBox("Ingrese el peso(Kgs): ", "Peso")
 
        If StrPtr(peso) = 0 Then
            peso = ""
            bandP = False
        End If
 
        If bandP = True Then
            If peso = "" Or Not IsNumeric(peso) Then
            peso = Nz(InputBox("El peso ingresado no es valido, ingrese solo numeros, Ingrese el peso(kgs): ", "Peso"), "")
            End If
 
        If peso > 201 Then
            peso = Nz(InputBox("El peso debe ser menor o igual a 200", "peso"), "")
            Exit Sub
 
        End If
 
        If peso < 19 Then
            peso = Nz(InputBox("El peso debe ser mayor o igual a 20", "peso"), "")
            Exit Sub
 
        End If
 
        End If
        pesoC = peso
    End If
 
    If altura = "" Or altura = "0" Then
        altura = InputBox("Ingrese la Estatura(Mts): ", "Estatura")
 
        If StrPtr(altura) = 0 Then
            altura = ""
            bandA = False
        End If
 
        If bandA = True Then
            If altura = "" Or Not IsNumeric(altura) Then
            altura = Nz(InputBox("La estatura ingresada no es valida, ingrese solo numeros, Ingrese la estatura(Mts): ", "Estatura"), "")
            End If
        If altura > 3 Then
        altura = Nz(InputBox("La estatura debe ser menor a 3 metros"), "Estatura")
        End If
 
        End If
        alturaC = altura
    End If
 
    'MsgBox "pesoC y alturaC:" & pesoC & alturaC
  Else
    pesoC = ""
    alturaC = ""
  End If
End If
 
Me.txtPesoRegistro.Value = peso
Me.txtAlturaRegistro.Value = altura
 
cst.Close
rst.Close
dbs.Close
Set rst = Nothing
Set dbs = Nothing
 
idA = Nz(Me.ID.Value, "")
 
Set cdbs = CurrentProject.Connection
 
cdbs.BeginTrans
 
If Not pesoC = "" Then
mysql = "UPDATE tblEmpleados SET Peso = " & pesoC & " WHERE Num = '" & numO & "'"
cdbs.Execute mysql
MsgBox "El dato de peso del empleado ha sido ingresado correctamente"
End If
 
If Not alturaC = "" Then
mysql = "UPDATE tblEmpleados SET Estatura = " & alturaC & " WHERE Num = '" & numO & "'"
cdbs.Execute mysql
MsgBox "El dato de estatura del empleado ha sido ingresado correctamente"
End If

Ojalá que alguien pueda ayudarme con esto, se lo agradecería mucho. Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.134
Oro
Ha mantenido su posición en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Crear condición para la entrada de datos en un inputbox Access 2010

Publicado por Antoni Masana (498 intervenciones) el 01/06/2017 06:58:54
Utiliza el comando While.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 24
Ha disminuido su posición en 4 puestos en Visual Basic para Aplicaciones (en relación al último mes)
Gráfica de Visual Basic para Aplicaciones

Crear condición para la entrada de datos en un inputbox Access 2010

Publicado por tresy (46 intervenciones) el 07/06/2017 19:47:39
Hola: El dato seguramente va a una tabla. Si es asi, establecé una regla de validación. P.ej.: >20 y <200, y establecé Requerido en Sí.
Esto en peso. Igual en altura.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar