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


2 participantes

    [Resolvido]Exibir todos os Reg. no Form Desacoplado.

    avatar
    Victor Santos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 24/06/2020

    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Empty [Resolvido]Exibir todos os Reg. no Form Desacoplado.

    Mensagem  Victor Santos 13/10/2022, 14:48

    Bom dia! Boa tarde! Boa noite! meus amigos.

    Estou utilizando o Script abaixo em um formulário no modo folha de dados, porem ele só me retorna o primeiro registro, o que tenho que fazer para que ele retorne todos os registros. Esse formulário está com os campos desacoplados e ele será para a pesquisa de registros do formulário principa.

    Código:

    Private Sub Form_Load()

    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Set db = CurrentDb
    Set rs = db.OpenRecordset("Select * From Tabela ")

        Me.txtCampo1.Value = rs![Campo1 da tabela].Value
        Me.txtCampo2.Value = rs![Campo2 da tabela].Value

    rst.Close
    db.Close

    Set rst = Nothing
    Set db = Nothing

    End Sub
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3209
    Registrado : 13/12/2016

    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Empty Re: [Resolvido]Exibir todos os Reg. no Form Desacoplado.

    Mensagem  Alexandre Fim 13/10/2022, 15:39

    Olá Victor,

    Para ficar mais fácil e rápido, por gentileza, envie uma cópia do seu bd para análise e solução do problema.

    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    Victor Santos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 24/06/2020

    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Empty Re: [Resolvido]Exibir todos os Reg. no Form Desacoplado.

    Mensagem  Victor Santos 14/10/2022, 11:44

    Opa, Alexandre, segue um exemplo do que estou tentando fazer.
    Anexos
    [Resolvido]Exibir todos os Reg. no Form Desacoplado. AttachmentTeste_Conexao_DAO.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (33 Kb) Baixado 12 vez(es)
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3209
    Registrado : 13/12/2016

    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Empty Re: [Resolvido]Exibir todos os Reg. no Form Desacoplado.

    Mensagem  Alexandre Fim 14/10/2022, 15:28

    Olá Victor,
    Fiz algumas alterações no sistema, inclusive mudei a conexão DAO para ADO.
    Com este tipo de conexão vc pode utilizar para conectar outros bancos de dados (SQL Server, MySql, SQLite e etc.) também, sem precisar mudar a estrutura de programação dos formulários e etc.
    Eu separei o banco de dados para armazenar somente a tabela e outro somente para front-end e demais objetos(consultas/modulos/relatorios e etc).

    O front-end ficou assim:
    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Folhad10

    É necessário assinalar a referência ADO no sistema. No código, vá em Ferramentas>Referência e assinale:
    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Refere15


    É isso.

    Segue versão atualizada

    Espero ter ajudado

    Att,

    Alexandre Fim
    Anexos
    [Resolvido]Exibir todos os Reg. no Form Desacoplado. AttachmentTesteConexADO.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (78 Kb) Baixado 20 vez(es)


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    Victor Santos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 24/06/2020

    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Empty Re: [Resolvido]Exibir todos os Reg. no Form Desacoplado.

    Mensagem  Victor Santos 17/10/2022, 15:12

    Fala ai, Alexandre blz, estudei o seu script e conseguir aplicar o problema é que ele está fechando o access logo depois, pensei que era devido a quantidade de registro ai coloquei um Select top mais o problema ainda continua, tem alguma ideia do que possa ser.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3209
    Registrado : 13/12/2016

    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Empty Re: [Resolvido]Exibir todos os Reg. no Form Desacoplado.

    Mensagem  Alexandre Fim 17/10/2022, 15:56

    Olá Victor,

    Quantos registros tem na tabela?
    É necessário filtrar somente os dados que deseja, ou então carregar o formulário vazio e depois filtrar o que deseja.

    Pelo teste que eu fiz, a rotina está rodando normalmente.

    Você alterou alguma no código?
    Está fechando e limpando da memória os recordsets corretamente?


    Att

    Alexandre


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    Victor Santos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 24/06/2020

    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Empty Re: [Resolvido]Exibir todos os Reg. no Form Desacoplado.

    Mensagem  Victor Santos 17/10/2022, 16:37

    A única mudança que fiz foi no caminho do banco e no Provider.

    Código:
    Public Function fnConecta()
    On Error GoTo trata_erro

        '-- Se a conexão estiver aberta, finaliza a function
        If cnn.State = 1 Then Exit Function
       
    '    strPathDB = CurrentProject.Path & "\dbteste.accdb"
        strPathDB = "C:\ZS\Servidor\ZS_DatabaseBkp.accdb"
       
        With cnn
    '        .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPathDB & ";Persist Security Info=False;"
            .ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strPathDB & ";Jet OLEDB:Database Password=123456789;"
            .Open
        End With
       
     
        Exit Function

    trata_erro:
        If cnn.State = 1 Then
            cnn.Close
            Set cnn = Nothing
        End If

        MsgBox "Erro ocorrido: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro"
        Exit Function
       

    End Function
    avatar
    Victor Santos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 24/06/2020

    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Empty Re: [Resolvido]Exibir todos os Reg. no Form Desacoplado.

    Mensagem  Victor Santos 17/10/2022, 16:41

    Outra, devido a quantidade de registros coloquei um Select Top.

    Código:
    Option Explicit
    Option Compare Database

    Private Sub Form_Close()

        Call fnDesconecta

    End Sub

    Private Sub Form_Load()

        Call CarregaDados

    End Sub

    '-- Procedimento para carregar dados no form
    Public Sub CarregaDados()
    On Error GoTo trata_erro

        '-- Executa função de conexão com bd
        Call fnConecta
       
        '-- Se recordset estiver aberto, então feche e limpe da memoria
        If rst.State = 1 Then
            rst.Close
            Set rst = Nothing
        End If
       
        '-- Instrução SQL
        sSQL = "SELECT top 100 * FROM tabela"
        'rst.Open sSQL, cnn, adOpenKeyset, adLockReadOnly
       
        Set rst.ActiveConnection = cnn
        rst.CursorLocation = adUseClient
        rst.CursorType = adOpenKeyset
        rst.LockType = adLockOptimistic
        rst.Open sSQL
        Set Me.Recordset = rst
        Set rst.ActiveConnection = Nothing
       
        Exit Sub

    trata_erro:
        MsgBox "Erro ocorrido: " & Err.Number & " - " & Err.Description & "", vbCritical, "Erro!!!"
        Exit Sub

    End Sub

    Private Sub Form_Unload(Cancel As Integer)

        Call fnDesconecta

    End Sub
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3209
    Registrado : 13/12/2016

    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Empty Re: [Resolvido]Exibir todos os Reg. no Form Desacoplado.

    Mensagem  Alexandre Fim 17/10/2022, 16:59

    Aparentemente, a sintaxe de conexão está correta.

    Mude o CursorLocation.

    De: rst.CursorLocation = adUseClient
    Para: rst.CursorLocation = adUseServer

    ou melhor, ajuste as linhas abaixo:

    Set rst.ActiveConnection = cnn
    rst.CursorLocation = adUseServer
    rst.CursorType = adOpenKeyset
    rst.LockType = adLockReadOnly
    rst.Open sSQL
    Set Me.Recordset = rst
    'Set rst.ActiveConnection = Nothing



    Tente isso.

    Se não funcionar, compartilhe uma copia do sistema e o db para análise e solução

    Valeu

    Att,

    Alexandre Fim


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Setinf11
    Sistemas e Tecnologia Ltda
    avatar
    Victor Santos
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 18
    Registrado : 24/06/2020

    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Empty Re: [Resolvido]Exibir todos os Reg. no Form Desacoplado.

    Mensagem  Victor Santos 17/10/2022, 17:59

    Alexandre descobri onde estava o problema, tinha um campo com formula nesse formulário, assim que excluir o campo o Access parou de fechar, obrigado pela ajuda, vou implantar esse método em todo o sistema.
    Alexandre Fim
    Alexandre Fim
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3209
    Registrado : 13/12/2016

    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Empty Re: [Resolvido]Exibir todos os Reg. no Form Desacoplado.

    Mensagem  Alexandre Fim 17/10/2022, 18:18

    Ok Victor...boaz sorte!!
    O fórum agradece!!!


    .................................................................................
    Arrow  Marcar tópico como Resolvido: clique aqui
    Arrow  Postar anexos no fórum: clique aqui

    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Setinf11
    Sistemas e Tecnologia Ltda

    Conteúdo patrocinado


    [Resolvido]Exibir todos os Reg. no Form Desacoplado. Empty Re: [Resolvido]Exibir todos os Reg. no Form Desacoplado.

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 13/4/2024, 11:28