MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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


    [Resolvido]Instalaçao de seistema access

    luisaraujo
    luisaraujo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 64
    Registrado : 31/01/2011

    [Resolvido]Instalaçao de seistema access Empty Instalaçao de seistema access

    Mensagem  luisaraujo 9/3/2013, 18:39

    Ola a Todos

    Uma Questão que não se e possível no Access.

    Será que tem como Fazer uma instalação de um sistema Access onde ao instalar ele verifica se alteração nas tabelas
    se houver ele corrige e por ai a for mas sem perder todos os dados já inseridos

    Tipo uma forma de fazer upedate so sistema

    Comprimentos
    avatar
    Convidado
    Convidado


    [Resolvido]Instalaçao de seistema access Empty Re: [Resolvido]Instalaçao de seistema access

    Mensagem  Convidado 9/3/2013, 18:57

    Boas Luis.. como seria essa "Instalação", sobrescrever um sistema ao outro?

    Não compreendi muito bem.

    De uma descrição pormenorizada disso.

    Cumprimentos.
    luisaraujo
    luisaraujo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 64
    Registrado : 31/01/2011

    [Resolvido]Instalaçao de seistema access Empty Re: [Resolvido]Instalaçao de seistema access

    Mensagem  luisaraujo 9/3/2013, 19:35

    Boas caro Colega

    Bem Vou tentar explicar a minha duvida porque não sei se e possível fazer no Access.

    E o seguinte e alguns sistema que tenho instalado por exemplo o PHC , ele tem uma base de dados Sql, apesar disso o processo e simples.

    Na instalação do sistema o processo será o seguinte.

    Seguinte »» Seguinte »»

    A) Instalação Usuário - Instala o painel de trabalho ( onde estão os formulários relatórios tabelas ligadas etc..)
    ( na abertura do mesmo procura depois a BD)

    B) Instalação Servidor

    Na instalação pergunta se quer criar nova base de dados ou atualizar

    Se For nova monta uma base da dados Vazia.

    Se for Atualizar a instalação corre toda a base de dados antiga se apagar os dados das tabelas
    Exemplo do Processo:
    • Verificando TblCliente ……………. TblCliente ok
    • Verificando TblFornecedore…….. TblFornecedore ok
    • Verificando TblContactos…………. TblContactos ok
    • Verificando TblFuncionarios……… TblFuncionarios update
    • Update TblFuncionarios
    • TblFuncionarios ….. Colunas Atualizadas
    • TblFuncionarios ….. Colunas/N_Cliente=IDCl
    • TblFuncionarios ….. Colunas/Nome_Cliente=NCl
    • TblFuncionarios ….. Colunas Inseridas
    • TblFuncionarios ….. Colunas/MoradaCL
    • TblFuncionarios ….. Colunas/TeleCL
    • Update TblFuncionarios ok
    • Verificando TblFeriados…………. TblFeriados ok


    Comprimentos-.-.....
    avatar
    Convidado
    Convidado


    [Resolvido]Instalaçao de seistema access Empty Re: [Resolvido]Instalaçao de seistema access

    Mensagem  Convidado 9/3/2013, 21:13

    Sua base é em Acces ou SQL Server?

    Cumprimentos.
    luisaraujo
    luisaraujo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 64
    Registrado : 31/01/2011

    [Resolvido]Instalaçao de seistema access Empty Re: [Resolvido]Instalaçao de seistema access

    Mensagem  luisaraujo 9/3/2013, 22:24

    Boas


    A minha Base de Dados e Access

    avatar
    Convidado
    Convidado


    [Resolvido]Instalaçao de seistema access Empty Re: [Resolvido]Instalaçao de seistema access

    Mensagem  Convidado 10/3/2013, 09:51

    Boas Luis...

    Defina o que é Painei de Controle? é o Front-End?

    Vocë está pretendendo a instalação de estações de trabalho em um servidor?

    A base de dados vazia seria com as tabelas sem registros?

    Cumprimentos.
    luisaraujo
    luisaraujo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 64
    Registrado : 31/01/2011

    [Resolvido]Instalaçao de seistema access Empty Re: [Resolvido]Instalaçao de seistema access

    Mensagem  luisaraujo 10/3/2013, 16:45

    Boas Caro colega...

    Defina o que é Painei de Controle? é o Front-End?

    Painel de control =front-end
    Base De Dados = back-end


    Vocë está pretendendo a instalação de estações de trabalho em um servidor?

    Esqueça o Servidor..Defenoi Cervido porque voi um metodo de dizer onde a base de dados fica mas isso nao a que ter problema.

    A base de dados vazia seria com as tabelas sem registros?

    Base de dados vazia seria sim Todas as tabelas sem registos

    Cumprimentos.
    avatar
    Convidado
    Convidado


    [Resolvido]Instalaçao de seistema access Empty Re: [Resolvido]Instalaçao de seistema access

    Mensagem  Convidado 10/3/2013, 17:10

    Sim é possivel sim...

    1- Colocaria em um módulo código perguntando ao usuário se desejaria atualiza ou criar...
    2 - Caso seja criar, definiria em uma string o caminho onde seria criado a nova base de dados, que seria criada em branco e criar as tabelas... ou mesmo copiar uma base de dados ja criada para o local
    3 - Caso seja atulizar executaria uma comparacão com a base atual com a que existe em existindo menos registros atualizaria.

    No repositorio temos exemplos de importação de tabelas.

    Cumprimentos.
    luisaraujo
    luisaraujo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 64
    Registrado : 31/01/2011

    [Resolvido]Instalaçao de seistema access Empty Re: [Resolvido]Instalaçao de seistema access

    Mensagem  luisaraujo 10/3/2013, 19:21

    Boas

    Mas no caso do ponto 3 Como seria ??

    Ele copia os dados da Base de dados Antiga para a nova ???

    e isso seria feito um script na instalaçao??
    avatar
    Convidado
    Convidado


    [Resolvido]Instalaçao de seistema access Empty Re: [Resolvido]Instalaçao de seistema access

    Mensagem  Convidado 10/3/2013, 21:32

    Suponhamos que
    - na base Antiga tenha 10 Registros... (Rs1)
    - na base nova tenha 5 registros... (Rs2)

    Criaria 2 Recordsets, um baseado no BD Antigo e outro no BD Novo

    Faria um loop pelo (RS1) , após uma clausula FindFirst, para checar se o registro existe no (Rs2)
    Em não existindo uma função com o Dd.Execute "INSERT INTO..... lançando a infomação no (Rs2) ou a edição do (Rs2) executando Rs2.Edit >>>> Rs2.Update

    Assim os registros do (Rs1) que não existem no (Rs2) seriam copiados....

    é por ai.

    Ps... Seria feito em um módulo e colocado na Macro AutoExec, que é imediatamente executada antes das demais funções do BD

    Cumprimentos.
    luisaraujo
    luisaraujo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 64
    Registrado : 31/01/2011

    [Resolvido]Instalaçao de seistema access Empty Re: [Resolvido]Instalaçao de seistema access

    Mensagem  luisaraujo 10/3/2013, 21:35

    Boas Caro Colega

    Bem Vou ver se consigo

    Mas sera possivel fazer um exemplo simples para que eu possa estudalo e aprender um pouco mais ????
    avatar
    Convidado
    Convidado


    [Resolvido]Instalaçao de seistema access Empty Re: [Resolvido]Instalaçao de seistema access

    Mensagem  Convidado 11/3/2013, 01:23

    Mais mastigado que isso, impossível:

    no exemplo tem dois BE, o que esta vinculado ao BD e o Antigo

    Emite mensagem perguntando se deseja criar a base... se a resposta for
    sim direcionara ao codigo que cria uma nova base, este codigo nao esta
    criado, pesquise sobre isso

    Abra o formulario e clique no botão, verifica o BD antigo comparando com novo, importando os registros que não tenha no novo, do BD antigo.


    Código:
    Option Compare Database
    Option Explicit
    Dim Tabelas

    Function VerificaBase()
    Dim Msg As String

        Msg = MsgBox("Deseja criar uma nova Base de Dados?", vbYesNo + vbQuestion, "ATENÇÃO")
        Select Case Msg
            Case vbYes
                MsgBox "Códigos para Criar BD"
            Case vbNo
                Call ImportaRegistros
        End Select
    End Function

    Sub ImportaRegistros()
    '*******************************************************************************
    'Popula o recordset com os dados importados para posterior comparação
    '*******************************************************************************
    Dim dbnovo As DAO.Database, dbAntigo As DAO.Database
    Dim RsNovo As DAO.Recordset, RsAntigo As DAO.Recordset
    Dim StrSQLNovo As String, StrSQLAntigo As String
    Dim Msg As String, Caminho As String
    Dim X As Integer, NumCampos As Integer, N As Integer, Z As Integer
    Dim CountRS As Long

    Caminho = CurrentProject.Path

        'Seta a variável db com o banco externo
        Set dbnovo = OpenDatabase(Caminho & "\BD_Exemplo_be.mdb", False, False, "MS Access;PWD=senha")
        Set dbAntigo = OpenDatabase(Caminho & "\BD_Exemplo_Antigo_be.mdb", False, False, "MS Access;PWD=senha")

    '----------------------------------------------------------------
    'Carrega em uma Matriz o nome das tabelas
    '----------------------------------------------------------------
    On Error Resume Next
    Dim tbl As DAO.TableDef
    Dim I As Integer
    Dim NomeTabela As String

        For I = CurrentDb.TableDefs.Count - 1 To 0 Step -1
            If Left(CurrentDb.TableDefs(I).Name, 4) <> "MSys" Then
                If Left(CurrentDb.TableDefs(I).Name, 1) <> "~" Then
                    NomeTabela = NomeTabela & CurrentDb.TableDefs(I).Name & "|"
                End If
        End If
      Next I
    Tabelas = Split(NomeTabela, "|")
    '----------------------------------------------------------------

    For X = 0 To UBound(Tabelas)
       
        Set RsNovo = dbnovo.OpenRecordset("SELECT * From " & Tabelas(X) & ";")
        Set RsAntigo = dbAntigo.OpenRecordset("SELECT * From " & Tabelas(X) & ";")
     
    '***********************************************************************************************************
    'Faz um loop pela tabela importada
    'Os códigos dos registros da tabela
    RsAntigo.MoveFirst
    Do While Not RsAntigo.EOF

            'Contagem de registros importados
            CountRS = CountRS + 1
            NumCampos = RsAntigo.Fields.Count
            RsNovo.FindFirst "Codigo = " & RsAntigo(0) & ""
                If RsNovo.NoMatch Then
                    RsNovo.AddNew
                    'Inicio o loop pelos campos excluindo o campo da chave primaria que é o campo 0
                    For Z = 0 To (NumCampos - 1)
                    RsNovo.Fields(Z) = RsAntigo.Fields(Z)
                    Next Z
                    'Atualizo o Recordset
                    RsNovo.Update
                   
            End If
     'Movo o RsImport para o proximo registro
    RsAntigo.MoveNext
    Loop
            MsgBox "Foram importados: " & CountRS & " Registros da tabela:  " & Tabelas(X) & "", vbInformation, "PRONTO"
    CountRS = 0
    Next X
            RsNovo.Close
            RsAntigo.Close
    End Sub
    luisaraujo
    luisaraujo
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 64
    Registrado : 31/01/2011

    [Resolvido]Instalaçao de seistema access Empty Re: [Resolvido]Instalaçao de seistema access

    Mensagem  luisaraujo 11/3/2013, 01:34

    Boas Caro colega

    Entendi o conceito

    Inteiramente agradecido pela ajuda vou estudar a situaçao

    Comprimentos
    avatar
    Convidado
    Convidado


    [Resolvido]Instalaçao de seistema access Empty Re: [Resolvido]Instalaçao de seistema access

    Mensagem  Convidado 11/3/2013, 01:45

    O Forum agradece o Retorno.

    Conteúdo patrocinado


    [Resolvido]Instalaçao de seistema access Empty Re: [Resolvido]Instalaçao de seistema access

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 08:13