MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Como conectar meu bd

    Compartilhe

    MariaLuizaLS
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 8
    Registrado : 13/04/2018

    Como conectar meu bd

    Mensagem  MariaLuizaLS em 16/4/2018, 20:54

    Olá pessoal!

    Estou fazendo um sistema em access e vba, mas nunca tinha visto antes.
    Apesar de ser bem simples, estou com dúvida e problema.

    1 problema:

    - Eu quero usar uma estrutura do tipo cliente servidor, hospedando meu sistema na rede da empresa e instalando o exe em cada máquina(São 7 máquinas).
    Dividi o meu banco, e no botão cadastrar  coloquei isso

    ______________________________________
    Private Sub btn_cadastrar_area_Click()


    Dim dbs As Database
    Dim area As String
    area = txt_nome_area.Value


       Set dbs = OpenDatabase("C:\Users\maria_lsilva\Desktop\Malu- Documentos\banco\2018.04.16\Sipro_be.accdb")
        dbs.Execute " INSERT INTO Area " _
    & "(Nome_area) VALUES " _
           & "('area');"
           
       dbs.Close

    MsgBox "Registro adicionado com sucesso"
    Me.Refresh

    End Sub
    __________________________________________________________________________

    testei com um em mdb também, e o problema, é que no resultado ele adiciona o que está escrito no objeto txt e o nome do objeto txt no banco.
    criando vários registros.
    exemplo:

    eu coloquei como entrada no"txt_nome_area" finanças,
    no banco aparece

    cod ! descricao
    1        finanças
    2        txt_nome_area


    2 Dúvida:

    Eu coloquei login e senha , alguem tem algum material que fale sobre como criar os logs do usuários, o que devo me preocupar em relação a segurança  na divisão do banco?





    Se puderem me ajudar em algum já serei muito grata.
    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1276
    Registrado : 21/01/2012

    Re: Como conectar meu bd

    Mensagem  Cláudio Más em 17/4/2018, 19:09

    Olá,

    1- Tente assim:

    dbs.Execute "INSERT INTO Area (Nome_area) VALUES ('" & area & "');"

    2- Quanto ao log de usuários, se refere a auditoria do sistema?
    Não há nenhuma ferramenta nativa do Access para isso, terá que implementar via código.
    Talvez encontre alguma aplicação de exemplo aqui no forum ou na web.

    Sobre segurança na divisão do banco, não acho que o Access tenha recursos para tanto, mas deixo para os colegas comentarem a respeito.

    Lembrando também que o Access não usa arquitetura cliente/servidor, que é diferente de dividir o banco de dados e hospedar as tabelas no servidor.

    MariaLuizaLS
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 8
    Registrado : 13/04/2018

    Re: Como conectar meu bd

    Mensagem  MariaLuizaLS em 8/5/2018, 19:32

    Obrigada pela ajuda,
    quanto aos logs, achei o seguinte codigo:

    Código:
    Option Compare Database
    Option Explicit

    Function Criar(evento As String)

    On Error GoTo TratarErro
    Dim DataHora As Variant, Usuario As String, Maquina As String
    Dim Arquivo As String



    DataHora = Now
    Usuario = Environ("Username")
    Maquina = Environ("computername")


    Arquivo = CriarArquivoLog

    Arquivo = "H:\1 - Projetos\1 - Em andamento\SISTEMA_PROJETOS\09- PRODUCAO\3. Banco\Log_SIBUS" & Format(Date, "YYYY-MM") & ".log"

    Open Arquivo For Append As #1
      Print #1, DataHora & ";" & Usuario & ";" & Maquina & ";" & evento
     
    Close

    SairFunction:
    Exit Function


    TratarErro:
    MsgBox Err.Description, vbCritical, " Erro " & Err.Number
    Resume SairFunction


    End Function


    Function CriarArquivoLog()
     On Error GoTo TratarErro
     Dim Cabecalho As String
     
     Dim Arquivo As String
     
     Arquivo = "H:\1 - Projetos\1 - Em andamento\SISTEMA_PROJETOS\09- PRODUCAO\3. Banco\Log_SIBUS" & Format(Date, "YYYY-MM") & ".log"
     
     If Dir("H:\1 - Projetos\1 - Em andamento\SISTEMA_PROJETOS\09- PRODUCAO\3. Banco", vbDirectory) = "" Then MkDir "H:\1 - Projetos\1 - Em andamento\SISTEMA_PROJETOS\09- PRODUCAO\3. Banco"
     If Dir("H:\1 - Projetos\1 - Em andamento\SISTEMA_PROJETOS\09- PRODUCAO\3. Banco\Log_SIBUS" & Format(Date, "YYYY-MM") & ".log", vbDirectory) = "" Then
     
      Cabecalho = "DATA E HORA;USUARIO;MAQUINA;EVENTO"
      Open Arquivo For Output As #1
      Print #1, Cabecalho
      Close #1
    End If

    CriarArquivoLog = Arquivo



    SairFunction:
    Exit Function
     
    TratarErro:
    MsgBox Err.Description, vbCritical, " Erro " & Err.Number
    Resume SairFunction

    End Function


    avatar
    Cláudio Más
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1276
    Registrado : 21/01/2012

    Re: Como conectar meu bd

    Mensagem  Cláudio Más em 9/5/2018, 13:09

    Olá,

    Substitua no código a pasta "H:\1 - Projetos\1 - Em andamento\SISTEMA_PROJETOS\09- PRODUCAO\3. Banco" por uma pasta existente no seu computador.

    Faz um teste em uma cópia do bd, incluindo o código Criar("Inclusão - |nome do formulário|") no evento "Após inserir" de um formulário de entrada de dados.
    Após a inclusão de um registro nesse mesmo formulário, verifique se foi criado um arquivo de log na pasta e o conteúdo desse arquivo.

      Data/hora atual: 15/11/2018, 04:42