Estou usando o Microsoft Access 2007 e tenho uma consulta semelhante a esta;
PARAMETERS Identifier TEXT(255);
SELECT
DateDiff('h', (SELECT Min(SampleDateTime) FROM Specimen WHERE UserID=[Identifier]), SampleDateTime) AS ElapsedTime, Specimen.ValueA
FROM Specimen
WHERE Specimen.UserID=[Identifier]
ORDER BY Specimen.SampleDateTime
Agora, esta consulta funciona bem se eu abrir a consulta e inserir o valor 'Identificador' apropriado no formulário que aparece. No entanto, gostaria de usar essa consulta para gerar um gráfico em um relatório que liste todos os estudos. ou seja O relatório será feito de 1 página por registro, e cada página conterá 1 gráfico, que mostra os dados acima plotados como um gráfico de linhas.
No entanto, se eu inserir um gráfico e usar o assistente para criar o gráfico, quando chegar ao estágio em que gostaria de atribuir um valor do registro atual no relatório a um valor no gráfico, não conseguirei atribuir uma variável de relatório para o parâmetro que descrevi acima 'Identifier'. Agora, normalmente, eu criaria a consulta para obter todos os dados e, em seguida, atribuiria um 'filtro' a esses dados, acho que usando o Assistente de gráfico. No entanto, como tenho uma subconsulta, isso não funcionará neste caso.
O que acredito estar procurando é uma maneira de atribuir o parâmetro 'Identifier' dos parâmetros de registro atuais em um relatório de vários registros.
Você tem que tentar algo um pouco maluco, como o seguinte:
Os relatórios têm uma propriedade chamada Tag
Abra o relatório na Visualização de design
Abra a folha de propriedades e selecione a guia 'Outros'
A propriedade Tag está na parte inferior da lista
Você pode acessar essa Tag da seguinte forma:
Simplesmente substitua o
[Identifier]
por umReports("Report Name").Tag
ouMe.Tag
Dessa forma, se você abrir a consulta, ainda será solicitado a inserir o UserID
Ao abrir o Relatório, defina
Me.Tag
o número que desejar. Como você defini-lo em primeiro lugar?Na folha de propriedades, clique em
Event Tab
. NoOnLoad Event
, clique nos três pontos (reticências). Pop-ups de menu. Clique emCode Builder
. O VBA abre com:Agora coloque essa configuração (digamos que o UserID seja de um formulário):
De uma chance !!!