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

    [Resolvido]Exportar consulta parametrizada para Excel

    avatar
    ar7y6
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 35
    Registrado : 12/01/2011

    [Resolvido]Exportar consulta parametrizada para Excel Empty Exportar consulta parametrizada para Excel

    Mensagem  ar7y6 10/9/2012, 14:46

    Oi pessoal! Não consegui encontrar no forum a solução para a minha dúvida, por isso resolvi solicitar a vossa ajuda.

    Tenho um form (frmTarefasSector) onde escolho os três parâmetros da minha consulta (conTarefasSector), que são ID_Sector, Data inicial e Data Final! Neste form queria colocar um botão que ao clicar envie os dados filtrados da consulta para um ficheiro em Excel.

    Estou a usar um código do JPaulo:
    'By JPaulo ® Maximo Access
    Dim db As DAO.Database
    Dim rs As DAO.Recordset


    Set db = CurrentDb
    Set rs = CurrentDb.OpenRecordset("Select * from conTarefasSector2 Where [ID_Sector]=" & Me.NomeSector & "")


    'Inicia um novo Livro de Excel
    Dim xNovoLivro As New Excel.Application
    Dim xLivro As Excel.Workbook
    Dim xPlanilha As Excel.Worksheet

    Set xLivro = xNovoLivro.Workbooks.Add
    Set xPlanilha = xLivro.Worksheets(1)

    'Adiciona os nomes dos campos na primeira linha
    Dim i As Integer
    Dim iNumCols As Integer
    iNumCols = rs.Fields.count
    For i = 1 To iNumCols
    xPlanilha.Cells(1, i).Value = rs.Fields(i - 1).Name
    Next

    'Adiciona os dados a partir da segunda linha
    xPlanilha.Range("A2").CopyFromRecordset rs

    'Formata os cabeçalhos
    With xPlanilha.Range("a1").Resize(1, iNumCols)
    .Font.Bold = True
    .EntireColumn.AutoFit
    End With

    xNovoLivro.Visible = True
    xNovoLivro.UserControl = True

    'Fecha o Recordset aberto
    rs.Close
    db.Close



    O que não estou a conseguir é referenciar os parâmetros da minha consulta, que são:
    ID_Sector (critério: [forms]![frmTarefasSector]![Texto9]);
    Sem_Planeada_Inic (critério: >=[forms]![frmTarefasSector]![DataInicial] E <=[forms]![frmTarefasSector]![DataFinal])
    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]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  Alexandre Neves 10/9/2012, 15:19

    Boa tarde, ar
    Em vez de
    Set rs = CurrentDb.OpenRecordset("Select * from conTarefasSector2 Where [ID_Sector]=" & Me.NomeSector & "")
    utilize
    Set rs = CurrentDb.OpenRecordset("Select * from conTarefasSector2 Where [ID_Sector]=" & [forms]![frmTarefasSector]![Texto9] & " and Sem_Planeada_Inic Between #" & [forms]![frmTarefasSector]![DataInicial] & "# and #" [forms]![frmTarefasSector]![DataFinal] & "#")

    Nomeie os controlos de forma normalizada


    .................................................................................
    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
    avatar
    ar7y6
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 35
    Registrado : 12/01/2011

    [Resolvido]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  ar7y6 10/9/2012, 16:31

    Oi Alexandre, obrigado pela resposta! Coloquei assim:

    Set rs = CurrentDb.OpenRecordset("Select * from conTarefasSector Where [ID_Sector]=" & [Forms]![frmTarefasSector]![Texto9] & " and Sem_Planeada_Iniciar Between #" & [Forms]![frmTarefasSector]![DataInicial] & "# and #" & [Forms]![frmTarefasSector]![DataFinal] & "#")

    A vermelho uma pequena alteração que fiz, estava a dar erro de Syntax...

    Mas, continua a dar erro "Poucos parâmetros: 3 esperados".

    Já agora o que queres dizer com "Nomeie os controlos de forma normalizada", ainda estou verde no access. O que fiz foi declarar os campos, será isso?

    Dim ID_Sector As String
    Dim Sem_Planeada_Iniciar As Date
    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]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  Alexandre Neves 10/9/2012, 17:38

    Alguma regras de nomeação aqui
    Sobre a mensagem de erro é por ter algum parâmetro inexistente:
    Existe [ID_Sector]?
    Existe Sem_Planeada_Iniciar?


    .................................................................................
    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
    avatar
    ar7y6
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 35
    Registrado : 12/01/2011

    [Resolvido]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  ar7y6 11/9/2012, 09:48

    Obrigado pela informação sobre a nomeação...

    Quanto às questões, sim existe na consulta os campos ID_Sector e Sem_Planeada_Iniciar com os respetivos critérios. Quando abro a consulta ele pede o ID_Sector e Data Inicial (Sem_Planeada_Iniciar) e Data Final (Sem_Planeada_Iniciar) e funciona perfeitamente, ou seja devolve a listagem com os filtros indicados.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  JPaulo 11/9/2012, 10:36

    Abra essa consulta em modo SQL e cole aqui toda a instrução, para analisarmos.

    Se você já está a passar os parametros do formulario para abrir o Recordset, não necessita de ter qualquer criterio direto na consulta.



    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new Instruções SQL como utilizar...
    avatar
    ar7y6
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 35
    Registrado : 12/01/2011

    [Resolvido]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  ar7y6 11/9/2012, 11:39

    Oi JPaulo, o SQL da consulta:

    SELECT tblTarefas.ID_Tarefa, tblTarefas.Documento, tblTarefas.DataDocumento, tblTarefas.Num_Folha, tblEscolherSector.ID_Sector, tblTarefas.Equipa, tblTarefas.Assunto, tblTarefas.Sem_Planeada_Iniciar, tblTarefas.Sem_Concluido, tblTarefas.EstadoTarefa, tblTarefas.Local_Inst, tblTarefas.Morada_Inst, tblTarefas.NumPorta_Inst, tblTarefas.Freguesia_Inst, tblTarefas.Local_Zona, tblTarefas.Morada_Zona, tblTarefas.Freguesia_Zona
    FROM tblEscolherSector INNER JOIN tblTarefas ON tblEscolherSector.ID_Sector = tblTarefas.Sector
    GROUP BY tblTarefas.ID_Tarefa, tblTarefas.Documento, tblTarefas.DataDocumento, tblTarefas.Num_Folha, tblEscolherSector.ID_Sector, tblTarefas.Equipa, tblTarefas.Assunto, tblTarefas.Sem_Planeada_Iniciar, tblTarefas.Sem_Concluido, tblTarefas.EstadoTarefa, tblTarefas.Local_Inst, tblTarefas.Morada_Inst, tblTarefas.NumPorta_Inst, tblTarefas.Freguesia_Inst, tblTarefas.Local_Zona, tblTarefas.Morada_Zona, tblTarefas.Freguesia_Zona
    HAVING (((tblEscolherSector.ID_Sector)=[forms]![frmTarefasSector]![Texto9]) AND ((tblTarefas.Sem_Planeada_Iniciar)>=[forms]![frmTarefasSector]![DataInicial] And (tblTarefas.Sem_Planeada_Iniciar)<=[forms]![frmTarefasSector]![DataFinal]) AND ((tblTarefas.EstadoTarefa)=1 Or (tblTarefas.EstadoTarefa)=5 Or (tblTarefas.EstadoTarefa) Is Null));


    Fiz um teste com um exemplo teu, bem mais simples, e funcionou

    DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel7, "conTarefasSector", "D:\teste.xls", True

    Mas o perfeito seria fazer como no exemplo anterior (formatação dos cabeçalhos e início de novo livro de Excel).
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  JPaulo 11/9/2012, 13:11

    Se quiser fazer o teste;

    1º Delete todos os criterios da consulta, deixe-a livre sem criterios.

    2º teste abrir o recordset já filtrado.


    Set rs = CurrentDb.OpenRecordset("SELECT * FROM conTarefasSector WHERE ID_Sector='" & Forms![frmTarefasSector]![Texto9] & "' AND ([Sem_Planeada_Iniciar] >= #" & Forms![frmTarefasSector]![DataInicial] & "# And [Sem_Planeada_Iniciar] <= #" & Forms![frmTarefasSector]![DataFinal] & "#) AND [EstadoTarefa]=1 Or [EstadoTarefa]=5 Or [EstadoTarefa] Is Null ")


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new Instruções SQL como utilizar...
    avatar
    ar7y6
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 35
    Registrado : 12/01/2011

    [Resolvido]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  ar7y6 11/9/2012, 14:19

    Segui a sua dica e ajuda e, já estou a conseguir exportar para o excel, mas estou com um problema com o campo Sem_Planeada_Iniciar (formato Data). Fiz uns testes e se fizer a consulta filtrando apenas o campo ID_Sector ele exporta os dados certos para o excel mas, se incluir Sem_Planeada_Iniciar apenas abre o excel com o cabeçalho.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  JPaulo 11/9/2012, 14:34

    Nuno, como deve imaginar, é extremamente dificil testar aqui, sem uma replica do seu banco.

    Quer anexar aqui em .zip, parte do seu banco ?


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new Instruções SQL como utilizar...
    avatar
    ar7y6
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 35
    Registrado : 12/01/2011

    [Resolvido]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  ar7y6 11/9/2012, 15:52

    Cá vai...
    Anexos
    [Resolvido]Exportar consulta parametrizada para Excel AttachmentSIGE_Nuno.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (313 Kb) Baixado 22 vez(es)
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  JPaulo 11/9/2012, 16:01

    teste;


    Set rs = CurrentDb.OpenRecordset("SELECT * FROM conTarefasSector2 WHERE Sector='" & Forms![frmTarefasSector]![NomeSector].Column(1) & "' AND (Sem_Planeada_Iniciar >= #" & Forms![frmTarefasSector]![DataInicial] & "# And Sem_Planeada_Iniciar <= #" & Forms![frmTarefasSector]![DataFinal] & "#) ")




    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new Instruções SQL como utilizar...
    avatar
    ar7y6
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 35
    Registrado : 12/01/2011

    [Resolvido]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  ar7y6 11/9/2012, 16:23

    JPaulo, obrigado pelas ajudas mas o problema continua...

    Entendi a sua sugestão para o campo Sector, no entanto o que não está a ser filtrado é o campo Sem_Planeada_Iniciar.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  JPaulo 11/9/2012, 16:34

    Como não ???

    Eu testei com:


    Arruamentos e Espaço Público
    Data Inicial = 02-02-2012
    Data Final = 02-02-2012


    e não exportou o registro da data 02-01-2012, para o setor Arruamentos e Espaço Público


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new Instruções SQL como utilizar...
    avatar
    ar7y6
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 35
    Registrado : 12/01/2011

    [Resolvido]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  ar7y6 11/9/2012, 16:45

    Experimente

    Arruamentos e Espaço Público
    Data Inicial = 02-02-2012
    Data Final = 11-06-2012

    Laughing
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  JPaulo 11/9/2012, 17:06

    Teste por favor;


    Set rs = CurrentDb.OpenRecordset("SELECT * FROM conTarefasSector2 WHERE Sector = '" & Me.NomeSector.Column(1) & "' AND (Sem_Planeada_Iniciar >= #" & Format(Me.DataInicial, "mm/dd/yyyy") & "# AND Sem_Planeada_Iniciar <= #" & Format(Me.DataFinal, "mm/dd/yyyy") & "#)")




    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new Instruções SQL como utilizar...
    avatar
    ar7y6
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 35
    Registrado : 12/01/2011

    [Resolvido]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  ar7y6 12/9/2012, 09:09

    JPaulo, mais uma vez obrigado! Assunto resolvido cheers
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 11016
    Registrado : 04/11/2009

    [Resolvido]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  JPaulo 12/9/2012, 10:22

    Obrigado pelo retorno o fórum agradece.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Exportar consulta parametrizada para Excel Folder_announce_new Instruções SQL como utilizar...

    Conteúdo patrocinado


    [Resolvido]Exportar consulta parametrizada para Excel Empty Re: [Resolvido]Exportar consulta parametrizada para Excel

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 17/5/2024, 06:34