Campos calculados, como evitar a quot;lentidão no sistemaq
Olá pessoal do fórum.
Estou enfrentando problemas dentro de minha aplicação com campos calculados, vou citar abaixo a estrutura da tabela que tenho em meu banco de dados e a estrutura que preciso em meu relatório.
Utilizo Delphi 7, dbxpress, Fortes Report e Interbase
TBMOVIMENTACAO
IDLANCAMENTO INTEGER NOT NULL,
CODPRODUTO INTEGER,
CODOPERACAO INTEGER, // 1 = saida(venda) e 2 = entrada(compra)
DATAOPERACAO DATE,
QUANTIDADE INTEGER,
VALORTOTAL FLOAT,
USEROPERACAO VARCHAR(30)
pois bem, exemplo de movimentação (Lançadas).
1 - 1 - 2 - 22.05.2007 - 10 - R$ 10,00 - Admin
2 - 1 - 2 - 22.05.2007 - 05 - R$ 5,00 - Admin
3 - 1 - 1 - 22.05.2007 - 03 - R$ 3,00 - Admin
Tenho que apresentar em um relatório o lucro, quantidade que entrou de produtos na loja, valor das entradas, quantidade que saiu da loja e seu valor total, subtraindo os dois depois retornaria então o lucro. Não sei se tem como desenvolver uma sql que faça isso, pois envolve condições no meio ali tipo CODOPERACAO = 1 ou = 2 então estou meio enrolado nisso, se alguém poder me dar uma idéia, muito grato!
A estrutura final do meu relatório deveria ficar assim:
codproduto - descricaoproduto(tbcadprodutos) - qdeCompra* - TotValorCompra* - qdeVenda* - TotValorVenda* - QdeSaldo* - ValorSaldo*
Os campos que estão com asterisco(*) precisam ser calculados.
Obrigado!
Estou enfrentando problemas dentro de minha aplicação com campos calculados, vou citar abaixo a estrutura da tabela que tenho em meu banco de dados e a estrutura que preciso em meu relatório.
Utilizo Delphi 7, dbxpress, Fortes Report e Interbase
TBMOVIMENTACAO
IDLANCAMENTO INTEGER NOT NULL,
CODPRODUTO INTEGER,
CODOPERACAO INTEGER, // 1 = saida(venda) e 2 = entrada(compra)
DATAOPERACAO DATE,
QUANTIDADE INTEGER,
VALORTOTAL FLOAT,
USEROPERACAO VARCHAR(30)
pois bem, exemplo de movimentação (Lançadas).
1 - 1 - 2 - 22.05.2007 - 10 - R$ 10,00 - Admin
2 - 1 - 2 - 22.05.2007 - 05 - R$ 5,00 - Admin
3 - 1 - 1 - 22.05.2007 - 03 - R$ 3,00 - Admin
Tenho que apresentar em um relatório o lucro, quantidade que entrou de produtos na loja, valor das entradas, quantidade que saiu da loja e seu valor total, subtraindo os dois depois retornaria então o lucro. Não sei se tem como desenvolver uma sql que faça isso, pois envolve condições no meio ali tipo CODOPERACAO = 1 ou = 2 então estou meio enrolado nisso, se alguém poder me dar uma idéia, muito grato!
A estrutura final do meu relatório deveria ficar assim:
codproduto - descricaoproduto(tbcadprodutos) - qdeCompra* - TotValorCompra* - qdeVenda* - TotValorVenda* - QdeSaldo* - ValorSaldo*
Os campos que estão com asterisco(*) precisam ser calculados.
Obrigado!
Gtts
Curtidas 0
Respostas
Marco Salles
22/05/2007
voce esta usando o Internalcalc do clientDataSet ????
GOSTEI 0
Gtts
22/05/2007
ola marco.
Tentei usar internalcalc mas atualmente em minha aplicação uso CLientDataSet, tens alguma idéia pra me ajudar ?
obrigado.
Tentei usar internalcalc mas atualmente em minha aplicação uso CLientDataSet, tens alguma idéia pra me ajudar ?
obrigado.
GOSTEI 0
Marco Salles
22/05/2007
ola marco.
[b:141514fe20]Tentei usar internalcalc [/b:141514fe20]mas atualmente em minha aplicação uso CLientDataSet, tens alguma idéia pra me ajudar ?
obrigado.
tentou usar ou usou ????
em minha aplicação uso
mas é com ele mesmo que voce usa o internalcalc
e no evento oncalcfields do clientdataset vc coloca o seguinte codigo:
if DataSet.State = dsInternalCalc then begin Seus calculos end;
GOSTEI 0