
Consulta con Access
Publicado por juarez (7 intervenciones) el 20/10/2013 02:51:49
Buenas Tardes
Estoy haciendo un programa en cual primero tengo que loguear a varios usuarios, y dependiendo l usuario necesito que me muestre solo sus datos, el login ya lo tengo pero lo que no se es como al pasar el formulario principal me muestre directamente sus datos con la consulta ya hecha
aqui pongo el codigo del formulario login
Option Explicit On
Imports System.Data.OleDb
Public Class FrmLogin
Dim OK As Boolean
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' Cadena de conexión ( INDICAR EL PATH DE LA BASE DE DATOS )
Const C_CADENA = ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\PUNT1R.mdb;" & _
"Jet OLEDB:Database Password=A6G7T2GD;")
'Variable para el recordset
Dim Rst_Login As ADODB.Recordset
' crea el recordset
Rst_Login = New ADODB.Recordset
'Variable para el resultado del msgbox
Dim response As MsgBoxResult
Dim SQL As String
' consulta SQL ( Campos: Nombre y Password)Textbox ( txt_Usuario y txt_Password) Tabla: Usuarios()
SQL = "SELECT CLAVE, RFC, NOMBRE, APEPATERNO, APEMATERNO " & " FROM EMPLEADO " & "WHERE CLAVE = '" & txt_Usuario.Text & "'" & "AND RFC = '" & txt_Password.Text & "'"
With Rst_Login
' Abre el recordset
.Open(SQL, C_CADENA)
' Si el recordset está vacío es por que es incorrecto
If .EOF Then
MsgBox(" La CLAVE o el RFC es incorrecto, Login incorrecto ", MsgBoxStyle.Exclamation)
' Cierra y descarga el Recordset
Rst_Login.Close()
Rst_Login = Nothing
Exit Sub
Else
response = MsgBox(" Bienvenido " & Rst_Login.Fields("APEPATERNO").Value & Rst_Login.Fields("APEMATERNO").Value & Rst_Login.Fields("NOMBRE").Value, MsgBoxStyle.OkCancel)
' Abre el formulario principal del programa
If response = MsgBoxResult.Cancel Then
txt_Usuario.Clear()
txt_Password.Clear()
Return
Else
' Cierra y descarga el Recordset
'Rst_Login.Close()
' Rst_Login = Nothing
'Cambia el Flag para que no cierre el programa con End
OK = True
FrmPrincipal.Show()
Me.Close()
End If
End If
End With
' Descarga el formulario y prosigue en el SubMain
End Sub
Private Sub EMPLEADOBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Validate()
Me.EMPLEADOBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.PUNT1RDataSet)
End Sub
Private Sub FrmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'PUNT1RDataSet.EMPLEADO' table. You can move, or remove it, as needed.
Me.EMPLEADOTableAdapter.Fill(Me.PUNT1RDataSet.EMPLEADO)
End Sub
Private Sub EMPLEADODataGridView_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
OK = False
Me.Close()
End Sub
End Class
Estoy haciendo un programa en cual primero tengo que loguear a varios usuarios, y dependiendo l usuario necesito que me muestre solo sus datos, el login ya lo tengo pero lo que no se es como al pasar el formulario principal me muestre directamente sus datos con la consulta ya hecha
aqui pongo el codigo del formulario login
Option Explicit On
Imports System.Data.OleDb
Public Class FrmLogin
Dim OK As Boolean
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
' Cadena de conexión ( INDICAR EL PATH DE LA BASE DE DATOS )
Const C_CADENA = ("Provider=Microsoft.Jet.OLEDB.4.0;" & _
"Data Source=C:\PUNT1R.mdb;" & _
"Jet OLEDB:Database Password=A6G7T2GD;")
'Variable para el recordset
Dim Rst_Login As ADODB.Recordset
' crea el recordset
Rst_Login = New ADODB.Recordset
'Variable para el resultado del msgbox
Dim response As MsgBoxResult
Dim SQL As String
' consulta SQL ( Campos: Nombre y Password)Textbox ( txt_Usuario y txt_Password) Tabla: Usuarios()
SQL = "SELECT CLAVE, RFC, NOMBRE, APEPATERNO, APEMATERNO " & " FROM EMPLEADO " & "WHERE CLAVE = '" & txt_Usuario.Text & "'" & "AND RFC = '" & txt_Password.Text & "'"
With Rst_Login
' Abre el recordset
.Open(SQL, C_CADENA)
' Si el recordset está vacío es por que es incorrecto
If .EOF Then
MsgBox(" La CLAVE o el RFC es incorrecto, Login incorrecto ", MsgBoxStyle.Exclamation)
' Cierra y descarga el Recordset
Rst_Login.Close()
Rst_Login = Nothing
Exit Sub
Else
response = MsgBox(" Bienvenido " & Rst_Login.Fields("APEPATERNO").Value & Rst_Login.Fields("APEMATERNO").Value & Rst_Login.Fields("NOMBRE").Value, MsgBoxStyle.OkCancel)
' Abre el formulario principal del programa
If response = MsgBoxResult.Cancel Then
txt_Usuario.Clear()
txt_Password.Clear()
Return
Else
' Cierra y descarga el Recordset
'Rst_Login.Close()
' Rst_Login = Nothing
'Cambia el Flag para que no cierre el programa con End
OK = True
FrmPrincipal.Show()
Me.Close()
End If
End If
End With
' Descarga el formulario y prosigue en el SubMain
End Sub
Private Sub EMPLEADOBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
Me.Validate()
Me.EMPLEADOBindingSource.EndEdit()
Me.TableAdapterManager.UpdateAll(Me.PUNT1RDataSet)
End Sub
Private Sub FrmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'PUNT1RDataSet.EMPLEADO' table. You can move, or remove it, as needed.
Me.EMPLEADOTableAdapter.Fill(Me.PUNT1RDataSet.EMPLEADO)
End Sub
Private Sub EMPLEADODataGridView_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
OK = False
Me.Close()
End Sub
End Class
Valora esta pregunta


0