none
como hacer una bitacora de inicio de sesion y salida RRS feed

  • Pregunta

  • hola feliz tarde, quisiera saber si es posible colocar un registro (bitácora) de quien ingresa , sale y que sección visualiza..... y que se guarde en una base de datos ... sera posible eso ? .... utilizo VB 2010 Express

    este es el código del login que utilizo para que ingresen al sistema:

    pero me faltaría saber como agregar la bitácora.En la DB del LOGINASCENSORES tengo, nombre, apellido, carnet, usuario, contraseña, Fingreso,Hingreso,Hsalida

    quiero acotar que son varias (7) tablas de LOGIN diferentes nombre con las mismas caracteristicas(tengo, nombre, apellido, carnet, usuario, contraseña, Fingreso,Hingreso,Hsalida)

    Private Sub ButtonGcia_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonGcia.Click
            Consulta = "SELECT Usuario, Contraseña FROM LOGINASCENSORES WHERE Usuario='" & TextUserGcia.Text & "'AND Contraseña='" & TextPassGcia.Text & "'"
            Comando = New OleDbCommand(Consulta, Conexion)
            Adapter.SelectCommand = Comando
            Lector = Comando.ExecuteReader
            If Lector.HasRows = True Then
                MsgBox("Aceptado", MsgBoxStyle.Information, "Acceso Permitido")
                Vaciar_Focalizar8()
                Gerencia.Show()
            Else
                MsgBox("Usuario i/o Contraseña incorrectos", MsgBoxStyle.Critical, "Advertencia")
                Vaciar_Focalizar8()
            End If
        End Sub

        Private Sub Vaciar_Focalizar8()
            TextPassGcia.Clear()
            TextUserGcia.Clear()
            TextUserGcia.Focus()
        End Sub


    • Editado Dorittoxd miércoles, 25 de marzo de 2020 20:07
    miércoles, 25 de marzo de 2020 20:06

Respuestas

  • Hola si, eso debería ir en cada evento que realices, a fin de cuentas es solo copiar y pegar el mismo codigo en todas las paginas!

    Esta es la tabla que registra la actividad.

    La del login

    El login

    Y como queda la tabla despues de haber iniciado sesion

        Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
            Dim accionRealizada As String = "Inicio de sesion y redireccionado a Home" //Aqui pones que es lo que hace el usuario en el boton o a que pagina va
    
            If txtuser.Text = "" Then
                MsgBox("Please Enter The Username !", MsgBoxStyle.OkOnly)
    
            End If
    
    
            If txtpass.Text = "" Then
                MsgBox("Please Enter The Password !", MsgBoxStyle.OkOnly)
    
            End If
    
            Dim connectionString As String = "Server=localhost\SQLEXPRESS;Database=Testing;Trusted_Connection=True;"
            Dim conLogin As SqlClient.SqlConnection = New SqlClient.SqlConnection(connectionString)
            conLogin.Open()
    
    
            Dim queryString As String = "SELECT usuario, contrasena FROM usuarios WHERE usuario = @usuario AND contrasena = @contrasena"
            Using logearse As New SqlClient.SqlCommand(queryString, conLogin)
                'I have to guess at your DB types and lengths
                logearse.Parameters.AddWithValue("@usuario", txtuser.Text)
                logearse.Parameters.AddWithValue("@contrasena", txtpass.Text)
                logearse.ExecuteNonQuery()
                MsgBox("Bienvenido " + txtuser.Text + " Inició sesión exitosamente ", MsgBoxStyle.OkOnly)
    
                Dim queryAction As String = "Insert INTO log_activity (usuario, action) values (@usuario, @action)"
                Using obtenerAcciones As New SqlClient.SqlCommand(queryAction, conLogin)
                    obtenerAcciones.Parameters.AddWithValue("@usuario", txtuser.Text)
                    obtenerAcciones.Parameters.AddWithValue("@action", accionRealizada)
                    obtenerAcciones.ExecuteNonQuery()
    
                End Using
    
                Response.Redirect("~/home.aspx")
            End Using
    
    
            conLogin.Close()
    
        End Sub

    • Marcado como respuesta Dorittoxd jueves, 26 de marzo de 2020 18:04
    jueves, 26 de marzo de 2020 15:12
    Moderador
  • No te preocupes, me imagino que ya tienes el string de conexión a tu base de datos en Access entonces lo unico que tendriamos que cambiar es la manera de ingresar los datos a la base de datos. Se siguen utilizando SQL sentences pero solo es cambiar el proveedor de datos.

    Dim accionRealizada As String = "Inicio de sesion y redireccionado a Home" //Aqui pones que es lo que hace el usuario en el boton o a que pagina va
    
            If txtuser.Text = "" Then
                MsgBox("Please Enter The Username !", MsgBoxStyle.OkOnly)
    
            End If
    
    
            If txtpass.Text = "" Then
                MsgBox("Please Enter The Password !", MsgBoxStyle.OkOnly)
    
            End If
    
            Dim connectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;Persist Security Info=False;"
    	Dim conLogin As New OleDb.OleDbConnection = New OleDb.OleDbConnection(connectionString)
    	Dim sqlconn As New OleDb.OleDbConnection
                Dim sqlquery As New OleDb.OleDbCommand
                sqlconn.ConnectionString = connString
                sqlquery.Connection = sqlconn
                
    	
            
            conLogin.Open()
    
    
            Dim queryString As String = "SELECT usuario, contrasena FROM usuarios WHERE usuario = @usuario AND contrasena = @contrasena"
            Using logearse As New New OleDb.OleDbCommand(queryString, conLogin)
                'I have to guess at your DB types and lengths
                logearse.Parameters.AddWithValue("@usuario", txtuser.Text)
                logearse.Parameters.AddWithValue("@contrasena", txtpass.Text)
                logearse.ExecuteNonQuery()
                MsgBox("Bienvenido " + txtuser.Text + " Inició sesión exitosamente ", MsgBoxStyle.OkOnly)
    
                Dim queryAction As String = "Insert INTO log_activity (usuario, action) values (@usuario, @action)"
                Using obtenerAcciones As New New OleDb.OleDbCommand(queryAction, conLogin)
                    obtenerAcciones.Parameters.AddWithValue("@usuario", txtuser.Text)
                    obtenerAcciones.Parameters.AddWithValue("@action", accionRealizada)
                    obtenerAcciones.ExecuteNonQuery()
    
                End Using
    
                Response.Redirect("~/home.aspx")
            End Using
    
    
            conLogin.Close()

    Ahi te quedo mal con la prueba porque la maquina que uso es un servidor y no me deja descargar Access, y desde la maquina fisica no puedo instalar nada :/ Pero es solo cambiar todo lo que dice SQL a Ole.DB

    Oscar Navarro

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    • Marcado como respuesta Dorittoxd jueves, 26 de marzo de 2020 18:36
    jueves, 26 de marzo de 2020 18:33
    Moderador

Todas las respuestas

  • Hola Dorittoxd

    Si se puede hacer, una idea que se puede aplicar es que cuando haga el Log In el usuario, captures la fecha y la hora a la que lo hace.

     Dim dt As DateTime = Now
     Dim sDate As String = dt.ToString("yyyy-MM-dd")

    Con esto puedes sacar la fecha de ingreso, y con este la hora de ingreso y salida.

    Dim thisHour = DateTime.Now.TimeofDay.Hours

    Todo eso lo metes dentro de un comando sql y lo envías a la BD. Para lo que es ver que acciones hace el usuario puedes declarar por ejemplo una tabla llamada Logs y ahi creas los campos Usuario, Action, entonces capturas el usuario y a que pagina entro o que proceso realizo dentro del sistema.

    Para capturar las acciones, me imagino que tienes un menu, si le das click a una opcion por ejemplo... "Quienes somos" y esto te redirecciona a otra pagina, en el click puedes declarar el evento, que obtiene los datos del usuario y la accion que sería "Quienes somos tab" y lo ingresa a la BD.

    Esa es una opción. Hazme saber que parece.

    Gracias por usar los foros de MSDN.

     

    Oscar Navarro

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    miércoles, 25 de marzo de 2020 22:08
    Moderador
  • Gracias por responder ... Otra pregunta y disculpa mi ignorancia en el tema de la informática ya que soy nuevo y el proyecto que estoy haciendo es gracias a los tutoriales de youtube y ayudas como la tuya y otras personas ... ese codigo que me estas dando lo coloco dentro del form donde esta el login que hice cierto? mi base de datos es hecha en access 

    este es lo que llevo del codigo en el form principal de area del login


    Imports System.Data
    Imports System.Data.OleDb
    
    Public Class Form2
        Dim Conexion As New OleDbConnection
        Dim Comando As New OleDbCommand
        Dim Adapter As New OleDbDataAdapter
        Dim Lector As OleDbDataReader
        Dim Consulta As String
    
    
        Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Try
                Conexion.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\ROMANHOME\Documents\Visual Studio 2010\Projects\SEMA 1.0v\SEMA 1.0v\bin\Debug\SEMA.accdb"
                Conexion.Open()
            Catch ex As Exception
                MsgBox("Error al Conectar con la base de datos", MsgBoxStyle.Critical, "Advertencia")
    
            End Try
            Me.Timer1.Enabled = True
    
         
    
        End Sub
    
        'Login de Agua Salud 1'
    
        Private Sub SALUD_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SALUD.Click
            If PanelAguaSalud.Visible = True Then
                PanelAguaSalud.Visible = False
            Else
                PanelAguaSalud.Visible = True
                PanelZonaRental.Visible = False
                PanelVenezuelaII.Visible = False
                PanelChacao.Visible = False
                PanelSilencio.Visible = False
                PanelYaguara.Visible = False
                PanelAscensores.Visible = False
                PanelGcia.Visible = False
    
            End If
        End Sub
    
        'Login de Agua Salud 1'
    
        Private Sub ButtonAguaSalud_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonAguaSalud.Click
    
            Consulta = "SELECT Usuario, Contraseña FROM LOGINAGUASALUD WHERE Usuario='" & TextUsuario1.Text & "'AND Contraseña='" & TextPass1.Text & "'"
            Comando = New OleDbCommand(Consulta, Conexion)
            Adapter.SelectCommand = Comando
            Lector = Comando.ExecuteReader
            If Lector.HasRows = True Then
                MsgBox("Aceptado", MsgBoxStyle.Information, "Acceso Permitido")
                Vaciar_Focalizar()
                AguaSalud.Show()
           Else
                MsgBox("Usuario i/o Contraseña incorrectos", MsgBoxStyle.Critical, "Advertencia")
                Vaciar_Focalizar()
            End If
        End Sub
    
        'Login de Agua Salud 1'
    
        Private Sub Vaciar_Focalizar()
            TextPass1.Clear()
            TextUsuario1.Clear()
            TextUsuario1.Focus()
    
        End Sub
    
        'login Zona Rental 2'
    
        Private Sub ZONA_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ZONA.Click
            If PanelZonaRental.Visible = True Then
                PanelZonaRental.Visible = False
            Else
                PanelAguaSalud.Visible = False
                PanelZonaRental.Visible = True
                PanelVenezuelaII.Visible = False
                PanelChacao.Visible = False
                PanelSilencio.Visible = False
                PanelYaguara.Visible = False
                PanelAscensores.Visible = False
                PanelGcia.Visible = False
    
            End If
        End Sub
    
        'login Zona Rental 2'
    
        Private Sub ButtonZonaRental_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonZonaRental.Click
            Consulta = "SELECT Usuario, Contraseña FROM LOGINZONARENTAL WHERE Usuario='" & TextUsuario2.Text & "'AND Contraseña='" & TextPass2.Text & "'"
            Comando = New OleDbCommand(Consulta, Conexion)
            Adapter.SelectCommand = Comando
            Lector = Comando.ExecuteReader
            If Lector.HasRows = True Then
                MsgBox("Aceptado", MsgBoxStyle.Information, "Acceso Permitido")
                Vaciar_Focalizar2()
                ZONARENTAL.Show()
            Else
                MsgBox("Usuario i/o Contraseña incorrectos", MsgBoxStyle.Critical, "Advertencia")
                Vaciar_Focalizar2()
            End If
    
        End Sub
    
        'login Zona Rental 2'
    
        Private Sub Vaciar_Focalizar2()
            TextPass2.Clear()
            TextUsuario2.Clear()
            TextUsuario2.Focus()
        End Sub
    
        'login Venezuela II (3) '
    
        Private Sub VenezuelaII_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VenezuelaII.Click
            If PanelVenezuelaII.Visible = True Then
                PanelVenezuelaII.Visible = False
            Else
                PanelAguaSalud.Visible = False
                PanelZonaRental.Visible = False
                PanelVenezuelaII.Visible = True
                PanelChacao.Visible = False
                PanelSilencio.Visible = False
                PanelYaguara.Visible = False
                PanelAscensores.Visible = False
                PanelGcia.Visible = False
    
            End If
        End Sub
    
        'login Venezuela II (3)'
    
        Private Sub ButtonVenezuelaII_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonVenezuelaII.Click
            Consulta = "SELECT Usuario, Contraseña FROM LOGINVENEZUELAII WHERE Usuario='" & TextUsuario3.Text & "'AND Contraseña='" & TextPass3.Text & "'"
            Comando = New OleDbCommand(Consulta, Conexion)
            Adapter.SelectCommand = Comando
            Lector = Comando.ExecuteReader
            If Lector.HasRows = True Then
                MsgBox("Aceptado", MsgBoxStyle.Information, "Acceso Permitido")
                Vaciar_Focalizar3()
                Venezuela2.Show()
            Else
                MsgBox("Usuario i/o Contraseña incorrectos", MsgBoxStyle.Critical, "Advertencia")
                Vaciar_Focalizar3()
            End If
    
    
        End Sub
    
        'login Venezuela II (3)'
    
        Private Sub Vaciar_Focalizar3()
    
            TextPass3.Clear()
            TextUsuario3.Clear()
            TextUsuario3.Focus()
        End Sub
    
        'login Chacao (4)'
    
        Private Sub Chacao_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Chacao.Click
            If PanelChacao.Visible = True Then
                PanelChacao.Visible = False
            Else
                PanelAguaSalud.Visible = False
                PanelZonaRental.Visible = False
                PanelVenezuelaII.Visible = False
                PanelChacao.Visible = True
                PanelSilencio.Visible = False
                PanelYaguara.Visible = False
                PanelAscensores.Visible = False
                PanelGcia.Visible = False
    
            End If
        End Sub
    
        'login Chacao (4)'
    
        Private Sub ButtonChacao_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonChacao.Click
            Consulta = "SELECT Usuario, Contraseña FROM LOGINCHACAO WHERE Usuario='" & TextUsuario4.Text & "'AND Contraseña='" & TextPass4.Text & "'"
            Comando = New OleDbCommand(Consulta, Conexion)
            Adapter.SelectCommand = Comando
            Lector = Comando.ExecuteReader
            If Lector.HasRows = True Then
                MsgBox("Aceptado", MsgBoxStyle.Information, "Acceso Permitido")
                Vaciar_Focalizar4()
                Chaca0.Show()
            Else
                MsgBox("Usuario i/o Contraseña incorrectos", MsgBoxStyle.Critical, "Advertencia")
                Vaciar_Focalizar4()
            End If
    
        End Sub
    
        'Login de Chacao (4)'
    
        Private Sub Vaciar_Focalizar4()
            TextPass4.Clear()
            TextUsuario4.Clear()
            TextUsuario4.Focus()
        End Sub
    
        'login Silencio 5'
    
        Private Sub Silencio_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Silencio.Click
            If PanelSilencio.Visible = True Then
                PanelSilencio.Visible = False
            Else
                PanelAguaSalud.Visible = False
                PanelZonaRental.Visible = False
                PanelVenezuelaII.Visible = False
                PanelChacao.Visible = False
                PanelSilencio.Visible = True
                PanelYaguara.Visible = False
                PanelAscensores.Visible = False
                PanelGcia.Visible = False
    
            End If
        End Sub
    
        'login Silencio 5'
    
        Private Sub ButtonSilencio_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonSilencio.Click
            Consulta = "SELECT Usuario, Contraseña FROM LOGINSILENCIO WHERE Usuario='" & TextUsuario5.Text & "'AND Contraseña='" & TextPass5.Text & "'"
            Comando = New OleDbCommand(Consulta, Conexion)
            Adapter.SelectCommand = Comando
            Lector = Comando.ExecuteReader
            If Lector.HasRows = True Then
                MsgBox("Aceptado", MsgBoxStyle.Information, "Acceso Permitido")
                Vaciar_Focalizar5()
                Silenci0.Show()
            Else
                MsgBox("Usuario i/o Contraseña incorrectos", MsgBoxStyle.Critical, "Advertencia")
                Vaciar_Focalizar5()
            End If
        End Sub
    
        'Login de Silencio 5'
    
        Private Sub Vaciar_Focalizar5()
            TextPass5.Clear()
            TextUsuario5.Clear()
            TextUsuario5.Focus()
        End Sub
    
        'login Yaguara 6'
    
        Private Sub Yaguara_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Yaguara.Click
            If PanelYaguara.Visible = True Then
                PanelYaguara.Visible = False
            Else
                PanelAguaSalud.Visible = False
                PanelZonaRental.Visible = False
                PanelVenezuelaII.Visible = False
                PanelChacao.Visible = False
                PanelSilencio.Visible = False
                PanelYaguara.Visible = True
                PanelAscensores.Visible = False
                PanelGcia.Visible = False
    
            End If
        End Sub
    
        'login Yaguara 6'
    
        Private Sub ButtonYaguara_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonYaguara.Click
            Consulta = "SELECT Usuario, Contraseña FROM LOGINYAGUARA WHERE Usuario='" & TextUsuario6.Text & "'AND Contraseña='" & TextPass6.Text & "'"
            Comando = New OleDbCommand(Consulta, Conexion)
            Adapter.SelectCommand = Comando
            Lector = Comando.ExecuteReader
            If Lector.HasRows = True Then
                MsgBox("Acceso Permitido", MsgBoxStyle.Information, "Bienvenido")
                Vaciar_Focalizar6()
                Yaguar4.Show()
            Else
                MsgBox("Usuario i/o Contraseña incorrectos", MsgBoxStyle.Critical, "Advertencia")
                Vaciar_Focalizar6()
            End If
        End Sub
    
        'Login de Yaguara 6'
    
        Private Sub Vaciar_Focalizar6()
            TextPass6.Clear()
            TextUsuario6.Clear()
            TextUsuario6.Focus()
        End Sub
    
        'login Ascensores'
    
        Private Sub Ascensores_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Ascensores.Click
            If PanelAscensores.Visible = True Then
                PanelAscensores.Visible = False
            Else
                PanelAguaSalud.Visible = False
                PanelZonaRental.Visible = False
                PanelVenezuelaII.Visible = False
                PanelChacao.Visible = False
                PanelSilencio.Visible = False
                PanelYaguara.Visible = False
                PanelAscensores.Visible = True
                PanelGcia.Visible = False
            End If
        End Sub
    
        'login Ascensores 7'
    
        Private Sub ButtonAscensores_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonAscensores.Click
    
            Consulta = "SELECT Usuario, Contraseña FROM LOGINASCENSORES WHERE Usuario='" & TextUsuario7.Text & "'AND Contraseña='" & TextPass7.Text & "'"
            Comando = New OleDbCommand(Consulta, Conexion)
            Adapter.SelectCommand = Comando
            Lector = Comando.ExecuteReader
            If Lector.HasRows = True Then
                MsgBox("Aceptado", MsgBoxStyle.Information, "Acceso Permitido")
                Vaciar_Focalizar7()
                Ascens0res.Show()
            Else
                MsgBox("Usuario i/o Contraseña incorrectos", MsgBoxStyle.Critical, "Advertencia")
                Vaciar_Focalizar7()
            End If
        End Sub
    
        'Login de Ascensores 7'
    
        Private Sub Vaciar_Focalizar7()
            TextPass7.Clear()
            TextUsuario7.Clear()
            TextUsuario7.Focus()
        End Sub
        'Login Gerencia'
    
        Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
            If PanelGcia.Visible = True Then
                PanelGcia.Visible = False
            Else
                PanelGcia.Visible = True
                PanelAguaSalud.Visible = False
                PanelZonaRental.Visible = False
                PanelVenezuelaII.Visible = False
                PanelChacao.Visible = False
                PanelSilencio.Visible = False
                PanelYaguara.Visible = False
                PanelAscensores.Visible = False
            End If
    
        End Sub
        'Login Gerencia'
    
        Private Sub ButtonGcia_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonGcia.Click
            Consulta = "SELECT Usuario, Contraseña FROM LOGINASCENSORES WHERE Usuario='" & TextUserGcia.Text & "'AND Contraseña='" & TextPassGcia.Text & "'"
            Comando = New OleDbCommand(Consulta, Conexion)
            Adapter.SelectCommand = Comando
            Lector = Comando.ExecuteReader
            If Lector.HasRows = True Then
                MsgBox("Aceptado", MsgBoxStyle.Information, "Acceso Permitido")
                Vaciar_Focalizar8()
                Gerencia.Show()
            Else
                MsgBox("Usuario i/o Contraseña incorrectos", MsgBoxStyle.Critical, "Advertencia")
                Vaciar_Focalizar8()
            End If
        End Sub
    
        Private Sub Vaciar_Focalizar8()
            TextPassGcia.Clear()
            TextUserGcia.Clear()
            TextUserGcia.Focus()
        End Sub
    
        Private Sub Form2_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
            Application.ExitThread()
        End Sub
       
        Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
            Application.ExitThread()
            Me.Close()
        End Sub
    
        Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
            MsgBox("AREA RESTRINGIDA", vbCritical, "ADVERTENCIA")
            MsgBox("AREA SOLO PERSONAL AUROTIZADO", vbCritical, "ADVERTENCIA")
    
            AREA51.Show()
        End Sub
    
        
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
            Me.LblHora.Text = DateAndTime.TimeString
            Me.LblFecha.Text = DateAndTime.Now.Date
    
        End Sub
    
       
        
    End Class


    • Editado Dorittoxd jueves, 26 de marzo de 2020 0:58
    miércoles, 25 de marzo de 2020 23:57
  • Hola si, eso debería ir en cada evento que realices, a fin de cuentas es solo copiar y pegar el mismo codigo en todas las paginas!

    Esta es la tabla que registra la actividad.

    La del login

    El login

    Y como queda la tabla despues de haber iniciado sesion

        Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    
            Dim accionRealizada As String = "Inicio de sesion y redireccionado a Home" //Aqui pones que es lo que hace el usuario en el boton o a que pagina va
    
            If txtuser.Text = "" Then
                MsgBox("Please Enter The Username !", MsgBoxStyle.OkOnly)
    
            End If
    
    
            If txtpass.Text = "" Then
                MsgBox("Please Enter The Password !", MsgBoxStyle.OkOnly)
    
            End If
    
            Dim connectionString As String = "Server=localhost\SQLEXPRESS;Database=Testing;Trusted_Connection=True;"
            Dim conLogin As SqlClient.SqlConnection = New SqlClient.SqlConnection(connectionString)
            conLogin.Open()
    
    
            Dim queryString As String = "SELECT usuario, contrasena FROM usuarios WHERE usuario = @usuario AND contrasena = @contrasena"
            Using logearse As New SqlClient.SqlCommand(queryString, conLogin)
                'I have to guess at your DB types and lengths
                logearse.Parameters.AddWithValue("@usuario", txtuser.Text)
                logearse.Parameters.AddWithValue("@contrasena", txtpass.Text)
                logearse.ExecuteNonQuery()
                MsgBox("Bienvenido " + txtuser.Text + " Inició sesión exitosamente ", MsgBoxStyle.OkOnly)
    
                Dim queryAction As String = "Insert INTO log_activity (usuario, action) values (@usuario, @action)"
                Using obtenerAcciones As New SqlClient.SqlCommand(queryAction, conLogin)
                    obtenerAcciones.Parameters.AddWithValue("@usuario", txtuser.Text)
                    obtenerAcciones.Parameters.AddWithValue("@action", accionRealizada)
                    obtenerAcciones.ExecuteNonQuery()
    
                End Using
    
                Response.Redirect("~/home.aspx")
            End Using
    
    
            conLogin.Close()
    
        End Sub

    • Marcado como respuesta Dorittoxd jueves, 26 de marzo de 2020 18:04
    jueves, 26 de marzo de 2020 15:12
    Moderador
  • gracias por la respuesta .... estos es base a sql verdad... como lo adapto para base de datos access ya que es una aplicación de escritorio y no una web y disculpa tanta molestia
    jueves, 26 de marzo de 2020 17:32
  • No te preocupes, me imagino que ya tienes el string de conexión a tu base de datos en Access entonces lo unico que tendriamos que cambiar es la manera de ingresar los datos a la base de datos. Se siguen utilizando SQL sentences pero solo es cambiar el proveedor de datos.

    Dim accionRealizada As String = "Inicio de sesion y redireccionado a Home" //Aqui pones que es lo que hace el usuario en el boton o a que pagina va
    
            If txtuser.Text = "" Then
                MsgBox("Please Enter The Username !", MsgBoxStyle.OkOnly)
    
            End If
    
    
            If txtpass.Text = "" Then
                MsgBox("Please Enter The Password !", MsgBoxStyle.OkOnly)
    
            End If
    
            Dim connectionString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\myAccessFile.accdb;Persist Security Info=False;"
    	Dim conLogin As New OleDb.OleDbConnection = New OleDb.OleDbConnection(connectionString)
    	Dim sqlconn As New OleDb.OleDbConnection
                Dim sqlquery As New OleDb.OleDbCommand
                sqlconn.ConnectionString = connString
                sqlquery.Connection = sqlconn
                
    	
            
            conLogin.Open()
    
    
            Dim queryString As String = "SELECT usuario, contrasena FROM usuarios WHERE usuario = @usuario AND contrasena = @contrasena"
            Using logearse As New New OleDb.OleDbCommand(queryString, conLogin)
                'I have to guess at your DB types and lengths
                logearse.Parameters.AddWithValue("@usuario", txtuser.Text)
                logearse.Parameters.AddWithValue("@contrasena", txtpass.Text)
                logearse.ExecuteNonQuery()
                MsgBox("Bienvenido " + txtuser.Text + " Inició sesión exitosamente ", MsgBoxStyle.OkOnly)
    
                Dim queryAction As String = "Insert INTO log_activity (usuario, action) values (@usuario, @action)"
                Using obtenerAcciones As New New OleDb.OleDbCommand(queryAction, conLogin)
                    obtenerAcciones.Parameters.AddWithValue("@usuario", txtuser.Text)
                    obtenerAcciones.Parameters.AddWithValue("@action", accionRealizada)
                    obtenerAcciones.ExecuteNonQuery()
    
                End Using
    
                Response.Redirect("~/home.aspx")
            End Using
    
    
            conLogin.Close()

    Ahi te quedo mal con la prueba porque la maquina que uso es un servidor y no me deja descargar Access, y desde la maquina fisica no puedo instalar nada :/ Pero es solo cambiar todo lo que dice SQL a Ole.DB

    Oscar Navarro

     ____

     

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 

     

    Microsoft ofrece este servicio de forma gratuita, con la finalidad de ayudar a los usuarios y la ampliación de la base de datos de conocimientos relacionados con los productos y tecnologías de Microsoft.  

     

    Este contenido es proporcionado "tal cual" y no implica ninguna responsabilidad de parte de Microsoft.

    • Marcado como respuesta Dorittoxd jueves, 26 de marzo de 2020 18:36
    jueves, 26 de marzo de 2020 18:33
    Moderador
  • Gracias por el aporte ya realice mi bitácora y me quedo así:

     Dim newGUID As Guid = Guid.NewGuid()
                Dim conn As OleDbConnection = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\\Documents\Visual Studio 2010\Projects\SEMA 1.0v\SEMA.accdb")
                Dim command As OleDbCommand = New OleDbCommand("INSERT INTO bita(usuario, FHora, Fingreso, NCCF, HReporte) VALUES (@usuario, @Hingreso, @Fingreso, @NCCF, @HReporte) ", conn)
                conn.Open()
                command.Parameters.AddWithValue("@usuario", LblUsuario4.Text)
                command.Parameters.AddWithValue("@Fhora", LblHora.Text)
                command.Parameters.AddWithValue("@Fingreso", LblFecha.Text)
                command.Parameters.AddWithValue("@NCCF", NCCFTextBox.Text)
                command.Parameters.AddWithValue("@HReporte", FechaReporteTextBox.Text)
                command.ExecuteNonQuery()
                conn.Close()

    Estuve buscando en toda Internet y pude encontrar varias realice algunos ajustes y prueba hasta que me funciono  al principio tuve problema con el ExecuteNonQuery() pero eran los nombre que no coincidían gracias por la ayudita xD

    sábado, 28 de marzo de 2020 4:39