Localizar antes de dar o .post
Ola amigos , estou aprendendo ainda a programar em delphi e estou com uma dificuldade.
Estou fazendo um form para cadastro de itens na minha tab Itens , bom o meu campo primario eh do tipo alpha numerico e com 8 espacos , ja que nao tem autoincremento , gostaria de checar se ja existe o codigo na minha tabela (campo CodItem) antes de salvar , como faço pra localizar , to em apuros ajudem por favor
desde ja agradeço a atenção e o tempo dispendido com um noob :P
Brigadao
Estou fazendo um form para cadastro de itens na minha tab Itens , bom o meu campo primario eh do tipo alpha numerico e com 8 espacos , ja que nao tem autoincremento , gostaria de checar se ja existe o codigo na minha tabela (campo CodItem) antes de salvar , como faço pra localizar , to em apuros ajudem por favor
desde ja agradeço a atenção e o tempo dispendido com um noob :P
Brigadao
Bis
Curtidas 0
Respostas
Marcelo Saviski
29/05/2003
Este campo de codigo deve estar indexado
coloque mais uma table (copie a que já tem ai)
e faca table2.findnearest([codigo]);
if table2.fieldbyname(´campo código´).asstring = editcodigo.text then já tem o código else não tem o código;
coloque mais uma table (copie a que já tem ai)
e faca table2.findnearest([codigo]);
if table2.fieldbyname(´campo código´).asstring = editcodigo.text then já tem o código else não tem o código;
GOSTEI 0
Bis
29/05/2003
Oi marcelo obrigado pela ajuda , não consegui fazer funcionar , bom vamus la :
O campo CodItem do qual falei e indexado , fiz uma copia da table e nomeei como table1 coloquei no onchange do campo apenas para teste o
seguinte codigo:
editcoditem(este e o dbedit do campo)
Table1.findnearest (editcoditem.text) ;
if TblCodItem.fieldbyname(CodItem).asstring = editcoditem.text then
editcoditem.text := NumTemEsse else editcoditem.text := Digiteoutro;
o erro que ocorreu e na primeira linha e diz:
[Error] CadastroItens.pas(122): Incompatible types: ´Array´ and ´TMaskedText´
obrigado
O campo CodItem do qual falei e indexado , fiz uma copia da table e nomeei como table1 coloquei no onchange do campo apenas para teste o
seguinte codigo:
editcoditem(este e o dbedit do campo)
Table1.findnearest (editcoditem.text) ;
if TblCodItem.fieldbyname(CodItem).asstring = editcoditem.text then
editcoditem.text := NumTemEsse else editcoditem.text := Digiteoutro;
o erro que ocorreu e na primeira linha e diz:
[Error] CadastroItens.pas(122): Incompatible types: ´Array´ and ´TMaskedText´
obrigado
GOSTEI 0
Bis
29/05/2003
oi amigos se alguem souber um jeito diferente ajudem ae plz , to encrencado.
:shock: :shock: :shock:
:shock: :shock: :shock:
GOSTEI 0
Marcelo Saviski
29/05/2003
Um detalhe:
Table1.findnearest ([color=blue:57a07e533a][b:57a07e533a][[/b:57a07e533a][/color:57a07e533a]editcoditem.text[color=blue:57a07e533a][b:57a07e533a]][/b:57a07e533a][/color:57a07e533a]) ;
if TblCodItem.fieldbyname(CodItem).asstring = editcoditem.text then
editcoditem.text := NumTemEsse else editcoditem.text := Digiteoutro;
Table1.findnearest ([color=blue:57a07e533a][b:57a07e533a][[/b:57a07e533a][/color:57a07e533a]editcoditem.text[color=blue:57a07e533a][b:57a07e533a]][/b:57a07e533a][/color:57a07e533a]) ;
if TblCodItem.fieldbyname(CodItem).asstring = editcoditem.text then
editcoditem.text := NumTemEsse else editcoditem.text := Digiteoutro;
GOSTEI 0
Bis
29/05/2003
Ei marcelo coloquei o seguinte codigo e qdo executei e chamei o codigo deu o erro do .exe [b:84db4df8b9]EstackOverflow with message stack overflow[/b:84db4df8b9] o codigo que coloquei foi :
Agradeço muito sua ajuda , me da uma mão ae plz
TblCodItem.Cancel; TblCodItem.findnearest ([editcoditem.text]) ; if TblCodItem.fieldbyname(´CodItem´).asstring = editcoditem.text then editcoditem.text := ´NumTemEsse´ else editcoditem.text := ´Digiteoutro´;
Agradeço muito sua ajuda , me da uma mão ae plz
GOSTEI 0
Bis
29/05/2003
up pra alguma alma caridosa me ajudar por favor :D
GOSTEI 0