Locate não funciona
Estou usando IBDataBase e IBTable, quando utilizo o comando
Locate(´nomedocampo´, variavel, []) ele nunca ´acha´ o registo, porém se colocar
Locate(´nomedocampo´, variavel, [lopartialkey]) ele acha o registro, só que estou procurando em campo numérico e não posso utilizar o lopartialkey.
Alguém sabe o porquê deste erro no locate com ibtable?
Locate(´nomedocampo´, variavel, []) ele nunca ´acha´ o registo, porém se colocar
Locate(´nomedocampo´, variavel, [lopartialkey]) ele acha o registro, só que estou procurando em campo numérico e não posso utilizar o lopartialkey.
Alguém sabe o porquê deste erro no locate com ibtable?
Edilcimar
Curtidas 0
Respostas
Edilcimar
04/11/2005
Consegui a solução porém não a entendi, quando coloco
variavel := strtoint(edit1.text);
Locate(´nomedocampo´, variavel, []), ele não acha!
Porém se colocar
Locate(´nomedocampo´,strtoint(edit1.text),[]) ele acha!
Afinal de contas o principio é o mesmo transformar um texto em inteiro, só que quando uso direto funciona e quando uso uma variável deixa de funcionar.
variavel := strtoint(edit1.text);
Locate(´nomedocampo´, variavel, []), ele não acha!
Porém se colocar
Locate(´nomedocampo´,strtoint(edit1.text),[]) ele acha!
Afinal de contas o principio é o mesmo transformar um texto em inteiro, só que quando uso direto funciona e quando uso uma variável deixa de funcionar.
GOSTEI 0
Martins
04/11/2005
Consegui a solução porém não a entendi, quando coloco
variavel := strtoint(edit1.text);
Locate(´nomedocampo´, variavel, []), ele não acha!
Porém se colocar
Locate(´nomedocampo´,strtoint(edit1.text),[]) ele acha!
Afinal de contas o principio é o mesmo transformar um texto em inteiro, só que quando uso direto funciona e quando uso uma variável deixa de funcionar.
Estranho mesmo, essa é boa viu!!!!
GOSTEI 0
Edilcimar
04/11/2005
que é estranho eu também achei, estou a procura da explicação
GOSTEI 0
Martins
04/11/2005
que é estranho eu também achei, estou a procura da explicação
Ficamos assim então, quem encontrar primeiro posta aqui, assim o pessoal fica sabendo tb.
Boa sorte!!
GOSTEI 0
Raserafim
04/11/2005
também já tive um problema semelhante. quando colocava direto funcionava, quando colocava por uma variável não funcionava. não lembro em que condições foi.
GOSTEI 0
Afarias
04/11/2005
Tem q ver o tipo do campo e principalmente da variável. Lembrem-se q no locate estamos lidando com VARIANTS, então a conversão de tipos pode ser um fator neste ´problema´
T+
T+
GOSTEI 0
Edilcimar
04/11/2005
o campo é integer do firebird e a variável é integer
GOSTEI 0