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

Error en Control de Entrada/Salida

Estas en el tema de Error en Control de Entrada/Salida en el foro de Visual Basic clásico en Foros del Web. Buenos dias amigos, he hecho un sistema en Vb 2005 el cual es un sistema que controla quien entra con que entra y quien sale ...
  #1 (permalink)  
Antiguo 10/07/2010, 08:12
Avatar de JuJoGuAl  
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 9 meses
Puntos: 19
Pregunta Error en Control de Entrada/Salida

Buenos dias amigos, he hecho un sistema en Vb 2005 el cual es un sistema que controla quien entra con que entra y quien sale y con que sale..

Ahora la Bd use fue acces y ADO para trabajarla, ahora bien yo coloque que cuando un usuario colocar su cedula "123" si ya a utilizado el sistema anteriormente cargue automaticamente sus datos, de resto el tendra que hacerlo de forma manual..

eso lo hice con el evento leave del masketbox para la cedula, bien el problema es que si pongo por ejemplo cedula "123" cuyo nombre es TEST y congenito Familiar. cuando le doy al boton entrada (lo registra como persona que entro al local y limpia los texto) cuando pongo la cedula "22458" que es Pedro, me aparece los datos y la cedula de TEST, porque? es como si no limpiara los data de la anterior busqueda, como puedo resolverlo?

aqui les paso el Codigo del Form que tengo:

FORM1
Código vb:
Ver original
  1. Public Class Form1
  2.     Dim t As New DataTable
  3.     Dim fil As Integer = 0
  4.     Dim con, find, user As Boolean
  5.     Private Sub mostrartexto()
  6.         MaskedTextBox1.Text = CStr(t.Rows(fil)("cedula"))
  7.         TextBox1.Text = CStr(t.Rows(fil)("nombres"))
  8.         ComboBox1.Text = CStr(t.Rows(fil)("congenito"))
  9.     End Sub
  10.     Private Sub limpia()
  11.         TextBox1.Text = ""
  12.         TextBox3.Text = ""
  13.         ComboBox1.Text = ""
  14.     End Sub
  15.  
  16.     Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  17.         'con esto hago que el Form este siempre maximixado
  18.        Me.WindowState = FormWindowState.Maximized
  19.         'con esto hago que el Form se ajuste al tamaño que tiene la pantalla que lo esta ejecutando
  20.        Me.Width = Screen.PrimaryScreen.Bounds.Width
  21.         Me.Height = Screen.PrimaryScreen.Bounds.Height - 35 'le quito 35 por la barra de menu
  22.        MaskedTextBox1.Focus()
  23.     End Sub
  24.  
  25.     Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
  26.         End
  27.     End Sub
  28.  
  29.     Private Sub MaskedTextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles MaskedTextBox1.GotFocus
  30.         MaskedTextBox1.Text = ""
  31.     End Sub
  32.  
  33.     Private Sub MaskedTextBox1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles MaskedTextBox1.Leave
  34.         If MaskedTextBox1.Text = "" Then
  35.             con = False
  36.         Else
  37.             con = True
  38.             conexion()
  39.             table.Open("SELECT * FROM usuarios WHERE cedula= " & MaskedTextBox1.Text & "", conex, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
  40.             If table.EOF Then
  41.                 find = False
  42.                 limpia()
  43.                 'table.Close()
  44.            Else
  45.                 find = True
  46.                 user = True
  47.                 Dim cone As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=registro.mdb"
  48.                 Dim sql As String = "SELECT * FROM usuarios WHERE cedula=" & MaskedTextBox1.Text
  49.                 Dim dataap As New OleDb.OleDbDataAdapter(sql, cone)
  50.                 dataap.Fill(t)
  51.                 dataap.Dispose()
  52.                 mostrartexto()
  53.             End If
  54.         End If
  55.         If con = True Then
  56.             conex.Close()
  57.         End If
  58.         If find = True Then
  59.             TextBox3.Focus()
  60.         End If
  61.     End Sub
  62.  
  63.     Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
  64.         If MaskedTextBox1.Text = "" Or TextBox1.Text = "" Or ComboBox1.Text = "" Then
  65.             con = False
  66.             MsgBox("Campos Vacios, no se Puede realizar la Operacion", MsgBoxStyle.Critical, "Sistema")
  67.         Else
  68.             'Try
  69.            con = True
  70.             conexion()
  71.             If user = True Then
  72.                 'El Usuario Existe en la Bd no lo Inserto
  73.                'Busco si el Usuario ya a entrado en el Sistema pero no a Salido.
  74.                table.Open("SELECT * FROM control WHERE cedula='" & MaskedTextBox1.Text & "' and hsalida='NADA'", conex, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
  75.                 If table.EOF Then
  76.                     'No Encontro nada, es decir el Usuario, entra por Primera vez.
  77.                    'Inserto el Registro de Entrada
  78.                    table.Open("INSERT INTO control (cedula,nombre,congenito,hentrada,hsalida,fentrada,fsalida,observacionen,observacionsal) VALUES (" & MaskedTextBox1.Text & ",'" & TextBox1.Text & "','" & ComboBox1.Text & "','" & Label8.Text & "','NADA','" & Label7.Text & "','NADA','" & TextBox3.Text & "','NADA')", conex, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
  79.                     MsgBox("Entrada Añadida")
  80.                 Else
  81.                     'El Usuario ya habia entrado, por lo tanto no puede volver a entrar
  82.                    MsgBox("Usted ya Entro!, por favor llene el control de Salida para volver a entrar", MsgBoxStyle.Critical, "Sistema")
  83.                 End If
  84.             Else
  85.                 'El Usuario es Nuevo lo inserto en la Bd del Sistema
  86.                table.Open("INSERT INTO usuarios (cedula,nombres,congenito) VALUES (" & MaskedTextBox1.Text & ",'" & TextBox1.Text & "','" & ComboBox1.Text & "')", conex, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
  87.                 'table.Close()
  88.                'Inserto el Registro de Entrada
  89.                table.Open("INSERT INTO control (cedula,nombre,congenito,hentrada,hsalida,fentrada,fsalida,observacionen,observacionsal) VALUES (" & MaskedTextBox1.Text & ",'" & TextBox1.Text & "','" & ComboBox1.Text & "','" & Label8.Text & "','NADA','" & Label7.Text & "','NADA','" & TextBox3.Text & "','NADA')", conex, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
  90.                 MsgBox("Entrada Añadida")
  91.             End If
  92.                 'Catch ex As Exception
  93.                'MsgBox(ex.Message)
  94.                'End Try
  95.            End If
  96.         If con = True Then
  97.             conex.Close()
  98.             con = False
  99.             limpia()
  100.             MaskedTextBox1.Focus()
  101.         End If
  102.     End Sub
  103.  
  104.     Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
  105.         Label7.Text = DateAndTime.Today
  106.         Label8.Text = DateAndTime.TimeOfDay
  107.     End Sub
  108.  
  109.     Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
  110.         If MaskedTextBox1.Text = "" Or TextBox1.Text = "" Or ComboBox1.Text = "" Then
  111.             con = False
  112.             MsgBox("Campos Vacios, no se Puede realizar la Operacion", MsgBoxStyle.Critical, "Sistema")
  113.         Else
  114.             'Try
  115.            con = True
  116.             conexion()
  117.             If user = True Then
  118.                 'El Usuario Existe en la Bd no lo Inserto
  119.                'Busco si el Usuario ya a entrado en el Sistema pero no a Salido.
  120.                table.Open("SELECT * FROM control WHERE cedula='" & MaskedTextBox1.Text & "' and hentrada='NADA'", conex, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
  121.                 If table.EOF Then
  122.                     'No encontro nada Es decir el Usuario ya entro...
  123.                    'table.Open("INSERT INTO control (cedula,nombre,congenito,hentrada,hsalida,fentrada,fsalida,observacionen,observacionsal) VALUES (" & MaskedTextBox1.Text & ",'" & TextBox1.Text & "','" & ComboBox1.Text & "','" & Label8.Text & "','NADA','" & Label7.Text & "','NADA','" & TextBox3.Text & "','NADA')", conex, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
  124.                    table.Close()
  125.                     table.Open("UPDATE control SET hsalida='" & Label8.Text & "', fsalida='" & Label7.Text & "', observacionsal='" & TextBox3.Text & "' WHERE cedula='" & MaskedTextBox1.Text & "' and hsalida='NADA'", conex, ADODB.CursorTypeEnum.adOpenDynamic, ADODB.LockTypeEnum.adLockOptimistic)
  126.                     MsgBox("Salida Añadida")
  127.                 Else
  128.                     'El Usuario ya habia entrado
  129.                    MsgBox("Usted ya Entro, por favor llene el control de salida para volver a entrar", MsgBoxStyle.Critical, "Sistema")
  130.                 End If
  131.             Else
  132.                 'El usuario es nuevo y por lo tanto tubo que haberse registrado en la entrada
  133.                MsgBox("El Usuario es nuevo en el Sistema y no tiene Registro de Entrada, por lo tanto, Registre su Entrada, para luego la Salida!", MsgBoxStyle.Critical, "Sistema")
  134.             End If
  135.             'Catch ex As Exception
  136.            'MsgBox(ex.Message)
  137.            'End Try
  138.        End If
  139.         If con = True Then
  140.             conex.Close()
  141.             con = False
  142.             limpia()
  143.             MaskedTextBox1.Focus()
  144.         End If
  145.     End Sub
  146. End Class

y el Modulo:

Module1
Código vb:
Ver original
  1. Module Module1
  2.     ' Creo table como un recorset (aca se cargan datos ya sea de SELECT o INSERT o cualuier otro
  3.    Public table As New ADODB.Recordset
  4.     ' Creo command que son los comandos me permitira ejecutar comandos
  5.    Public comand As New ADODB.Command
  6.     'Creo Conex que manejara la conexion como ubicacion de la BD entre otras
  7.    Public conex As New ADODB.Connection
  8.  
  9.     Public Sub conexion()
  10.         With conex
  11.             .Provider = "microsoft.jet.oledb.4.0"
  12.             .ConnectionString = "Data Source='registro.mdb'"
  13.             .Open()
  14.         End With
  15.     End Sub
  16.  
  17. End Module

la Bd se llama Registro, y tiene 2 tablas:
Usuario:
Código Acces:
Ver original
  1. cedula-numero
  2. nombres-texto
  3. congenito-texto

control:
Código Acces:
Ver original
  1. cod-autonumerico
  2. cedula-texto
  3. nombre-texto
  4. congenito-texto
  5. hentrada-texto
  6. hsalida-texto
  7. fentrada-texto
  8. fsalida-texto
  9. observacionen-texto
  10. observacionsal-texto

Alguien ayudeme :(

Etiquetas: control
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 09:45.