Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

VB 6.0: Usar Lector de Codigo de Barras

Estas en el tema de VB 6.0: Usar Lector de Codigo de Barras en el foro de Visual Basic clásico en Foros del Web. Una pregunta tengo un lector de codigo de barra y mi duda es en que evento tengo que poner la caja de texto para que ...
  #1 (permalink)  
Antiguo 05/11/2008, 09:58
 
Fecha de Ingreso: noviembre-2006
Mensajes: 227
Antigüedad: 17 años, 5 meses
Puntos: 6
VB 6.0: Usar Lector de Codigo de Barras

Una pregunta tengo un lector de codigo de barra y mi duda es en que evento tengo que poner la caja de texto para que al momento de que lea el codigo de barra me muestre los datos que se encuentran en la base de datos.

Hasta ahora tengo este codigo pero no se si sea del todo correcto.
Código:
Private Sub TextCodigo_Change()
    If rs.State = 1 Then rs.Close
        rs.Open "SELECT * FROM Principal WHERE Clave = '" & TextCodigo.Text & "'", cnn, adOpenStatic, adLockOptimistic
               If rs.RecordCount = 0 Then
            MsgBox "No Se encontraron Registro con el Numero de Control " & TextCodigo.Text & "", vbCritical, "Error de Entrada..."
            Else
            Do While Not rs.EOF
                rs.Fields("Nombre") = TextNombre.Text
                rs.Fields("Categoria") = TextCategoria.Text
                rs.Fields("Departamento") = TextDepartamento.Text
                rs.MoveNext
            Loop
        End If

End Sub
Cualquier Aporte se agradece y por lo pronto gracias
  #2 (permalink)  
Antiguo 05/11/2008, 10:37
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: VB 6.0: Usar Lector de Codigo de Barras

En principio está correcto, ya que el lector de código de barras funciona como un dispositivo de entrada normal. Lo que sí yo cambiaría es en vez de poner un MsgBox poner en un Label, ya que resultaría molesto ese mensaje si trato de introducir manualmente el código de barras.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 05/11/2008, 10:41
 
Fecha de Ingreso: noviembre-2006
Mensajes: 227
Antigüedad: 17 años, 5 meses
Puntos: 6
Respuesta: VB 6.0: Usar Lector de Codigo de Barras

y en que evento lo pondria por que no me muestra nada en el evento Change si me lee el codigo pero no me muestra nada de la base de datos y tampoco me genera ningun error.

Mi idea es que al momento de que lea el codigo me muestre lo existe en la base de datos de acuerdo al numero que se acaba de leer.

Espero haberme explicado y gracias David el Grande
  #4 (permalink)  
Antiguo 05/11/2008, 11:07
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: VB 6.0: Usar Lector de Codigo de Barras

¿Has probado con poner un MsgBox al comienzo para saber si realmente se está ejecutando el evento?. Porque en teoría debería ejecutarse.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 05/11/2008, 11:56
 
Fecha de Ingreso: noviembre-2006
Mensajes: 227
Antigüedad: 17 años, 5 meses
Puntos: 6
Respuesta: VB 6.0: Usar Lector de Codigo de Barras

Si se lo puse pero no me salta a esa linea
  #6 (permalink)  
Antiguo 05/11/2008, 12:00
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: VB 6.0: Usar Lector de Codigo de Barras

¿No muestra el MsgBox?. O sea, no se está produciendo el evento, lo cual es raro .

Quizás puedes intentar con otros, como LostFocus (cuando pierde el foco), o algún otro, no sé .
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 05/11/2008, 12:08
 
Fecha de Ingreso: noviembre-2006
Mensajes: 227
Antigüedad: 17 años, 5 meses
Puntos: 6
Respuesta: VB 6.0: Usar Lector de Codigo de Barras

mira ahora puse mi codigo asi:

Código:
Private Sub TextCodigo_Change()
    If rs.State = 1 Then rs.Close
        rs.Open "SELECT * FROM Principal WHERE Clave like '%" & TextCodigo.Text & "%'", cnn, adOpenStatic, adLockOptimistic
        
        If rs.RecordCount = 0 Then
            MsgBox "No Se encontraron Registro con el Numero de Control " & TextCodigo.Text & "", vbCritical, "Error de Entrada..."
            Else
                If rs.Fields("Clave") = TextCodigo.Text Then
                    TextNombre.Text = rs.Fields("Nombre")
                    TextCategoria.Text = rs.Fields("Categoria")
                    TextDepartamento.Text = rs.Fields("Departamento")
                    Else
                      '  MsgBox "No Se encontraron Registro con el Numero de Control " & TextCodigo.Text & "", vbCritical, "Error de Entrada..."
                End If
        End If

End Sub
y ahora si me funciona, solo queria preguntare si va bien el codigo de esa manera. por lo pronto gracias.
  #8 (permalink)  
Antiguo 05/11/2008, 12:15
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: VB 6.0: Usar Lector de Codigo de Barras

Pero al final se produce el evento .

Lo cierto es que esa comparación que estás haciendo no tiene mucho sentido, ya que en la consulta estás haciendo un LIKE mientras que después nuevamente haces una comparación de igualdad, lo cual no es necesario . Aunque, por lo menos evita que aparezca el MsgBox mientras uno va escribiendo el código de barras.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 05/11/2008, 12:18
 
Fecha de Ingreso: noviembre-2006
Mensajes: 227
Antigüedad: 17 años, 5 meses
Puntos: 6
Respuesta: VB 6.0: Usar Lector de Codigo de Barras

Lo que comentas es cierto, pero como dices al final realiza lo que se pretende, solo esperaremos si despues nos genera un Error.

Gracias David El Grande te agradezco tus comentarios.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:20.