Setar registro para edição através de consulta
Saudações,
tenho um aplicativo de cadastro que terá em breve cerca de 32.000 registros. No form de cadastro, caso alguém queira fazer alguma alteração ou exclusão - e não use o dbnavigator, lógico - eu coloquei um edit e um speedbutton com uma query em que o usuário digita o código desejado e o form exibe o resultado, eis algumas linhas do onclick do speedbutton:
(lembrando que o parâmetro cad é o número da ficha). Até aí tud bem, o problema é que quando eu tento alterar ou excluir a tabela seta para o primeiro registro, ou seja, mesmo com esta consulta é como se a tabela continuasse setada no primeiro registro. gostaria de saber como faço para setar o registro selecionado para editar ou excluir. Muito obrigado.
tenho um aplicativo de cadastro que terá em breve cerca de 32.000 registros. No form de cadastro, caso alguém queira fazer alguma alteração ou exclusão - e não use o dbnavigator, lógico - eu coloquei um edit e um speedbutton com uma query em que o usuário digita o código desejado e o form exibe o resultado, eis algumas linhas do onclick do speedbutton:
with query1 do begin close; parambyname(´cad´).asinteger := strtoint(edcod.text); open; if recordcount = 0 then showmessage(´Nenhum Registro Selecionado!´); end; dbficha.text := inttostr(query1.fieldbyname(´ficha´).asinteger); dbcadastro.text := inttostr(query1.fieldbyname(´cad_aluno´).asinteger);
Elias Jr
Curtidas 0
Respostas
Lucas Silva
13/08/2004
Elias,
with query1 do begin close; parambyname(´cad´).asinteger := strtoint(edcod.text); open; if IsEmpty then // Assim Fica bem + rapido; showmessage(´Nenhum Registro Selecionado!´) else Delete; // Isso deleta o registro que está apontado na query end; dbficha.text := inttostr(query1.fieldbyname(´ficha´).asinteger); dbcadastro.text := inttostr(query1.fieldbyname(´cad_aluno´).asinteger);
GOSTEI 0
Elias Jr
13/08/2004
Saudações Lucas,
utilizei a sua dica e ela funciona quando quero excluir mas quando tento alterar acontece o mesmo em cada dbedit que eu clico (ou seja, se eu quero alterar o nome, quando clico no edit o nome volta para o do primeiro registro). Vou continuar tentando resolver isso. Mesmo assim obrigado por mostrar o caminho.
utilizei a sua dica e ela funciona quando quero excluir mas quando tento alterar acontece o mesmo em cada dbedit que eu clico (ou seja, se eu quero alterar o nome, quando clico no edit o nome volta para o do primeiro registro). Vou continuar tentando resolver isso. Mesmo assim obrigado por mostrar o caminho.
GOSTEI 0
Lucas Silva
13/08/2004
if not IsEmpty then Edit;
Depois disto é só atribuir os valores aos campos, e salvar as alterações...
FieldByName(´campo´).asString := Edit1.text; post; // para salvar;
seria isto?
GOSTEI 0