Pesquisa do mesmo dado em vários registros.
Moderador: Moderadores
Pesquisa do mesmo dado em vários registros.
Olá amigos escovadores de bits.
Preciso pesquisar o numero de um lacre, mas esse numero pode estar em varios registros, até aí tudo bem. O prolema é que ele pode estar em até seis campos diferentes, são eles:
lacre retirado 1
lacre retirado 2
lacre retirado 3
lacre colocado 1
lacre colocado 2
lacre colocado 4
Aí preciso exibir somente em quais registros (não o campo) o numero aparece.
Obrigado
Preciso pesquisar o numero de um lacre, mas esse numero pode estar em varios registros, até aí tudo bem. O prolema é que ele pode estar em até seis campos diferentes, são eles:
lacre retirado 1
lacre retirado 2
lacre retirado 3
lacre colocado 1
lacre colocado 2
lacre colocado 4
Aí preciso exibir somente em quais registros (não o campo) o numero aparece.
Obrigado
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Caro colega,
Seria bom listar e dar exemplos do seu BD. Para isso faça uso dos seguintes procedimentos para listar estrutura em arquivo e gerar arquivo texto com alguns registros como exemplo do seu BD.
Veja aqui: https://pctoledo.org/forum/viewtopic.php?t=6616
Assim saberei como exemplificar melhor o seu caso.
Seria bom listar e dar exemplos do seu BD. Para isso faça uso dos seguintes procedimentos para listar estrutura em arquivo e gerar arquivo texto com alguns registros como exemplo do seu BD.
Veja aqui: https://pctoledo.org/forum/viewtopic.php?t=6616
Assim saberei como exemplificar melhor o seu caso.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Bisteca, duas opções:
Código: Selecionar todos
* LOCATE (mais demorado)
* dependendo do tamanho do arquivo
procura="1234" // lacre a localizar
locate for procura$(lacreR1+lacreR2+lacreR3+lacreC1+lacreC2+lacreC3)
do whil .t.
if !found()
exit
endi
?recno() // mostra número do registro
cont
enddCódigo: Selecionar todos
* SEEK
* Neste caso, vc precisa indexar
* cada um dos 6 campos onde o lacre aparece.
* Ex.: lacreR1 = index1, lacreR2 = index2 etc.
procura="1234" // lacre a localizar
for ordem=1 to 6
set orde to ordem
seek procura
do whil .t.
if !procura==lacre
exit
endi
?recno() // mostra número do registro
skip
endd
nextAh, eu imaginei que os campos (LACRER1, LACRER2 etc) fossem CARACTER e com tamanho 4. Se eles forem numéricos, é só transformar em caracter antes de concatenar:procura="1234" // lacre a localizar
locate for procura$(lacreR1+lacreR2+lacreR3+lacreC1+lacreC2+lacreC3)
"locate for procura$(str(lacreR1)+str(lacreR2)..."
Neste caso, Eolo, você esqueceu de acrescentar um caractere qualquer (asterisco, por exemplo) entre os números, para evitar coincidências. Exemplo: "234*534*756*343". Sem o asterisco, ele poderia procurar pelo número 634 nessa string e acabaria encontrando, o que seria um erro.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Pesquisa do mesmo dado em vários registros.
Obrigado, ja fiz com o locate, porém ele fica num loop infinito.
Será que fiz algo errado?
Será que fiz algo errado?
Mostra o código pra gente ver o que está acontecendo.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Por isso que eu farei a minha indicação quando maiores informações venham a seemr conhecidas (como estrutura de dados e exemplos de conteúdo de dados). Caso contrário muitas sugestões podem vir a cair em meras congeturas que na minha opinião são extremamente desgastantes porque é muito dificil adivinhar o que os colegas almejam. E acaba sempre num debate extenso e sem objetivo. Mas enfim cada um faz o que quer, não é ?
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pois é. Entendo seu ponto de vista. Muitas vezes dá pra matar o problema sabendo apenas quais os sintomas. Às vezes, por "chute", até dá pra resolver, o que realmente pode levar a thread a crescer demais, desncessariamente. Mas tem vezes que só vendo o "paciente" pra dizer algo mais preciso.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Pablo, desculpe mas não entendi o que vc falou. Como é? "Mera conjectura"? "Adivinhar"?...muitas sugestões podem vir a cair em meras congeturas que na minha opinião são extremamente desgastantes porque é muito dificil adivinhar ...
Pergunta específica do Bisteca: ele tem um número (de um lacre), que pode estar em varios registros, dentro de até 6 campos. Ele quer descobrir em que registros esse tal número está. Pergunta mais direta impossível. Não precisa "adivinhar" nada. Tá lá escrito.
E aí a minha resposta foi uma adivinhação? Uma conjectura?
Explica pra mim, porque não entendi a sua posição. Aliás, o seu post só serviu pra causar uma resposta do Maligno e uma minha. Não acrescentou nada ao problema do Bisteca.
Acho que ele estava se referindo a essa frase, Éolo. Aliás, ele não reclamou do Bisteca, nem fez uma crítica direta. Nada disso. Acredito que ele apenas quis desabafar sobre algo que é muito comum no fórum: a falta de objetividade das perguntas. É como se você dissesse "meu código não funciona" mas sem se lembrar de mostrar tal código. Também não faço crítica quanto a isso. A gente sabe que as vezes o sujeito fica tão entretido com o erro que posta o pedido de ajuda e se esquece do básico.Bisteca escreveu:ja fiz com o locate, porém ele fica num loop infinito.
Será que fiz algo errado?
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Sim isso mesmo, peço desculpas por ter escrito errado (o correto é conjetura e não conegtura como eu tinha escrito), mas ao final muitos escrevem errado e não é destacado nada.Eolo escreveu:Pablo, desculpe mas não entendi o que vc falou. Como é? "Mera conjectura"? "Adivinhar"?
Bem pode até se supor que tal número do lacre aparecerá em vários registros e não foi dito que pode estar e mais do que um campo também. outra questão é saber se o número do lacre está armazenado em forma numérica ou do tipo caracter (parece ser numérica (e aí pode estar o problema para encontra-lo, se não for feito o tratamento adequado).Eolo escreveu:Pergunta específica do Bisteca: ele tem um número (de um lacre), que pode estar em varios registros, dentro de até 6 campos. Ele quer descobrir em que registros esse tal número está. Pergunta mais direta impossível. Não precisa "adivinhar" nada. Tá lá escrito.
Pra mim houve dedução ou adivinhação como você queira chamar... mas enfim colega, não precisa ficar bravinho... O importante que se resolveu, beleza (ou não parece haver furos de info) então parece que o seu entendimento foi maior que o meu neste caso. Então parabéns, não precisa se irritar. Eu ao fazer a minha insição neste caso não esperava ter te causado transtorno algum.Eolo escreveu:E aí a minha resposta foi uma adivinhação? Uma conjectura?
Eu percebí que não houveram respostas desde a postagem do "bisteca" até hoje de manhã e ainda que eu tenha sido o primeiro a atender ao colega outros puderam entender a questão. Eu simplesmente quis ressaltar a importância de expor alguns dados (como estrutura e exemplos de contéudo dos campos em questão), tal é assim que o colega Maligno entendeu a minha colocação e acredito que ele não se sintiu ofendido.Eolo escreveu:Explica pra mim, porque não entendi a sua posição. Aliás, o seu post só serviu pra causar uma resposta do Maligno e uma minha. Não acrescentou nada ao problema do Bisteca.
Desculpa colega "Bisteca" se parece que eu não queira te ajudar, acho que pedir mais info não tira pedaços e além do mais obter com precisão respostas adequadas deve ser feito com maiores dados. Mas enfim essa é a minha colocação como disseram as vezes pelo sintoma dá diagnoticar. Não me leve a mal estarei disponivel caso seja necessário.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Bem Maligno ! Você é uma pessoa muito bem informada. Acho que o colega Eolo se sintiu ofendido por algo sem ter visto a postagem sobre o tema. Mas não estou criticando ninguém. Acho tão somente que as vezes vale a pena esperar por maiores info do autor e desta forma evitar inúmeras indicações que claro não sempre servem todas. Mas também é válido cada um postar a sua opinião também (eu acho que também tenho esse direito) sempre e quando sem fazer ofensas.Maligno escreveu:Aliás, ele não reclamou do Bisteca, nem fez uma crítica direta. Nada disso. Acredito que ele apenas quis desabafar sobre algo que é muito comum no fórum: a falta de objetividade das perguntas.
Obrigado pela compressão.
Editado pela última vez por Pablo César em 25 Set 2007 20:02, em um total de 1 vez.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
As palavras escritas tem peso e emoção diferentes das palavras faladas. Às vezes lemos algo que nos faz crer em algo diferente. E a pessoa apenas escreveu de forma diferente do que seria se falasse. Aí começa a confusão e nos vemos ofendidos sem que a real intenção fosse essa. Portanto, calma pessoal. 
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!


