Jump to content
ressoneca

Access 2010 - Passagem de parâmetros

Recommended Posts

ressoneca

Olá a todos,
estou a começar no Access e estou a desenvolver um programa onde pretendo executar uma consulta onde o campo que pretendo reflectir é variável. 
Para isso criei um Formulário com uma Caixa de Combinação (ComboBox) que lista o campo "Profissão".

O pretendido: Ter um botão "OK" que quando pressionado execute uma consulta tendo como critério a profissão escolhida na Caixa de Combinação e mostre um relatório com o resultado.

O código que tenho neste momento, para lançar o Report é este:

Codigo1.jpg

Sei que está um pouco baralhado mas é porque já tentei várias coisas e neste momento já nem sei onde ando...

O erro que dá é este:

 Erro1.jpg

O Relatório /Report a lançar chama-se: "Pessoal Disponível-Profissão Consulta"

O Form onde está a ComboBox, chama-se "RecolheProf"

O campo a passar da ComboBox para o Relatório chama-se "Profissão"

 

Alguém me pode ajudar, s.f.f. 

Obrigado

Edited by ressoneca

Share this post


Link to post
Share on other sites
Estuardo

Para executar uma consulta que tem parámetros vindos de um form/report, estes tem que estar definidos dentro da query.
Assim:

Run a parameter query within an Access form

Ainda, este form/report deve permancer aberto (visible/hidden) durante o tempo de execução da query
A mesma sintaxe é aplicada para visualizar o parámetro no relatório

  • Vote 1

Share this post


Link to post
Share on other sites
ressoneca

Finalmente consegui escolher a profissão através do Form. Agora estou a tentar adaptar para que tudo funcione da forma que pretendo.

Ainda não sei como fazer para que o relatório apareça sem mostrar a consulta pelo meio, mas penso que irei conseguir.

O pretendido seria lançar o Form para escolher a "Profissão", clicar um botão "ok/Executar" que faça uma querie e executasse, de forma automática, um relatório sobre os registos resultantes da querie.

Já consigo escolher a "Profissão" e executar o querie. Nada mau, mas tem alguma ideia de como fazer para que continue para o relatório?

De qq forma, muito obrigado pela sua inestimável ajuda.

 

Edited by ressoneca

Share this post


Link to post
Share on other sites
Estuardo

Boa noite,

A forma mais simples de abrir um report, é definir a fonte de dados do report numa query. Ao mesmo tempo definir o(s) parámetro(s) da query em caixas de texto de um form qualquer.

Assim poderia ser tão simples como

Private Sub btnOpen_Click()
On Error GoTo Err_btnOpen_Click

    Dim stDocName As String

    stDocName = "rptInvoice"
    DoCmd.OpenReport stDocName, acViewReport

Exit_btnOpen_Click:
    Exit Sub

Err_btnOpen_Click:
    MsgBox Err.Description
    Resume Exit_btnOpen_Click
    
End Sub

Este é código automático do asistente para criar botões. De qualquer forma fica aqui um exemplo.

ReportsParam.mdb

Abra o form "frmParams"

Selecione um item qualquer da combobox

clique no botão "Open Report"

Repare que o valor que esta a pasar da combobox é um id e não o nome da empresa. Uma vez a query filtrada, o report abre tendo como fonte esa mesma query.

PS

Se tem tempo e esta interesado, pode visitar o meu website accessextended onde pode baixar gratuitamente aplicações "reais". Nestas aplicações há suficiente código que pode ser reutilizado em qualquer outro projeto.

Share this post


Link to post
Share on other sites
ressoneca

Já consegui acabar este malfadado projecto. Sem si não teria sido possível, porque a minha paciência já estava no limite.

Muito Obrigado.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.