Ir para conteúdo
Fórum Script Brasil
  • 0

Gerar Relatório No Access, Fazendo Consulta Pelo Vb


Guest Dory

Pergunta

Olá!

Preciso de ajuda urgente!

A situação é a seguinte:

Tenho uma tabela gerada no Access chamada AlarmesDiag com os seguintes campos:

Data, Hora, Equipamento, Diagnóstico, Operador

No sistema, criado em VB, o usuário define duas datas para consulta: "DataInicial" e "DataFinal"

Então devo filtrar os dados de forma a gerar um relatório de diagnósticos ocorridos no período definido.

Eu consigo gerar um relatório no Access e abrí-lo porém agora eu preciso que este relatorio contenha apenas os dados com datas dentro do período selecionado pelo usuário

objAccess.DoCmd.OpenReport nomeRelat, acViewPreview, ,Wherecondiction:= ??????????????????

Como faço isso? Por favor, me ajundem porque o bicho tá peganu!rs

Obrigada.

Editado por Jonathan Queiroz
Remover palavra "urgente" do título do tópico (Jonathan)
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0
Guest --Daniel --

Olá, amigo.

pelo que eu entendi a referida tabela de diagnóstico não possui campos onde guardar as datas iniciais e finais do tal diagnóstico. Seria bom que tivesse, pois assim, ficaria barbada.

Link para o comentário
Compartilhar em outros sites

  • 0
Guest --Carlos --

concordo com o Daniel.

você poderia fazer rodar um sub assim

private sub relatório()

dim dbs as database, rst as recordset, dtinicial as string, dtfinal as string

set dbs=currentdb()

set rst=dbs.openrecordset("tbldodianóstico",dbopendynaset)

dtinicial=inputbox...' recebe a entrada do usuário ref a dainicial

dtfinal=inputbox... 'recebe a entrada do usuário ref a dainicial

rst.findfirst "[campo1natabela]= " & dtinicial & " and "[campo2natabela]= " & dtfinal & ""

if rst.nomatch then

msgbox " ocorrência não não localizada" then

Do until rst.nomatch

rst.findnext"[campo1natabela]= " & dtinicial & " and "[campo2natabela]= " & dtfinal & ""

loop

end if

End sub

não sei se ajudei

Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

Ih... Sorry! Acho que não fui muito clara!

O campo "Data" da tabela, indica quando ocorreu uma falha em um equipamento.

O usuário teria que selecionar o período para verificar quais falhas ocorreram dentro desta data.

Por exemplo: O usuário X precisa de um relatório com as falhas que ocorreram entre os dias 1/2/2007 e 27/2/2007

Esta é uma parte do código utilizado:

With objAccess
.Visible = True
.OpenCurrentDatabase filepath:=endRelat & nomeBD

' .DoCmd.OpenReport nomeRelat, acViewPreview, , "AlarmesDiag.Data between ' & gDataInicial & ' and '& gDataFinal &'"

.DoCmd.OpenReport nomeRelat, acViewPreview, , "AlarmesDiag.Data between #1/2/2007# and #27/2/2007#"
.DoCmd.Maximize
.DoCmd.Maximize
End With
[/codebox]

As variáveis gDataInicial e gDataFinal são do tipo Date. Eu tentei como string também não rolou!

Então estava tentando com uma data específica #1/2/2007# and #27/2/2007#, mas é exibido no relatório todo o conteúdo da tabela.

Por favor, me ajudem!

Dsd já agradeço!

Link para o comentário
Compartilhar em outros sites

  • 0

esse referido relatório tem que ser no papel ou pode ser uma consulta simples mostrando um formulário na tela ?

se for um consulta é só criá-la a partir da tabela base e colocar um parâmetro no campo DATA:

por exemplo: >=01/01/2007 E <=31/01/07

Link para o comentário
Compartilhar em outros sites

  • 0

Olá.

Sei um pouco de VBA, mas acho que dá pra te ajudar.

Vamos lá...

Você vai passar uma "where condition", que no caso é uma string.

Então fica assim:

'Declaração das variáveis

Dim stDocName, stDataInicial, stDataFinal, stCriterio As String

'Atribuindo os valores às variáveis

stDocName = (nome do relatório)

stDataInicial = (data inicial que foi digitada pelo usuário)

stDataFinal = (data final que foi digitada pelo usuário)

stCriterio = "[NOME DO CAMPO DA TABELA] Between " & stDataInicial & " And " & stDataFinal

' Chamando o relatório

DoCmd.OpenReport, stDocName, acViewPreview, , stCriterio

No VBA eu faço exatamente desta maneira e funciona.

Tomara que te ajude.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...