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]Recordset não trás toda a Query..

    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 410
    Registrado : 02/08/2018

    [Resolvido]Recordset não trás toda a Query.. Empty [Resolvido]Recordset não trás toda a Query..

    Mensagem  mfmaiafilho 31/10/2021, 04:06

    Boa noite Srs.
    Eu tenho um módulo que gera um log de erros ao qual fica registrado em um bloco de notas fora do access...

    Eu estava testando o código pra abrir uma Query, que no caso é a STRWHERE,

    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset(strWhere, dbOpenSnapshot)
    Me.FolhaDados.Form.Requery
    Set Me.FolhaDados.Form.Recordset = rs

    Eu utilizei todos os filtros do formulário,

    ID, Descrição, Ativo/Inativo, Data de Cadastro, Data de Alteração, e me deparei com esse erro abaixo:

    Date: 31/10/2021 00:02:54
    Error Number: 3075
    Error Description: ), ] ou item faltando na expressão de consulta '[TSYS_UNID].[ID_UNID] LIKE '14' AND [TSY'.
    Object: FRMMAIN_TSYS_UNID
    Procedure: btn_procurar_Click

    Alguém pode me ajudar ou pelo menos explicar o porque o recordset quebra a query?
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Recordset não trás toda a Query.. Empty Re: [Resolvido]Recordset não trás toda a Query..

    Mensagem  Alexandre Neves 31/10/2021, 10:04

    Bom dia
    E se inverter a ordem destas instruções?
    Set Me.FolhaDados.Form.Recordset = rs
    Me.FolhaDados.Form.Requery


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 410
    Registrado : 02/08/2018

    [Resolvido]Recordset não trás toda a Query.. Empty Re: [Resolvido]Recordset não trás toda a Query..

    Mensagem  mfmaiafilho 3/11/2021, 11:49

    Bom dia Alexandre,

    eu faço dessa forma, em Origem de Dados deixo vazio, e dentro de uma função eu faço a atribuição no Recordsource.

    Eu tentei utilizar seu exemplo, mas ele trás as colunas como se fossem desconhecidas #nome?


    Código:
    Function fncFiltrarDados()

        strWhere = "SELECT TSYS_UNID.ID_UNID AS [Código]"
        strWhere = strWhere & ", TSYS_UNID.UNID_NOM AS [Unidade de negócios]"
        strWhere = strWhere & ", TSYS_UNID.UNID_DHCAD AS [Cadastro]"
        strWhere = strWhere & ", TSYS_UNID.UNID_DHALT AS [Alteração]"
        strWhere = strWhere & ", TSYS_UNID.UNID_DHFIM AS [Desativação]"
        strWhere = strWhere & " FROM TSYS_UNID"

        '// filtros
        ......

        '// origem de dados
        'Me.FolhaDados.Form.RecordSource = strWhere
       
        '// origem dos campos
        Me.FolhaDados!txt_id.ControlSource = "Código"
        Me.FolhaDados!txt_campo1.ControlSource = "Unidade de negócios"
        Me.FolhaDados!txt_campo2.ControlSource = "Cadastro"
        Me.FolhaDados!txt_campo3.ControlSource = "Alteração"
        Me.FolhaDados!txt_campo4.ControlSource = "Desativação"
       
        '// requery
        Me.FolhaDados.Requery
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Recordset não trás toda a Query.. Empty Re: [Resolvido]Recordset não trás toda a Query..

    Mensagem  Alexandre Neves 3/11/2021, 22:56

    Boa noite
    Também devia ter mostrado os filtros. Pode ter algum com sintaxe errada
    Verifico que na origem dos dados, renomeia ID_UNID para Código. Assim, deverá usar Código em vez de ID_UNID, pois é este o novo nome na origem dos dados do form


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 410
    Registrado : 02/08/2018

    [Resolvido]Recordset não trás toda a Query.. Empty Re: [Resolvido]Recordset não trás toda a Query..

    Mensagem  mfmaiafilho 4/11/2021, 12:06

    Bom dia Alexandre, acredito que não seja Sintax inválida pois o mesmo filtro funciona quando coloco em RecordSource.

    O motivo de está querendo fazer isso com Recordset é que me parece que a tabela não fica "aberta"... o que ocorre com RecordSource que estou utilizando atualmente...

    Código:

    Function fncFiltrarDados()

        strWhere = "SELECT TSYS_UNID.ID_UNID AS [Código]"
        strWhere = strWhere & ", TSYS_UNID.UNID_NOM AS [Unidade de negócios]"
        strWhere = strWhere & ", TSYS_UNID.UNID_DHCAD AS [Cadastro]"
        strWhere = strWhere & ", TSYS_UNID.UNID_DHALT AS [Alteração]"
        strWhere = strWhere & ", TSYS_UNID.UNID_DHFIM AS [Desativação]"
        strWhere = strWhere & " FROM TSYS_UNID"

        '// filtros
        If Nz(Me.txt_descricao, "") <> "" Then
          strWhere = strWhere & " WHERE [TSYS_UNID].[UNID_NOM] LIKE '*" & Me.txt_descricao & "'"
        End If

        '// origem de dados
        'Me.FolhaDados.Form.RecordSource = strWhere
       
        '// origem dos campos
        Me.FolhaDados!txt_id.ControlSource = "Código"
        Me.FolhaDados!txt_campo1.ControlSource = "Unidade de negócios"
        Me.FolhaDados!txt_campo2.ControlSource = "Cadastro"
        Me.FolhaDados!txt_campo3.ControlSource = "Alteração"
        Me.FolhaDados!txt_campo4.ControlSource = "Desativação"
       
        '// requery
        Me.FolhaDados.Requery
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Recordset não trás toda a Query.. Empty Re: [Resolvido]Recordset não trás toda a Query..

    Mensagem  Alexandre Neves 4/11/2021, 13:59

    Boa tarde
    Não vejo erro no código
    Qual valor coloca no filtro? Se colocar algum hífen ou parêntesis recto dará erro


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 410
    Registrado : 02/08/2018

    [Resolvido]Recordset não trás toda a Query.. Empty Re: [Resolvido]Recordset não trás toda a Query..

    Mensagem  mfmaiafilho 4/11/2021, 14:45

    Bom dia, não coloco nenhum destes...

    a questão não é sintax errada se eu copiar o strwhere e colocar em uma consulta ele funciona normalmente,

    e a mesma coisa se eu colocar me.folhadados.form.recordsource = strwhere ele vai funcionar

    só que o Recordset corta parte da query... não sei pq acontece isso
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8449
    Registrado : 05/11/2009

    [Resolvido]Recordset não trás toda a Query.. Empty Re: [Resolvido]Recordset não trás toda a Query..

    Mensagem  Alexandre Neves 4/11/2021, 15:08

    Corta alguns registos ou alguns campos
    Se fôr campos indique quais corta


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    mfmaiafilho
    mfmaiafilho
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 410
    Registrado : 02/08/2018

    [Resolvido]Recordset não trás toda a Query.. Empty Re: [Resolvido]Recordset não trás toda a Query..

    Mensagem  mfmaiafilho 4/11/2021, 15:29

    Date: 31/10/2021 00:02:54
    Error Number: 3075
    Error Description: ), ] ou item faltando na expressão de consulta '[TSYS_UNID].[ID_UNID] LIKE '14' AND [TSY'.
    Object: FRMMAIN_TSYS_UNID
    Procedure: btn_procurar_Click

    Alexandre, ao abrir o recordset tinha uma linha com strwhere = me.folhadados.form.recordsource, eu removi essa linha e funcionou!

    Conteúdo patrocinado


    [Resolvido]Recordset não trás toda a Query.. Empty Re: [Resolvido]Recordset não trás toda a Query..

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 17/5/2024, 10:49