none
Como ingresar a una base de datos access con distintas cuentas al mismo tiempo

    Pregunta

  • Cree una base de datos con ingreso de login a diferente nivel administrador y usuarios paraarchivar imagenes y documentos pero no me percate de que la base de datos no se puede ingresar mas de un usuario a la vez por que aparece un mensaje de error en la pantalla de que esta siendo ocupado por otro. Mi pregunta es si se puede controlar la concurrencia de ingreso, para que varios usuarios puedan ingresar al mismo tiempo sin que me apraresca error en la pantalla o si no un comando que al ingresar con login de un usuario tenga tiempo limite para subir el archivo y se cierre automaticamente para prevenir de que otro usuario no pudo ingresar el archivo o documento por que otro usurio olvido cerrar la cuenta u otros fenomenomes que se pudrieran presentar, todo esto desde los comando de login en visual basic (nivel usuario o administrador)

    Espero y tenga solución 

    Muchas gracias

    • Editado abe27 viernes, 3 de marzo de 2017 4:23 Ingreso de varios usuarios al mismo tiempo
    viernes, 3 de marzo de 2017 4:22

Respuestas

  • Hola:

    La cadena de conexion es un string que contiene el proveedor de datos y la ubicacion de estos, ejemplo de esto

    Private msCadenaConexionACCESS As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\TU_BASE_DE_DATOS.accdb"   

    Cuando vas a leer datos de una tabla y visualizar lo devuelto por la consulta en un DataGridView,  seria algo como esto.

            Try
                Dim lsQuery As String = "Select ID_PROVINCIA, DESCRIPCION From PROVINCIA Order by DESCRIPCION"
                Dim loDataTable As New DataTable
                Using loConexion As New OleDbConnection(msCadenaConexionACCESS)
                    Using loDataAdapter As New OleDbDataAdapter(lsQuery, loConexion)
                        loDataAdapter.Fill(loDataTable)
                    End Using
                End Using
                TU_DATAGRIDVIEW.DataSource=loDataTable
            Catch ex As Exception
                MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End Try

    Con lo de explicar como tienes montado el negocio, no me refiero a si es para un negocio, sino que cuentes un poco que es lo que pretendes, cual es el motor de base de datos,  si van a usar la aplicación varios usuarios en la  misma red, etc.

    Un saludo desde Bilbo
    Carlos

    sábado, 4 de marzo de 2017 10:12

Todas las respuestas

  • Hola:

    ¿Puedes poner la cadena de conexion que usas, y explicar un poco como tienes montado "el negocio"?

    Un saludo desde Bilbo
    Carlos

    viernes, 3 de marzo de 2017 7:59
  • No entiendo eso de la cadena de conexión podrías explicarte a que te refieres con eso y pues no es un negocio es para archivar información entre compañeros 

    viernes, 3 de marzo de 2017 13:36
  • NUNCA dejes abierta una conexión, debes:

    Abrir conexión

         hacer la consulta

    Cerrar la conexión, Ej:

    **********************

                   

           Dim confs As New SqlConnection(conn)
            Dim surt_a As String = "N"
            Dim cmd As New SqlCommand

            mySQLfs = "SELECT surt_no FROM sulog WHERE consecutivo = '" + m_cvo + "'"

    confs.Open()
            Try
                cmd = New SqlCommand(mySQLfs, confs)
                surtidor_sulog = cmd.ExecuteScalar
            Catch ex As Exception
                surtidor_sulog = "N"
            End Try
    confs.Close()

    ***************************

    donde conn es tu cadena de conexión.

    Si te sirve marcarla como respuesta

    saludos

    sábado, 4 de marzo de 2017 0:06
  • Hola:

    La cadena de conexion es un string que contiene el proveedor de datos y la ubicacion de estos, ejemplo de esto

    Private msCadenaConexionACCESS As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & Application.StartupPath & "\TU_BASE_DE_DATOS.accdb"   

    Cuando vas a leer datos de una tabla y visualizar lo devuelto por la consulta en un DataGridView,  seria algo como esto.

            Try
                Dim lsQuery As String = "Select ID_PROVINCIA, DESCRIPCION From PROVINCIA Order by DESCRIPCION"
                Dim loDataTable As New DataTable
                Using loConexion As New OleDbConnection(msCadenaConexionACCESS)
                    Using loDataAdapter As New OleDbDataAdapter(lsQuery, loConexion)
                        loDataAdapter.Fill(loDataTable)
                    End Using
                End Using
                TU_DATAGRIDVIEW.DataSource=loDataTable
            Catch ex As Exception
                MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
            End Try

    Con lo de explicar como tienes montado el negocio, no me refiero a si es para un negocio, sino que cuentes un poco que es lo que pretendes, cual es el motor de base de datos,  si van a usar la aplicación varios usuarios en la  misma red, etc.

    Un saludo desde Bilbo
    Carlos

    sábado, 4 de marzo de 2017 10:12