GARANTIR DESCONTO

Fórum Contar items de uma tabela... #184431

26/09/2003

0

Saudações,
gostaria de saber como faço para que o meu programa conte a quantidade de produtos numa tabela. Exemplo:
Tenho um DGrid que consulta os produtos comprados;
Dois Edit´s (um que exibe o total de produtos(soma os produtos cadastrados ao se clicar na célula do dbgrid e outro que determina a quantidade de produtos retirados);
Um speedbutton para confirmar a saída de materiais;
É o seguinte: o usuário entra na consulta e vê todos os produtos comprados num intervalo de datas. Ao se clicar em um dos produtos (na célula do dbgrid) automaticamente o edit total vai exibir a quantidade desse produto em toda tabela e caso ele queira registrar a saída de algum produto ele escreve a quantidade que quer retirar no edit saída e confirma no speedbutton, isso fará com que o edit total seja alterado tb automaticamente. Isso não vai modificar a tabela no DBgrid, as saídas irão ser registradas em outro local, isso já sei fazer, o que eu não sei é fazer essa rotatividade que descrevi acima. alguém pode me ajudar com alguma rotina? Caso queiram entrar em contato estou no icq e no messenger. Muito obrigado


Elias Jr

Elias Jr

Responder

Posts

26/09/2003

Rfpsatin

Se entendi vc quer buscar a quantidade de um produto selecionado(clicado) na celula do Grid correto?

exemplo:

procedure TFormPreVendaPAI2.DBGrid2CellClick(Column: TColumn);
begin
if not (DBGrid2.Fields[0].IsNull) then
PEGA_DADOS_INSERIR(DBGrid2.Fields[1].AsInteger);
end;

este é o código do meu produto:DBGrid2.Fields[0]
passo ele p/ uma rotina q busca ele. Vc poderia fazer o mesmo, uma rotina q conte as ocorrencias do ítem.

o sql seria simples:
´select count(codigo) from tabela where codigo=´ + codigo;

exemplo de criação de componente query em tempo de execução:

wsql:=´select count(codigo) from tabela where codigo=´ + codigo;
try
qry:=Tquery.Create(application);
qry.DatabaseName:=´nomedoalias´;
with(qry) do
begin
if(prepared) then
begin
close;
unprepare;
end;
sql.Add(wsql);
prepare;
open;
valor:=qry.fields[0].asinteger;
// este tem a qtdade de ocorrencias
end;
finally
qry.Free;
end;

t+ ricardo


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar