Res: [delphi-br] Extrato bancário
Basta adaptar a setença abaixo para os nomes de tabela e campos que estão no seu banco. Essa setença foi testada em Sybase SQL Anywhere 9. Outra coisa, se o campo de valor do débito já estiver com o sinal de negativo, basta trocar os - (sinal de subtração) por um + (sinal de adição). select data, coalesce(sum(debito), 0) debito, coalesce(sum(credito),0) credito, coalesce((select sum(credito) - sum(debito) from teste as testesaldo where data teste.data ), 0) - debito + credito as saldo from teste group by data order by data Luciano Calenzani Simões - Mensagem original De: oscarnjr [EMAIL PROTECTED] Para: delphi-br@yahoogrupos.com.br Enviadas: Quinta-feira, 21 de Agosto de 2008 9:25:32 Assunto: [delphi-br] Extrato bancário Estou precisando fazer uma espécie de extrato bancário, Na tabela valores tenho os campos tbCredito, tbdebito, etc Gostaria de saber como posso mostrar no formato abaixo Credito Debito Saldo Data 1000,00 Null 1000,00 05/08/2008 Null 200,00800,00 06/08/2008 300,00 Null 1100,00 10/08/2008 Eu não tenho o campo SALDO na tabela. Como posso fazer isso? Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses [As partes desta mensagem que não continham texto foram removidas]
Res: [delphi-br] Extrato bancário
Alison, o saldo que o colega citou, é igual a um extrato de conta corrente, são os valores do dia somados aos valores de todos os dias anteriores. Da forma que você sugeriu, só será exibido a soma dos lançamentos do dia. Luciano Calenzani Simões - Mensagem original De: Alison Zen [EMAIL PROTECTED] Para: delphi-br@yahoogrupos.com.br Enviadas: Quinta-feira, 21 de Agosto de 2008 9:51:46 Assunto: Re: [delphi-br] Extrato bancário Bom dia. No próprio select vc pode mondar uma coluna com o nome de saldo. faça assim: select credito, debito, (credito-debito) as saldo, data from nome da tabela que conta os atibutos Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] Extrato bancário
Primeira coisa, qual o seu banco de dados? É que podemos usar recursos do banco pra te ajudar. No sqlanywhere, seria bem fácil. Zote http://gofrom.us De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de oscarnjr Enviada em: quinta-feira, 21 de agosto de 2008 09:26 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] Extrato bancário Estou precisando fazer uma espécie de extrato bancário, Na tabela valores tenho os campos tbCredito, tbdebito, etc Gostaria de saber como posso mostrar no formato abaixo Credito Debito Saldo Data 1000,00 Null 1000,00 05/08/2008 Null 200,00 800,00 06/08/2008 300,00 Null 1100,00 10/08/2008 Eu não tenho o campo SALDO na tabela. Como posso fazer isso? [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] Extrato bancário
Aproveitando que o Luciano também usa o ASA, montei o exemplo abaixo usando a versão 9. Nele, faço union all na mesma tabela (mas separando as linhas) pra simular o uso de 2 tabelas conforme foi descrito. Esse union, gera uma view virtual, chamada de f. Depois faço no select nesta view usando as funções de OLAP. select data, deb, cred, sum(coalesce(deb, cred)) over (order by id range between unbounded preceding and current row) as saldo from ( select id, data, null deb, valor cred from Movimentos where valor = 100.0 union all select id, data, valor * -1 deb, null cred from Movimentos where valor 100.0 ) f Para testar, basta criar uma tabela com esta estrutura e fazer alguns inserts: Create table Movimentos ( id integer not null default autoincrement, Data date not null default current date, Valor numeric(10,2) not null default 0, Primary key (id) ) Abraço -- José Henrique (Zote) Analista de TI Bludata Software De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Luciano Calenzani Simões Enviada em: quinta-feira, 21 de agosto de 2008 09:49 Para: delphi-br@yahoogrupos.com.br Assunto: Res: [delphi-br] Extrato bancário Basta adaptar a setença abaixo para os nomes de tabela e campos que estão no seu banco. Essa setença foi testada em Sybase SQL Anywhere 9. Outra coisa, se o campo de valor do débito já estiver com o sinal de negativo, basta trocar os - (sinal de subtração) por um + (sinal de adição). select data, coalesce(sum(debito), 0) debito, coalesce(sum(credito),0) credito, coalesce((select sum(credito) - sum(debito) from teste as testesaldo where data teste.data ), 0) - debito + credito as saldo from teste group by data order by data Luciano Calenzani Simões - Mensagem original De: oscarnjr [EMAIL PROTECTED] mailto:oscarnjr%40yahoo.com.br Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Enviadas: Quinta-feira, 21 de Agosto de 2008 9:25:32 Assunto: [delphi-br] Extrato bancário Estou precisando fazer uma espécie de extrato bancário, Na tabela valores tenho os campos tbCredito, tbdebito, etc Gostaria de saber como posso mostrar no formato abaixo Credito Debito Saldo Data 1000,00 Null 1000,00 05/08/2008 Null 200,00 800,00 06/08/2008 300,00 Null 1100,00 10/08/2008 Eu não tenho o campo SALDO na tabela. Como posso fazer isso? Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Res: RES: [delphi-br] Extrato bancário
Olá pessoal! Estou apanhando de um componente ListView que estou utilizando para mostrar um mapa de mesas no meu sistema. O que ocorre é que eu utilizava o código abaixo para formulár o mapa a cada alteração que uma mesa era adicionada ou alterada: procedure TfrmFrente.CompoeMapa(Sender: TObject); Var List: TStringList; List2: TStringList; Var NewItem: TListItem; I: Integer; begin // MONTAGEM DO ARQUIVO DE TEXTO sqlMapaMesasIni('N', '%'); sqlMapaMesas.First; List := TStringList.Create; While Not (sqlMapaMesas.Eof) do begin List.Add(sqlMapaMesas.FieldByName('MESA_CARTAO').AsString); If ((Time = (sqlMapaMesas.FieldByName('ULTIMO_LANCAMENTO').Value + dm.sqlConfig.FieldByName('CT_MINUTOS_ALERTA').Value))) then // se o tempo sem atendimento for igual ou maior que o definido no config begin If (vPassada 1) then // se for a passada 1 coloca os ícones normais begin If (sqlMapaMesas.FieldByName('STATUS').AsString = 'A') then List.Add('@' + IntToStr(1)) else List.Add('@' + IntToStr(0)); end else // caso contrário coloca o ícone em branco begin List.Add('@' + IntToStr(3)); end; // se houver mesas agrupadas... adiciona no mapa If Not (sqlMapaAgrupadas.IsEmpty) then begin While Not (sqlMapaAgrupadas.Eof) do begin // se para agrupadas também for passada 1 coloca ícone padrão de agrupamento If (vPassada 1) then begin List.Add(sqlMapaAgrupadas.FieldByName('MESA').AsString); List.Add('@' + IntToStr(2)); end else // caso contrário ícone branco begin List.Add(sqlMapaAgrupadas.FieldByName('MESA').AsString); List.Add('@' + IntToStr(3)); end; sqlMapaAgrupadas.Next; end; end; //sqlMapaMesas.Next; end else // se não tiver excedido o tempo limite do config begin If (sqlMapaMesas.FieldByName('STATUS').AsString = 'A') then List.Add('@' + IntToStr(1)) else List.Add('@' + IntToStr(0)); // se houver mesas agrupadas... adiciona no mapa If Not (sqlMapaAgrupadas.IsEmpty) then begin While Not (sqlMapaAgrupadas.Eof) do begin List.Add(sqlMapaAgrupadas.FieldByName('MESA').AsString); List.Add('@' + IntToStr(2)); sqlMapaAgrupadas.Next; end; end; //sqlMapaMesas.Next; end; sqlMapaMesas.Next; end; If (vPassada 2) then vPassada := 2 else vPassada := 1; List.SaveToFile(ExtractFilePath(Application.ExeName) + 'Mapa.txt'); List.Free; // MONTAGEM DO MAPA NA TELA lvMesas.Items.Clear; lvMesas.ViewStyle := vsIcon; sqlMapaMesasIni('N', '%'); //*** // aqui ele configura o listview //*** NewItem := Nil; lvMesas.Items.Clear; List2 := TStringList.Create; Try List2.LoadFromFile(ExtractFilePath(Application.ExeName) + 'Mapa.txt'); For I := 0 to List2.Count - 1 do If (List2[I][1] = #9) then NewItem.SubItems.Add(Trim(List2[I])) else if (List2[I][1] = '@') then NewItem.ImageIndex := StrToIntDef(List2[I][2], 0) else begin NewItem := lvMesas.Items.Add; NewItem.Caption := List2[I]; end; Finally List2.Free; end; end; Acontece que agora quero fazer com que uma mesa que esteja sem atendimento a X minutos seja apresentada com o ícone intermitente, e confesso que toh apanhando. Minha idéia era utilizar um Timer que a cada 500 (ciclo de tempo) faria a conferência das mesas abertas e apenas trocaria o ícone representantes por uma imagem em branco dando o efeito de intermitência. Mas não tah dando muito certo. Se alguém puder me dar uma luz, fico agradecido. Leonardo Vinicius Freitag Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] Extrato bancário
muito boa essa dica ... Cícero Fernandes Eng. Eletricista Eng. de Segurança do Trabalho CREA-SC 27.958-0 P Antes de imprimir, pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Alison Zen Enviada em: quinta-feira, 21 de agosto de 2008 09:52 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Extrato bancário Bom dia. No próprio select vc pode mondar uma coluna com o nome de saldo. faça assim: select credito, debito, (credito-debito) as saldo, data from nome da tabela que conta os atibutos 2008/8/21 oscarnjr [EMAIL PROTECTED] mailto:oscarnjr%40yahoo.com.br com.br Estou precisando fazer uma espécie de extrato bancário, Na tabela valores tenho os campos tbCredito, tbdebito, etc Gostaria de saber como posso mostrar no formato abaixo Credito Debito Saldo Data 1000,00 Null 1000,00 05/08/2008 Null 200,00 800,00 06/08/2008 300,00 Null 1100,00 10/08/2008 Eu não tenho o campo SALDO na tabela. Como posso fazer isso? [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: RES: [delphi-br] Extrato bancário
O problema é que o saldo sempre estará no registro anterior, Credito Debito Saldo Data 1000,00 0 1000,00 05/08/2008 0 200,00 800,00 06/08/2008 Veja que o cáculo ficou na segunda linha da seguinte forma 1000 - 200 igual 800 select credito, debito, (credito-debito anterior) as saldo, data from nome da tabela que conta os atibutos --- Em delphi-br@yahoogrupos.com.br, [EMAIL PROTECTED] escreveu muito boa essa dica ... Cícero Fernandes Eng. Eletricista Eng. de Segurança do Trabalho CREA-SC 27.958-0 P Antes de imprimir, pense em sua responsabilidade e compromisso com o MEIO AMBIENTE! _ De: delphi-br@yahoogrupos.com.br [mailto:delphi- [EMAIL PROTECTED] Em nome de Alison Zen Enviada em: quinta-feira, 21 de agosto de 2008 09:52 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Extrato bancário Bom dia. No próprio select vc pode mondar uma coluna com o nome de saldo. faça assim: select credito, debito, (credito-debito) as saldo, data from nome da tabela que conta os atibutos 2008/8/21 oscarnjr [EMAIL PROTECTED] mailto:oscarnjr% 40yahoo.com.br com.br Estou precisando fazer uma espécie de extrato bancário, Na tabela valores tenho os campos tbCredito, tbdebito, etc Gostaria de saber como posso mostrar no formato abaixo Credito Debito Saldo Data 1000,00 Null 1000,00 05/08/2008 Null 200,00 800,00 06/08/2008 300,00 Null 1100,00 10/08/2008 Eu não tenho o campo SALDO na tabela. Como posso fazer isso? [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] Extrato bancário
oscarnjr, se você fizer da forma que eu e o José Henrique sugerimos, irá funcionar. Luciano Calenzani Simões - Mensagem original De: oscarnjr [EMAIL PROTECTED] Para: delphi-br@yahoogrupos.com.br Enviadas: Quinta-feira, 21 de Agosto de 2008 20:27:40 Assunto: Re: RES: [delphi-br] Extrato bancário O problema é que o saldo sempre estará no registro anterior, Credito Debito Saldo Data 1000,00 0 1000,00 05/08/2008 0 200,00 800,00 06/08/2008 Veja que o cáculo ficou na segunda linha da seguinte forma 1000 - 200 igual 800 Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses [As partes desta mensagem que não continham texto foram removidas]