CanonTG Posted March 28, 2014 Report Share Posted March 28, 2014 Boas, eu tenho um edit onde coloco um numero de visita e faz bem a pesquisa depois ao apagar o que coloquei no Edit dá esta erro " Erro de correspondência entre tipos"e não actualiza a DBGrid. Isto só acontece quando o campo na BD é int. ADOTable1.Filter := 'nVisita = '+QuotedStr(Edit1.Text); ADOTable1.Filtered := true; if Edit1.Text = '' then ADOTable1.Filtered := false; Link to comment Share on other sites More sharing options...
nunopicado Posted March 28, 2014 Report Share Posted March 28, 2014 Mete o teste em cima... if Edit1.Text = '' then ADOTable1.Filtered := false; else begin ADOTable1.Filter := 'nVisita = '+QuotedStr(Edit1.Text); ADOTable1.Filtered := true; end; 1 Report "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum. Link to comment Share on other sites More sharing options...
CanonTG Posted March 28, 2014 Author Report Share Posted March 28, 2014 Já resultou, mas num edit que quero pesquisar por data está a dar o mesmo erro Link to comment Share on other sites More sharing options...
nunopicado Posted March 28, 2014 Report Share Posted March 28, 2014 Verifica se a data que estás a usar está no mesmo formato. Vais ao painel de controlo do windows, Opções Regionais, e verifica também lá o formato da data. Quando há diferenças, pode dar esses erros, e podes ter de fazer a conversão para isso dar bem. "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum. Link to comment Share on other sites More sharing options...
CanonTG Posted March 28, 2014 Author Report Share Posted March 28, 2014 Sim está tudo certo, eu coloco o primeiro numero da data e dá-me logo o erro Link to comment Share on other sites More sharing options...
nunopicado Posted March 28, 2014 Report Share Posted March 28, 2014 Sim está tudo certo, eu coloco o primeiro numero da data e dá-me logo o erro Tens a pesquisa no onchange, certo? Mete no OnExit. O problema é que, antes de teres a data completa, ele já tentar pesquisar, e depois falha. Ou então, mantém no onchange, mas valida-a primeiro. Por exemplo, apenas se tiver 10 caracteres é que avança com a pesquisa. "A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!" > Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum. Link to comment Share on other sites More sharing options...
CanonTG Posted March 28, 2014 Author Report Share Posted March 28, 2014 (edited) Mas no OnExit não dá porque Obriga o utilizador a clicar com o rato noutro local. Mas por exemplo quando pesquiso por nome também ainda não tenho o nome completo e não tenho nenhum erro Edited March 28, 2014 by CanonTG Link to comment Share on other sites More sharing options...
CanonTG Posted March 28, 2014 Author Report Share Posted March 28, 2014 Fiz a contagem dos caracteres. já agora sabes como faço uma pesquisa parcial? á medida que insiro letras filtra todos os que tem ate chegar ao item que quero. eu usei este codigo mas dá erro adotable1.FilterOptions := [foCaseInsensitive]; Link to comment Share on other sites More sharing options...
Kline777 Posted March 28, 2014 Report Share Posted March 28, 2014 Onde filtras o dataset tens de usar o ds.filter:='Nome like '+tx.text+'*'''; Link to comment Share on other sites More sharing options...
Gilson Nunes Posted March 28, 2014 Report Share Posted March 28, 2014 (edited) pode fazer algo do tipo no onchange mesmo: var d : TDate; begin if not TryStrToDate(Edit1.Text, d) then ADOTable1.Filtered := false; else begin ADOTable1.Filter := 'nVisita = '+QuotedStr(Edit1.Text); ADOTable1.Filtered := true; end; Edited March 28, 2014 by Gilson Nunes Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now