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

Filtrando Os Dados De Um Formulário Vinculado A Uma Tabela.


Carlo Castor

Pergunta

Pessoal,

Não estou conseguindo, a partir de um formulário, executar um objeto consulta passando parâmetro para o mesmo. Vou explicar melhor:

Em um formulário tenho um campo DATA onde o usuário irá entrar com um valor qualquer de uma data válida. O sistema abrir a consulta que foi anteriormente construida e a mesma receberá como parâmetro a data digitada pelo usuário. O resultado da consulta será exibido em um formulário.

Eu tentei este código mas nos meus testes ele serviu para todos os tipos de dados menos para um campo da tabela Date que é o meu caso. Quem já teve um problema deste com o tipo de campo data pode me ajudar?

'Dim stDocName As String

'Dim stLinkCriteria As String

'stDocName = "frmEmprestimoConsultar"

'stLinkCriteria = "[Data_Emprestimo]= " & txt_data_emprestimo.value

'DoCmd.OpenForm stDocName, , , stLinkCriteria

Agradeço antecipadamente a colobaração dos amigos.

Carlo.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Carlo...acredito que dessa forma não seja a melhor...

fiz isso uma vez, só que fiz de outra maneira:

na sua própria consulta, no modo design, vai no critério do campo data o qual você quer filtrar seus dados, e lá você digita a seguinte expressão:

=[Formulários]![Nome_Do_Seu_Formulário]![Nome_Do_Seu_Campo_Txt]

=[Formulários]![frmEmprestimoConsultar]![txt_data_emprestimo]

deu pra entender?

quando você mandar executar a consulta sem estar pelo formulário, vai aparecer uma caixa de mensagem pedindo pra você inserir o valor parâmetro do campo data...

mas quando você mandar abrir a consulta através do próprio formulário em que você tem o tal campo 'txt_data_emprestimo', na hora a consulta vai ser aberta com o valor digitado nesse campo...

portanto, é possível você determinar o critério da consulta através de um objeto txt de um formulário...

bom, se isso ainda não resolver seu problema, tenta fazer as seguintes alterações na sua programação:

'Dim stDocName As String
'Dim stLinkCriteria As String

'stDocName = "frmEmprestimoConsultar"
'stLinkCriteria = "[Data_Emprestimo]= " & me.txt_data_emprestimo

'DoCmd.OpenForm stDocName, , , stLinkCriteria
[/codebox]

porém, dessa forma não sei se vai funcionar, porque não cheguei a fazer os testes aqui...estou apens supondo!

faça os testes aí e retorne para a comunidade o resultado da solução...

abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Oi Elber, realmente este código funciona, eu já tinha testado.

=[Formulários]![Nome_Do_Seu_Formulário]![Nome_Do_Seu_Campo_Txt]

=[Formulários]![frmEmprestimoConsultar]![txt_data_emprestimo]

Vou testar a segunda opção mas acho que não vai dar certo pois vou continuar com o mesmo problema. Quando o campo for do tipo númerico ou caracter funciona mas quando foi data o código não funciona.

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

não funciona porque?

ele manda mensagem de erro dizendo que não é possível definir um critério devido a incompatibilidade de campos?

bom, se for isso, acho que o caso é você pegar o seu campo e transformá-lo em string...ou seja, concatená-lo aspas ao seu redor...

dessa forma, você não terá problema na hora de fazer comparações com data, número ou coisas do gênero...

bom, vou dar um exemplo aqui, e se esta solução for o caso, testa aí e nos retorna o resultado, ok?


'DECLARA AS VARIÁVEIS
Dim stDocName As String
Dim stLinkCriteria As String
Dim vConcatenar As String

'CONCATENA ASPAS AO REDOR DO VALOR DO CAMPO txt_data_emprestimo
vConcatenar = me.txt_data_emprestimo
vConcatenar = """" & vConcatenar & """"

'DEFINE AS VARIÁVEIS (NOME DO FORMULÁRIO E CRITÉRIO DE ABERTURA)
stDocName = "frmEmprestimoConsultar"
stLinkCriteria = "[Data_Emprestimo]= " & vConcatenar

'EXECUTA A ABERTUDA DO FORMULÁRIO
DoCmd.OpenForm stDocName, , , stLinkCriteria
[/codebox]

abraço...

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...