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


3 participantes

    Atualizar banco de dados

    avatar
    guma.cojogra
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 04/10/2018

    Atualizar banco de dados Empty Atualizar banco de dados

    Mensagem  guma.cojogra 6/12/2018, 11:25

    tem alguma forma de atualizar o banco de dados tipo um reflesh?
    explico, estou usando vba para rodar um comando SQL creat table, ele roda cria a tabela bonitinho, mas eu só consigo visualizar a tabela se fechar o banco de dados e abrir novamente.
    obrigado
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    Atualizar banco de dados Empty Re: Atualizar banco de dados

    Mensagem  Alvaro Teixeira 6/12/2018, 14:12

    Olá Renato,

    Já tento o comando
    Código:
    DoEvents

    Onde não mostra a tabela, num formulário?, pode partilhar o código que está a usar.

    Abraço
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    Atualizar banco de dados Empty Re: Atualizar banco de dados

    Mensagem  DamascenoJr. 6/12/2018, 15:21

    Com a licença do Alvaro, claro, um macete é após criar a tabela
    Código:
    DoCmd.SelectObject acTable, "NomeDaTabelaCriada", True
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    Atualizar banco de dados Empty Re: Atualizar banco de dados

    Mensagem  Alvaro Teixeira 6/12/2018, 17:36

    Olá Ivan, toda a ajuda é bem-vinda.
    Aguardamos o retorno do colega.

    Abraço
    avatar
    guma.cojogra
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 04/10/2018

    Atualizar banco de dados Empty Re: Atualizar banco de dados

    Mensagem  guma.cojogra 6/12/2018, 19:46

    cara meu código é simples eu uso uma macro que baixei num tutorial da internet, não lembro qual para dar os créditos, para selecionar um arquivo contento minhas instruções sql e utilizo outra pra rodar essas instruções.
    Código:

    Public Sub LeArquivoTexto()
        Dim Arquivo As Integer
        Dim CaminhoArquivo As String
        Dim strSQL As String
        Dim Linha As String
        Dim ContadorLinha As Long
     
        'Configura a leitura do arquivo
        Arquivo = FreeFile
        CaminhoArquivo = SelecionarArquivo() '"C:\temp\arquivo.txt"
     
        'Abre o arquivo para leitura
        Open CaminhoArquivo For Input As Arquivo
        ContadorLinha = 1
        'Lê o conteúdo do arquivo linha a linha
        Do While Not EOF(Arquivo)
            Line Input #Arquivo, Linha
            If Right(Linha, 1) = ";" Then
                strSQL = strSQL & Linha
                CurrentDb.Execute strSQL
                strSQL = ""
            Else
                Linha = Linha & vbCrLf
                strSQL = strSQL & Linha
            End If
        Loop
     
        'Coloca na janela de verificação imediata
        'Debug.Print strSQL
     
        'Fecha o arquivo
        Close Arquivo
     
    End Sub

    'Procedimento para selecionar arquivos
    Function SelecionarArquivo()
        Dim fDlg As FileDialog
        Dim lArquivo As String

        'Chama o objeto passando os parâmetros
        'Set fDlg = Application.FileDialog(FileDialogType:=msoFileDialogOpen)
        Set fDlg = Application.FileDialog(1)
        With fDlg
            'Alterar esta propriedade para True permitirá a seleção de vários arquivos
            .AllowMultiSelect = False

            'Determina a forma de visualização dos aruqivos
            .InitialView = msoFileDialogViewDetails

            'Filtro de arquivos, pode ser colocado mais do que um filtro separando com ; por exemplo: "*.xls;*.xlsm"
            .Filters.Add "Texto", "*.sql", 1

            'Determina qual o drive inicial
            .InitialFileName = Application.CurrentProject.Path
        End With

        'Retorna o arquivo selecionado
        If fDlg.Show = -1 Then
            lArquivo = fDlg.SelectedItems(1)
            'MsgBox "O arquivo selecionado está em: " & lArquivo
            SelecionarArquivo = lArquivo
        Else
            MsgBox "Não foi selecionado nenhum arquivo"
        End If
    End Function


    um exemplo de um sql

    Código:

    CREATE TABLE garoto (
      id_garoto INTEGER,
      garoto varchar(20)
      );
     
    INSERT INTO `garoto` (`id_garoto`,`garoto`) VALUES ('1','Davey');
    INSERT INTO `garoto` (`id_garoto`,`garoto`) VALUES ('2','Bobby');
    INSERT INTO `garoto` (`id_garoto`,`garoto`) VALUES ('3','Beaver');
    INSERT INTO `garoto` (`id_garoto`,`garoto`) VALUES ('4','Richie');
    INSERT INTO `garoto` (`id_garoto`,`garoto`) VALUES ('6','Johnny');
    INSERT INTO `garoto` (`id_garoto`,`garoto`) VALUES ('5','Billy');

    CREATE TABLE `brinquedo` (
      `id_brinquedo`INTEGER,
      `brinquedo` varchar(20)
    );

    INSERT INTO `brinquedo` (`id_brinquedo`,`brinquedo`) VALUES ('1','banbolê');
    INSERT INTO `brinquedo` (`id_brinquedo`,`brinquedo`) VALUES ('2','planador');
    INSERT INTO `brinquedo` (`id_brinquedo`,`brinquedo`) VALUES ('3','soldados');
    INSERT INTO `brinquedo` (`id_brinquedo`,`brinquedo`) VALUES ('4','gaita');
    INSERT INTO `brinquedo` (`id_brinquedo`,`brinquedo`) VALUES ('5','Figurinhas de baseball');
    INSERT INTO `brinquedo` (`id_brinquedo`,`brinquedo`) VALUES ('6','tinker brinquedo');
    INSERT INTO `brinquedo` (`id_brinquedo`,`brinquedo`) VALUES ('7','etch-a-sketch');
    INSERT INTO `brinquedo` (`id_brinquedo`,`brinquedo`) VALUES ('8','slinky');
    Esse código sql é do livro Use a Cabeça SQL, com algumas alterações para rodar no access.

    quando rodo funciona, mas é como falei tenho que fechar o banco para ver os resultados.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    Atualizar banco de dados Empty Re: Atualizar banco de dados

    Mensagem  DamascenoJr. 8/12/2018, 00:49

    Viu a minha dica na mensagem nº 3?

    Código:
    Public Sub LeArquivoTexto()
        ...
     
        'Fecha o arquivo
        Close Arquivo

        DoCmd.SelectObject acTable, "brinquedo", True
     
    End Sub
    avatar
    guma.cojogra
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 4
    Registrado : 04/10/2018

    Atualizar banco de dados Empty Re: Atualizar banco de dados

    Mensagem  guma.cojogra 10/12/2018, 22:02

    Ivan desse jeito funciona, mas eu queria algo mais genérico porque nem sempre as tabelas terão o mesmo nome.
    mas se não tiver jeito blz.
    obrigado a todos de qualquer forma.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    Atualizar banco de dados Empty Re: Atualizar banco de dados

    Mensagem  DamascenoJr. 10/12/2018, 22:43

    Na mesma linha de raciocínio, segue uma função que se for chamada - Call fncAbracadabra -, sai movendo o foco pra todas as tabelas do banco que não comecem com USys ou MSys, forçando as que ainda não apareceram a aparecerem.

    Código:
    Public Sub fncAbracadabra()

        Dim tbl As TableDef
        
        For Each tbl In CurrentDb.TableDefs
            If Eval("'" & Left(tbl.Name, 4) & "' not in ('USys','MSys')") Then
                DoCmd.SelectObject acTable, tbl.Name, True
            End If
        Next tbl

    End Sub

    Obs.: perdoe-me o abracadabra, fiquei sem nomes.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    Atualizar banco de dados Empty Re: Atualizar banco de dados

    Mensagem  DamascenoJr. 18/12/2018, 12:01

    Renato, resolveu seu problema?


    .................................................................................
    Ajude-se a ser ajudado, anexe seu projeto.
    Sempre tente entender o código,
    não somente copie e cole.
    Positive as mensagens que achar útil clicando no '+' no canto superior direito delas.

    Conteúdo patrocinado


    Atualizar banco de dados Empty Re: Atualizar banco de dados

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 23/11/2024, 15:58