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

(Resolvido) Pesquisa/localização De Registros De Uma Tabela/consulta


Elber Carretoni

Pergunta

salve salve galera...supimpa?

mais uma outra dúvida...

tenho um formulário que cadastro fichas de inscrições de novos alunos. Porém, há como um mesmo aluno gerar dois registros nesta tabela, conforme ele queira se matricular em mais de um curso.

gostaria que, se o aluno estivesse se cadastrando pela segunda vez, ao informar o RG (por exemplo) todos os outros campos recebecem os valores automaticamente após encontrar o determinado RG já cadastrado na tabela! desta forma, evito que o usuário cadastre dados diferentes para um mesmo RG e automatizo meu formulário!

sei como usar a função DLookUP para trazer as informações do registro encontrado para o formulário, porém não sei como pesquisar o registro e verificar se algum valor foi encontrado para a pesquisa!

se alguém souber, dá uma força aí! estou precisando disso o mais rápido possível!

Lógica da Programação:

1. Efetuar a PESQUISA;
2. Verificar se foi encontrado algum valor para a pesquisa;
3.1 SE foi encontrado algum valor no item 2, busque as informações (dlookup) e inative a entrada de dados nos campos preenchidos automaticamente por programação!
3.2 Caso contrário, deixo os campos habilitados para que o usuário cadastre as novas informações![/codebox]

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

então mrmalj...já usei a função dlookup pra várias partes do meu sistema, e funcionou perfeitamente...

a primeira coisa que tentei foi fazer a solução usando DLOOKUP, porém não deu certo...

não sei se devido ao fato do campo RG ser do tipo texto...enfim...amanhã de manhã vou fazer uns testes usando o cpf (Tipo Número Inteiro Longo)...e qualquer retorno que tiver faço um resumo e coloco a resolução aqui no tópico!

vlw a atenção, abraços!!!

Link para o comentário
Compartilhar em outros sites

  • 0

_________________________________________________________________________________________

IHÁÁÁÁÁÁ...CONSEGUIIIIIIIIIIIIIIIIIIIIIIIIIIII!!!!

a solução é o seguinte...

andei fazendo uns testes aqui, e verifiquei que a função DLOOKUP não funcionava para comparar campos do tipo texto, apenas no tipo número...ao executar a linha de códgo com a função comparando critérios do tipo texto, o depurador enviava uma mensagem de erro indicando incompatibilidade de tipos de dados!!!

a primeira idéia que tive foi transformar o campo da minha tabela para INTEIRO LONGO...porém, fazendo ainda mais uns testes, verifiquei que quando se digitava mais de 10 números (caracteres) no campo tipo inteiro longo, ele dava erro indicando também incompatibilidade de tipos na entrada de dados... (talvez vocÊ tenha digitado texto num campo número)

até aqui já deu duas ressalvas:

campos do tipo INTEIRO LONGO não aceitam mais que 10 caracteres...além desse limite ocorre incompatibilidade de tipos de dados;

a tão famosa função DLOOKUP não funciona para comparar campos do tipo texto, apenas número......não funciona parcialmente!!!

ainda aqui no fórum lendo o post sobre construção de sql em tempo de execução do mrMalj no tópico que criei sobre pesquisa avançada em sql com vários critérios simultaneamente, tive uma outra idéia na hora de construir o critério de comparação para a função dlookup...

na verdade, tal função aceita sim comparações do tipo texto, desde que você UTILIZE DE ASPAS para indicar uma string!!!

portanto, fiz da seguinte forma...


'declarei uma variável do tipo string para receber o valor digitado (no meu caso, RG);
dim vrg as string
'mandei a variável receber o valor digitado no original campo rg;
vrg = me.RG
'complementei o valor da variável vrg concatenando aspas em torno da mesma
vrg = """" & vrg & """"

dessa forma, o valor da variável rg não é mais simplesmente o valor que o usuário digitou no campo rg, e sim o novo valor agora é "ValorDigitadoNoCampoRG" ... AS ASPAS AGORA FAZEM PARTE DO VALOR DIGITADO NO CAMPO TAMBÉM!!! (como se o usuário tivesse colocado aspas antes e aspas depois do rg dele)

sendo assim, agora só faltou usar a função DLOOKUP normalmente indicando como critério de comparação diretamente a variável VRG...

Me.Nome = DLookup("[NomeCliente]", "TabelaCliente", "[RGCliente] =" & vrg)



obs: a complementação da variável para gerar as aspas em volta do valor original não pode ser feita diretamente na função dlookup, pois a mesma não aceita, confundindo as aspas, conforme o post do mrMalJ sobre isntrução SQL (http://scriptbrasil.com.br/forum/index.php?showtopic=96569)
[/codebox]

espero que as dicas ajudem aí o pessoal que tanto também procura soluções que envolvem a tal função DLOOKUP!!!

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