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]Carregar uma consulta de referencia cruzada em recordset

    avatar
    Convidado
    Convidado


    [Resolvido]Carregar uma consulta de referencia cruzada em recordset Empty [Resolvido]Carregar uma consulta de referencia cruzada em recordset

    Mensagem  Convidado 8/3/2014, 22:48

    Tenho a seguinte consulta de referencia cruzada:

    PARAMETERS [Formulários]![frmImpressaoNotaMuralAloj]![DataInicio] DateTime, [Formulários]![frmImpressaoNotaMuralAloj]![DataFinal] DateTime;
    TRANSFORM Avg(qryNotaMuralAloj.Média) AS MédiaDeMédia
    SELECT qryNotaMuralAloj.Alojamento, Avg(qryNotaMuralAloj.Média) AS ValorMedio
    FROM qryNotaMuralAloj
    WHERE (((qryNotaMuralAloj.dataAvaliação) Between [Formulários]![frmImpressaoNotaMuralAloj]![DataInicio] And [Formulários]![frmImpressaoNotaMuralAloj]![DataFinal]))
    GROUP BY qryNotaMuralAloj.Alojamento, qryNotaMuralAloj.dataAvaliação
    PIVOT Format$([dataAvaliação],"dd/mm",0,0);


    Funciona perfeitamente, porém ao carregar em um recordser dá erro: Parâmetros insuficientes eram esperados 2...

    O que fazer amigos?

    O que pretendo é contar quantos campos a consulta tem.. Pode ter 1 ou mais de 1 dependendo do critério de datas..

    Obrigado pela ajuda.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]Carregar uma consulta de referencia cruzada em recordset Empty Re: [Resolvido]Carregar uma consulta de referencia cruzada em recordset

    Mensagem  Avelino Sampaio 9/3/2014, 08:24

    Olá!

    Acho que será possível com esta linha. Não testei

    currentdb.QueryDefs("NomeDaConsulta").Fields.Count

    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Convidado
    Convidado


    [Resolvido]Carregar uma consulta de referencia cruzada em recordset Empty Re: [Resolvido]Carregar uma consulta de referencia cruzada em recordset

    Mensagem  Convidado 9/3/2014, 13:03

    Boas Mestre.. Testei com a consulta Fecha e em seguida aberta..
    A mesma é filtrada por datas..

    Exibiu a contagem 0

    Cumprimentos.
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]Carregar uma consulta de referencia cruzada em recordset Empty Re: [Resolvido]Carregar uma consulta de referencia cruzada em recordset

    Mensagem  Avelino Sampaio 9/3/2014, 13:43

    Vou alterar o exemplo do outro tópico para a versão 2007 e já já te passo

    Avelino Sampaio


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    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]Carregar uma consulta de referencia cruzada em recordset Empty Re: [Resolvido]Carregar uma consulta de referencia cruzada em recordset

    Mensagem  Alexandre Neves 9/3/2014, 13:59

    Olá Hary,
    Esse erro é usual quando algum nome de campo não está certo.
    Tenta
    currentdb.openrecordset("TRANSFORM Avg(qryNotaMuralAloj.Média) AS MédiaDeMédia
    SELECT qryNotaMuralAloj.Alojamento, Avg(qryNotaMuralAloj.Média) AS ValorMedio
    FROM qryNotaMuralAloj
    WHERE qryNotaMuralAloj.dataAvaliação Between #" & [Formulários]![frmImpressaoNotaMuralAloj]![DataInicio] & "# And #" & [Formulários]![frmImpressaoNotaMuralAloj]![DataFinal] &"# GROUP BY qryNotaMuralAloj.Alojamento, qryNotaMuralAloj.dataAvaliação
    PIVOT Format$([dataAvaliação],'dd/mm',0,0);")
    Abraços,


    .................................................................................
    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
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]Carregar uma consulta de referencia cruzada em recordset Empty Re: [Resolvido]Carregar uma consulta de referencia cruzada em recordset

    Mensagem  Avelino Sampaio 9/3/2014, 14:18

    Já disponibilizei o exemplo

    http://maximoaccess.forumeiros.com/t17737-relatorio-nao-atualiza

    Veja o programação utilizada no rtelatório:

    Private Sub Report_Load()
    Dim k%, j%
    k = CurrentDb.QueryDefs("Queixa_tabela de referência Cruzada").Fields.Count - 4
    If k > 7 Then
       MsgBox "Relatório não comporta mais do 7 colunas...."
       Exit Sub
    End If
    For j = 1 To k
       Me("tx" & j).ControlSource = CurrentDb.QueryDefs("Queixa_tabela de referência Cruzada").Fields(3 + j).Name
       Me("rot" & j).Caption = CurrentDb.QueryDefs("Queixa_tabela de referência Cruzada").Fields(3 + j).Name
    Next
    End Sub


    Aguardamos


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Convidado
    Convidado


    [Resolvido]Carregar uma consulta de referencia cruzada em recordset Empty Re: [Resolvido]Carregar uma consulta de referencia cruzada em recordset

    Mensagem  Convidado 9/3/2014, 14:21

    Perfeito Mestre Alexandre!


    Dim rs As DAO.Recordset
    Set rs = CurrentDb.OpenRecordset("TRANSFORM Avg(qryNotaMuralAloj.Média) AS MédiaDeMédia SELECT qryNotaMuralAloj.Alojamento, Avg(qryNotaMuralAloj.Média) AS ValorMedio" _
    & " FROM qryNotaMuralAloj WHERE qryNotaMuralAloj.dataAvaliação Between #" & Me.DataInicial & "# And #" & Me.DataFinal & "# GROUP BY qryNotaMuralAloj.Alojamento," _
    & " qryNotaMuralAloj.dataAvaliação PIVOT Format$([dataAvaliação],'dd/mm',0,0);")
    MsgBox rs.Fields.Count


    Boas Mestre Avelino, irei aguardar o outro exemplo...
    O Tópico que eu necessitava disto era na tentativa de resolver o tópico do Colega João Ricardo:

    http://maximoaccess.forumeiros.com/t17826-carregar-uma-consulta-de-referencia-cruzada-em-recordset

    No entanto consegui adaptar o Exemplo do Mestre João Paulo para ele..
    No mesmo tópico o Avelino sugeriu uma outra forma de fazer.. baseado em programação diretamente no relatório, creio que é uma ótima solução vindo de sua pessoa. Irei estudar o exemplo sugerido por ele.


    Este e o tópico do colega João Ricardo foi e está sendo uma ótima oportunidade de aprendizado.

    Obrigado Mestres!

    avatar
    Convidado
    Convidado


    [Resolvido]Carregar uma consulta de referencia cruzada em recordset Empty Re: [Resolvido]Carregar uma consulta de referencia cruzada em recordset

    Mensagem  Convidado 9/3/2014, 14:28

    Que bacana Avelino, fiquei feliz em saber que eu estava seguindo a mesma linha de raciocínio quando comecei a ajudar o colega, veja o que eu havia pensando antes de você oferecer sua grata ajuda:

    O que eu havia pensado?

    Carregar a consulta de referencia cruzada em um recordset, contar quantos campos tem..
    e ao abrir o formulário carregar o controlSource dos objetos com os respectivos campos da consulta... algo assim:



    Dim StrSQL As String
    Dim Rs As DAO.Recordset

    StrSQL = "PARAMETERS Me.DataIni DateTime, Me.dataFin DateTime;" _
    & " TRANSFORM Avg(qryNotaMuralAloj.Média) AS MédiaDeMédia SELECT qryNotaMuralAloj.Alojamento, Avg(qryNotaMuralAloj.Média) AS ValorMedio" _
    & " FROM qryNotaMuralAloj WHERE (((qryNotaMuralAloj.dataAvaliação) Between Me.DataIni" _
    & " And Me.dataFin))GROUP BY qryNotaMuralAloj.Alojamento, qryNotaMuralAloj.dataAvaliação" _
    & " PIVOT Format$([dataAvaliação],'dd/mm',0,0);"

    Set Rs = CurrentDb.OpenRecordset(StrSQL)
    CampCount = Rs.Fields.Count

    If CampCount = 3 Then
    Me.lbData1.Caption = Rs(2).Name
    Me.txtData1.ControlSource = "= " & Rs(2).Name & ""
    ElseIf CampCount = 4 Then
    Me.lbData1.Caption = Rs(2).Name
    Me.txtData1.ControlSource = "= " & Rs(2).Name & ""
    Me.lbData2.Caption = Rs(3).Name
    Me.txtData1.ControlSource = "= " & Rs(3).Name & ""
    ElseIf CampCount = 5 Then
    Me.lbData1.Caption = Rs(2).Name
    Me.txtData1.ControlSource = "= " & Rs(2).Name & ""
    Me.lbData2.Caption = Rs(3).Name
    Me.txtData2.ControlSource = "= " & Rs(3).Name & ""
    Me.lbData3.Caption = Rs(4).Name
    Me.txtData3.ControlSource = "= " & Rs(4).Name & ""
    End If


    Justamente carregar o controlSource do objeto

    Abraços!
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3880
    Registrado : 04/04/2010

    [Resolvido]Carregar uma consulta de referencia cruzada em recordset Empty Re: [Resolvido]Carregar uma consulta de referencia cruzada em recordset

    Mensagem  Avelino Sampaio 9/3/2014, 15:01

    Fico feliz de ter contribuído.

    Sucesso!


    .................................................................................
    Vídeos, livros, kit MontaRibbons e acesso vitalício ao site UsandoAcces  
    Clique AQUI e analise o custo beneficio do material oferecido.
    avatar
    Convidado
    Convidado


    [Resolvido]Carregar uma consulta de referencia cruzada em recordset Empty Re: [Resolvido]Carregar uma consulta de referencia cruzada em recordset

    Mensagem  Convidado 9/3/2014, 15:12

    Me dei por satisfeito com vossas ajudas Avelino e Alexandre Neves!

    Obrigado.

    Conteúdo patrocinado


    [Resolvido]Carregar uma consulta de referencia cruzada em recordset Empty Re: [Resolvido]Carregar uma consulta de referencia cruzada em recordset

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 29/4/2024, 01:44