Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

thianolima

Erro de Atualização

Recommended Posts

eu fiz varias procedure no delphi q monitoram meu banco e ele funciona perfeitamente com poucos registros mas nao entendi o pq qdo eu chego num numero superior a 20 registros na tabela de produto e 34 registros na minha tabela de apontamento q resultara em 390 loops ele gera um erro de UPDATE FAILEDabaixo segue o codigo fonte obs: estou usando o delphi7 com firebird 1.5 e a paleta ibx para conexaounit URel_Apontamentos;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, IBDatabase, IBCustomDataSet, IBUpdateSQL, IBQuery, StdCtrls, Mask, QRCtrls, QuickRpt, ExtCtrls, dxCore, dxButtons;type TFRel_Apontamento2 = class(TForm) Qr_produtos: TIBQuery; Qr_produtosPRO_CODIGO: TIntegerField; Qr_produtosPRO_DESCRICAO: TIBStringField; Qr_produtosMAR_CODIGO: TIntegerField; Qr_produtosGRU_CODIGO: TIntegerField; Qr_produtosPRO_UNIDADE: TIBStringField; Qr_produtosPRO_CODIGOBARRA: TIBStringField; Qr_produtosPRO_PRECO1: TIBBCDField; Qr_produtosPRO_PRECO2: TIBBCDField; Qr_produtosPRO_PRECOCUSTO: TIBBCDField; Qr_produtosPRO_ULTCUSTO: TIBBCDField; Qr_produtosPRO_PESOBRUTO: TIBBCDField; Qr_produtosPRO_PESOLIQUIDO: TIBBCDField; Qr_produtosPRO_CODFABRICANTE: TIBStringField; IBQuery1: TIBQuery; UP_Temporaria: TIBUpdateSQL; Qr_Temporaria: TIBQuery; Qr_TemporariaTEMP_CODIGO: TIntegerField; Qr_TemporariaPRO_CODIGO: TIntegerField; Qr_TemporariaTEMP_SEGESTOQUE: TIBBCDField; Qr_TemporariaTEMP_SEGPFD: TIBBCDField; Qr_TemporariaTEMP_SEGSALFABRICAR: TIBBCDField; Qr_TemporariaTEMP_TERESTOQUE: TIBBCDField; Qr_TemporariaTEMP_TERPFD: TIBBCDField; Qr_TemporariaTEMP_TERSALFABRICAR: TIBBCDField; Qr_TemporariaTEMP_QUAESTOQUE: TIBBCDField; Qr_TemporariaTEMP_QUAPFD: TIBBCDField; Qr_TemporariaTEMP_QUASALFABRICAR: TIBBCDField; Qr_TemporariaTEMP_QUIESTOQUE: TIBBCDField; Qr_TemporariaTEMP_QUIPFD: TIBBCDField; Qr_TemporariaTEMP_QUISALFABRICAR: TIBBCDField; Qr_TemporariaTEMP_SEXESTOQUE: TIBBCDField; Qr_TemporariaTEMP_SEXPFD: TIBBCDField; Qr_TemporariaTEMP_SEXSALFABRICAR: TIBBCDField; Qr_TemporariaTEMP_SABESTOQUE: TIBBCDField; Qr_TemporariaTEMP_SABPFD: TIBBCDField; Qr_TemporariaTEMP_SABSALFABRICAR: TIBBCDField; Qr_TemporariaTEMP_SEGDATA: TDateField; Qr_TemporariaTEMP_TERDATA: TDateField; Qr_TemporariaTEMP_QUADATA: TDateField; Qr_TemporariaTEMP_QUIDATA: TDateField; Qr_TemporariaTEMP_SEXDATA: TDateField; Qr_TemporariaTEMP_SABDATA: TDateField; Qr_TemporariaTEMP_DATA: TDateField; DS_temporaria: TDataSource; Qr_ProdutosQTD: TIBQuery; Qr_ProdutosQTDCOUNT: TIntegerField; Qr_Valida: TIBQuery; Qr_ValidaCOUNT: TIntegerField; Ds_Apontamento: TDataSource; Qr_Apontamento: TIBQuery; Qr_ApontamentoAPO_CODIGO: TIntegerField; Qr_ApontamentoPRO_CODIGO: TIntegerField; Qr_ApontamentoAPO_DATA: TDateField; Qr_ApontamentoAPO_ESTOQUE: TIBBCDField; Qr_ApontamentoAPO_PFD: TIBBCDField; Qr_ApontamentoAPO_SALFABRICAR: TIBBCDField; IBTransaction1: TIBTransaction; IBDatabase1: TIBDatabase; MaskEdit1: TMaskEdit; MaskEdit2: TMaskEdit; QuickRep1: TQuickRep; DetailBand1: TQRBand; QRShape25: TQRShape; QRShape27: TQRShape; QRShape28: TQRShape; QRShape29: TQRShape; QRShape30: TQRShape; QRShape31: TQRShape; QRShape32: TQRShape; QRShape33: TQRShape; QRShape34: TQRShape; QRShape35: TQRShape; QRShape36: TQRShape; QRShape37: TQRShape; QRShape38: TQRShape; QRShape39: TQRShape; QRShape40: TQRShape; QRShape41: TQRShape; QRShape42: TQRShape; QRShape43: TQRShape; QRShape44: TQRShape; QRShape45: TQRShape; QRShape46: TQRShape; QRDBText1: TQRDBText; QRDBText2: TQRDBText; QRDBText3: TQRDBText; QRDBText4: TQRDBText; QRDBText5: TQRDBText; QRDBText6: TQRDBText; QRDBText7: TQRDBText; QRDBText8: TQRDBText; QRDBText9: TQRDBText; QRDBText10: TQRDBText; QRDBText11: TQRDBText; QRDBText12: TQRDBText; QRDBText13: TQRDBText; QRDBText14: TQRDBText; QRDBText15: TQRDBText; QRDBText16: TQRDBText; QRDBText17: TQRDBText; QRDBText18: TQRDBText; QRDBText19: TQRDBText; QRDBText20: TQRDBText; TitleBand1: TQRBand; QRLabel1: TQRLabel; QRLabel2: TQRLabel; QRLabel3: TQRLabel; QRLabel4: TQRLabel; QRLabel5: TQRLabel; QRLabel6: TQRLabel; QRLabel7: TQRLabel; QRLabel8: TQRLabel; QRLabel9: TQRLabel; QRLabel10: TQRLabel; QRLabel11: TQRLabel; QRLabel12: TQRLabel; QRLabel13: TQRLabel; QRLabel14: TQRLabel; QRLabel15: TQRLabel; QRLabel16: TQRLabel; QRLabel17: TQRLabel; QRLabel18: TQRLabel; QRLabel19: TQRLabel; QRLabel20: TQRLabel; QRLabel21: TQRLabel; QRLabel22: TQRLabel; QRLabel23: TQRLabel; QRLabel24: TQRLabel; QRLabel25: TQRLabel; QRLabel26: TQRLabel; QRLabel27: TQRLabel; QRLabel28: TQRLabel; QRLabel29: TQRLabel; QRLabel30: TQRLabel; QRLabel31: TQRLabel; QRLabel38: TQRLabel; QRLabel39: TQRLabel; QRLabel40: TQRLabel; QRLabel41: TQRLabel; QRLabel42: TQRLabel; QRLabel43: TQRLabel; QRShape2: TQRShape; QRShape3: TQRShape; QRShape4: TQRShape; QRShape5: TQRShape; QRShape6: TQRShape; QRShape7: TQRShape; QRShape8: TQRShape; QRShape9: TQRShape; QRShape10: TQRShape; QRShape11: TQRShape; QRShape12: TQRShape; QRShape13: TQRShape; QRShape14: TQRShape; QRShape15: TQRShape; QRShape16: TQRShape; QRShape17: TQRShape; QRShape18: TQRShape; QRShape19: TQRShape; QRShape20: TQRShape; QRShape21: TQRShape; QRShape22: TQRShape; QRShape23: TQRShape; QRShape24: TQRShape; QRLabel44: TQRLabel; QRLabel45: TQRLabel; QRLabel46: TQRLabel; QRLabel47: TQRLabel; QRShape1: TQRShape; QRDBText21: TQRDBText; QRDBText22: TQRDBText; QRDBText23: TQRDBText; QRDBText25: TQRDBText; QRDBText26: TQRDBText; PageFooterBand1: TQRBand; Label1: TLabel; Label2: TLabel; dxButton1: TdxButton; Qr_TemporariaPro_descricao: TStringField; QRDBText24: TQRDBText; procedure dxButton1Click(Sender: TObject); procedure FormKeyPress(Sender: TObject; var Key: Char); procedure MaskEdit2Exit(Sender: TObject); procedure MaskEdit2KeyPress(Sender: TObject; var Key: Char); procedure FormActivate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); private { Private declarations } procedure Atualiza; procedure LimpaTabela; procedure Segunda; procedure Terca; procedure Quarta; procedure Quinta; procedure Sexta; procedure Sabado; public { Public declarations } end;var FRel_Apontamento2: TFRel_Apontamento2; data1,data2: TdateTime; linhas : integer;implementationuses U_Principal;{$R *.dfm}procedure TFRel_Apontamento2.Atualiza;begin F_Principal.Transacao.Commit; IBTransaction1.Commit; Qr_Apontamento.open; Qr_ProdutosQTD.open; IBQuery1.open; Qr_produtos.Open; Qr_Temporaria.Open; Qr_Valida.open; F_Principal.Transacao.Active:=true;; IBTransaction1.Active:=true;end;//Apaga todos os Registros da Tabelaprocedure TFRel_Apontamento2.LimpaTabela;begin IBQuery1.close; IBQuery1.SQL.Clear; IBQuery1.SQL.Add( 'DELETE FROM TEMPORARIA'); IBQuery1.open;end;//Verifica todos os produtos que foram cadastrado na segunda durante o periodoprocedure TFRel_Apontamento2.Segunda;begin linhas:=1; Qr_Produtos.First; While Qr_ProdutosQTDCOUNT.AsInteger >= linhas do begin IBQuery1.close; IBQuery1.SQL.Clear; IBQuery1.SQL.Add( 'select * from apontamento'); IBQuery1.SQL.Add('where apontamento.apo_data between :DataInicial and :DataFinal'); IBQuery1.SQL.Add('and apontamento.pro_codigo = :produto and extract(weekday from apo_data) = 1' ); IBQuery1.ParamByName('DataInicial').AsDate:=strtodate(MaskEdit1.text); IBQuery1.ParamByName('DataFinal').AsDate:=strtodate(MaskEdit2.text); IBQuery1.ParamByName('Produto').AsInteger:= Qr_ProdutosPro_Codigo.ASInteger; IBQuery1.open; Qr_Valida.close; Qr_Valida.SQL.Clear; Qr_Valida.SQL.Add('select count(*) from TEMPORARIA'); Qr_Valida.SQL.Add('where pro_codigo = :produto'); Qr_Valida.ParamByName('Produto').AsInteger:= Qr_produtosPRO_CODIGO.AsInteger; Qr_Valida.Open; Qr_Valida.ParamByName('Produto').AsInteger:= Qr_produtosPRO_CODIGO.AsInteger; Qr_Valida.open; while not IBQuery1.Eof do begin if Qr_ValidaCount.ASInteger > 0 then begin Qr_Temporaria.edit; Qr_TemporariaTEMP_SEGDATA.AsDateTime:=IBQuery1.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaTEMP_SEGESTOQUE.AsFloat:=IBQuery1.FieldbyName('Apo_Estoque').AsFloat; Qr_TemporariaTEMP_SEGPFD.AsFloat:=IBQuery1.FieldbyName('Apo_PFD').ASFloat; Qr_TemporariaTEMP_SEGSALFABRICAR.AsFloat:=IBQuery1.FieldbyName('Apo_SALFABRICAR').ASFloat; Qr_Temporaria.post; IBQuery1.next; end Else begin Qr_Temporaria.insert; Qr_TemporariaTEMP_DATA.AsDateTime:=Qr_Apontamento.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaPRO_CODIGO.AsInteger:=IBQuery1.FieldbyName('Pro_Codigo').ASInteger; Qr_TemporariaTEMP_SEGDATA.AsDateTime:=IBQuery1.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaTEMP_SEGESTOQUE.AsFloat:=IBQuery1.FieldbyName('Apo_Estoque').AsFloat; Qr_TemporariaTEMP_SEGPFD.AsFloat:=IBQuery1.FieldbyName('Apo_PFD').ASFloat; Qr_TemporariaTEMP_SEGSALFABRICAR.AsFloat:=IBQuery1.FieldbyName('Apo_SALFABRICAR').ASFloat; Qr_Temporaria.post; IBQuery1.next; end; end; Qr_produtos.next; Qr_Temporaria.Next; linhas:= linhas+1; end; Atualiza;end;procedure TFRel_Apontamento2.Terca;begin linhas:=1; Qr_Produtos.First; While Qr_ProdutosQTDCOUNT.AsInteger >= linhas do begin IBQuery1.close; IBQuery1.SQL.Clear; IBQuery1.SQL.Add( 'select * from apontamento'); IBQuery1.SQL.Add('where apontamento.apo_data between :DataInicial and :DataFinal'); IBQuery1.SQL.Add('and apontamento.pro_codigo = :produto and extract(weekday from apo_data) = 2' ); IBQuery1.ParamByName('DataInicial').AsDate:=strtodate(MaskEdit1.text); IBQuery1.ParamByName('DataFinal').AsDate:=strtodate(MaskEdit2.text); IBQuery1.ParamByName('Produto').AsInteger:= Qr_ProdutosPro_Codigo.ASInteger; IBQuery1.open; Qr_Valida.close; Qr_Valida.SQL.Clear; Qr_Valida.SQL.Add('select count(*) from TEMPORARIA'); Qr_Valida.SQL.Add('where pro_codigo = :produto'); Qr_Valida.ParamByName('Produto').AsInteger:= Qr_produtosPRO_CODIGO.AsInteger; Qr_Valida.Open; while not IBQuery1.Eof do begin if Qr_ValidaCount.ASInteger > 0 then begin Qr_Temporaria.edit; Qr_TemporariaTEMP_TERDATA.AsDateTime:=IBQuery1.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaTEMP_TERESTOQUE.AsFloat:=IBQuery1.FieldbyName('Apo_Estoque').AsFloat; Qr_TemporariaTEMP_TERPFD.AsFloat:=IBQuery1.FieldbyName('Apo_PFD').ASFloat; Qr_TemporariaTEMP_TERSALFABRICAR.AsFloat:=IBQuery1.FieldbyName('Apo_SALFABRICAR').ASFloat; Qr_Temporaria.post; IBQuery1.next; end Else begin Qr_Temporaria.insert; Qr_TemporariaTEMP_DATA.AsDateTime:=Qr_Apontamento.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaPRO_CODIGO.AsInteger:=IBQuery1.FieldbyName('Pro_Codigo').ASInteger; Qr_TemporariaTEMP_TERDATA.AsDateTime:=IBQuery1.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaTEMP_TERESTOQUE.AsFloat:=IBQuery1.FieldbyName('Apo_Estoque').AsFloat; Qr_TemporariaTEMP_TERPFD.AsFloat:=IBQuery1.FieldbyName('Apo_PFD').ASFloat; Qr_TemporariaTEMP_TERSALFABRICAR.AsFloat:=IBQuery1.FieldbyName('Apo_SALFABRICAR').ASFloat; Qr_Temporaria.post; IBQuery1.next; end; end; Qr_produtos.next; Qr_Temporaria.Next; linhas:= linhas+1; end; Atualiza;end;procedure TFRel_Apontamento2.Quarta;begin linhas:=1; Qr_Produtos.First; While Qr_ProdutosQTDCOUNT.AsInteger >= linhas do begin IBQuery1.close; IBQuery1.SQL.Clear; IBQuery1.SQL.Add( 'select * from apontamento'); IBQuery1.SQL.Add('where apontamento.apo_data between :DataInicial and :DataFinal'); IBQuery1.SQL.Add('and apontamento.pro_codigo = :produto and extract(weekday from apo_data) = 3' ); IBQuery1.ParamByName('DataInicial').AsDate:=strtodate(MaskEdit1.text); IBQuery1.ParamByName('DataFinal').AsDate:=strtodate(MaskEdit2.text); IBQuery1.ParamByName('Produto').AsInteger:= Qr_ProdutosPro_Codigo.ASInteger; IBQuery1.open; Qr_Valida.close; Qr_Valida.SQL.Clear; Qr_Valida.SQL.Add('select count(*) from TEMPORARIA'); Qr_Valida.SQL.Add('where pro_codigo = :produto'); Qr_Valida.ParamByName('Produto').AsInteger:= Qr_produtosPRO_CODIGO.AsInteger; Qr_Valida.Open; while not IBQuery1.Eof do begin if Qr_ValidaCount.ASInteger > 0 then begin Qr_Temporaria.edit; Qr_TemporariaTEMP_QUADATA.AsDateTime:=IBQuery1.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaTEMP_QUAESTOQUE.AsFloat:=IBQuery1.FieldbyName('Apo_Estoque').AsFloat; Qr_TemporariaTEMP_QUAPFD.AsFloat:=IBQuery1.FieldbyName('Apo_PFD').ASFloat; Qr_TemporariaTEMP_QUASALFABRICAR.AsFloat:=IBQuery1.FieldbyName('Apo_SALFABRICAR').ASFloat; Qr_Temporaria.post; IBQuery1.next; end Else begin Qr_Temporaria.insert; Qr_TemporariaTEMP_DATA.AsDateTime:=Qr_Apontamento.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaPRO_CODIGO.AsInteger:=IBQuery1.FieldbyName('Pro_Codigo').ASInteger; Qr_TemporariaTEMP_QUADATA.AsDateTime:=IBQuery1.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaTEMP_QUAESTOQUE.AsFloat:=IBQuery1.FieldbyName('Apo_Estoque').AsFloat; Qr_TemporariaTEMP_QUAPFD.AsFloat:=IBQuery1.FieldbyName('Apo_PFD').ASFloat; Qr_TemporariaTEMP_QUASALFABRICAR.AsFloat:=IBQuery1.FieldbyName('Apo_SALFABRICAR').ASFloat; Qr_Temporaria.post; IBQuery1.next; end; end; Qr_produtos.next; Qr_Temporaria.Next; linhas:= linhas+1; end; Atualiza;end;procedure TFRel_Apontamento2.Quinta;begin linhas:=1; Qr_Produtos.First; While Qr_ProdutosQTDCOUNT.AsInteger >= linhas do begin IBQuery1.close; IBQuery1.SQL.Clear; IBQuery1.SQL.Add( 'select * from apontamento'); IBQuery1.SQL.Add('where apontamento.apo_data between :DataInicial and :DataFinal'); IBQuery1.SQL.Add('and apontamento.pro_codigo = :produto and extract(weekday from apo_data) = 4' ); IBQuery1.ParamByName('DataInicial').AsDate:=strtodate(MaskEdit1.text); IBQuery1.ParamByName('DataFinal').AsDate:=strtodate(MaskEdit2.text); IBQuery1.ParamByName('Produto').AsInteger:= Qr_ProdutosPro_Codigo.ASInteger; IBQuery1.open; Qr_Valida.close; Qr_Valida.SQL.Clear; Qr_Valida.SQL.Add('select count(*) from TEMPORARIA'); Qr_Valida.SQL.Add('where pro_codigo = :produto'); Qr_Valida.ParamByName('Produto').AsInteger:= Qr_produtosPRO_CODIGO.AsInteger; Qr_Valida.Open; while not IBQuery1.Eof do begin if Qr_ValidaCount.ASInteger > 0 then begin Qr_Temporaria.edit; Qr_TemporariaTEMP_QUIDATA.AsDateTime:=IBQuery1.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaTEMP_QUIESTOQUE.AsFloat:=IBQuery1.FieldbyName('Apo_Estoque').AsFloat; Qr_TemporariaTEMP_QUIPFD.AsFloat:=IBQuery1.FieldbyName('Apo_PFD').ASFloat; Qr_TemporariaTEMP_QUISALFABRICAR.AsFloat:=IBQuery1.FieldbyName('Apo_SALFABRICAR').ASFloat; Qr_Temporaria.post; IBQuery1.next; end Else begin Qr_Temporaria.insert; Qr_TemporariaTEMP_DATA.AsDateTime:=Qr_Apontamento.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaPRO_CODIGO.AsInteger:=IBQuery1.FieldbyName('Pro_Codigo').ASInteger; Qr_TemporariaTEMP_QUIDATA.AsDateTime:=IBQuery1.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaTEMP_QUIESTOQUE.AsFloat:=IBQuery1.FieldbyName('Apo_Estoque').AsFloat; Qr_TemporariaTEMP_QUIPFD.AsFloat:=IBQuery1.FieldbyName('Apo_PFD').ASFloat; Qr_TemporariaTEMP_QUISALFABRICAR.AsFloat:=IBQuery1.FieldbyName('Apo_SALFABRICAR').ASFloat; Qr_Temporaria.post; IBQuery1.next; end; end; Qr_produtos.next; Qr_Temporaria.Next; linhas:= linhas+1; end; Atualiza;end;procedure TFRel_Apontamento2.Sexta;begin linhas:=1; Qr_Produtos.First; While Qr_ProdutosQTDCOUNT.AsInteger >= linhas do begin IBQuery1.close; IBQuery1.SQL.Clear; IBQuery1.SQL.Add( 'select * from apontamento'); IBQuery1.SQL.Add('where apontamento.apo_data between :DataInicial and :DataFinal'); IBQuery1.SQL.Add('and apontamento.pro_codigo = :produto and extract(weekday from apo_data) = 5' ); IBQuery1.ParamByName('DataInicial').AsDate:=strtodate(MaskEdit1.text); IBQuery1.ParamByName('DataFinal').AsDate:=strtodate(MaskEdit2.text); IBQuery1.ParamByName('Produto').AsInteger:= Qr_ProdutosPro_Codigo.ASInteger; IBQuery1.open; Qr_Valida.close; Qr_Valida.SQL.Clear; Qr_Valida.SQL.Add('select count(*) from TEMPORARIA'); Qr_Valida.SQL.Add('where pro_codigo = :produto'); Qr_Valida.ParamByName('Produto').AsInteger:= Qr_produtosPRO_CODIGO.AsInteger; Qr_Valida.Open; while not IBQuery1.Eof do begin if Qr_ValidaCount.ASInteger > 0 then begin Qr_Temporaria.edit; Qr_TemporariaTEMP_SEXDATA.AsDateTime:=IBQuery1.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaTEMP_SEXESTOQUE.AsFloat:=IBQuery1.FieldbyName('Apo_Estoque').AsFloat; Qr_TemporariaTEMP_SEXPFD.AsFloat:=IBQuery1.FieldbyName('Apo_PFD').ASFloat; Qr_TemporariaTEMP_SEXSALFABRICAR.AsFloat:=IBQuery1.FieldbyName('Apo_SALFABRICAR').ASFloat; Qr_Temporaria.post; IBQuery1.next; end Else begin Qr_Temporaria.insert; Qr_TemporariaTEMP_DATA.AsDateTime:=Qr_Apontamento.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaPRO_CODIGO.AsInteger:=IBQuery1.FieldbyName('Pro_Codigo').ASInteger; Qr_TemporariaTEMP_SEXDATA.AsDateTime:=IBQuery1.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaTEMP_SEXESTOQUE.AsFloat:=IBQuery1.FieldbyName('Apo_Estoque').AsFloat; Qr_TemporariaTEMP_SEXPFD.AsFloat:=IBQuery1.FieldbyName('Apo_PFD').ASFloat; Qr_TemporariaTEMP_SEXSALFABRICAR.AsFloat:=IBQuery1.FieldbyName('Apo_SALFABRICAR').ASFloat; Qr_Temporaria.post; IBQuery1.next; end; end; Qr_produtos.next; Qr_Temporaria.Next; linhas:= linhas+1; end; Atualiza;end;procedure TFRel_Apontamento2.Sabado;begin linhas:=1; Qr_Produtos.First; While Qr_ProdutosQTDCOUNT.AsInteger >= linhas do begin IBQuery1.close; IBQuery1.SQL.Clear; IBQuery1.SQL.Add( 'select * from apontamento'); IBQuery1.SQL.Add('where apontamento.apo_data between :DataInicial and :DataFinal'); IBQuery1.SQL.Add('and apontamento.pro_codigo = :produto and extract(weekday from apo_data) = 6' ); IBQuery1.ParamByName('DataInicial').AsDate:=strtodate(MaskEdit1.text); IBQuery1.ParamByName('DataFinal').AsDate:=strtodate(MaskEdit2.text); IBQuery1.ParamByName('Produto').AsInteger:= Qr_ProdutosPro_Codigo.ASInteger; IBQuery1.open; Qr_Valida.close; Qr_Valida.SQL.Clear; Qr_Valida.SQL.Add('select count(*) from TEMPORARIA'); Qr_Valida.SQL.Add('where pro_codigo = :produto'); Qr_Valida.ParamByName('Produto').AsInteger:= Qr_produtosPRO_CODIGO.AsInteger; Qr_Valida.Open; while not IBQuery1.Eof do begin if Qr_ValidaCount.ASInteger > 0 then begin Qr_Temporaria.edit; Qr_TemporariaTEMP_SABDATA.AsDateTime:=IBQuery1.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaTEMP_SABESTOQUE.AsFloat:=IBQuery1.FieldbyName('Apo_Estoque').AsFloat; Qr_TemporariaTEMP_SABPFD.AsFloat:=IBQuery1.FieldbyName('Apo_PFD').ASFloat; Qr_TemporariaTEMP_SABSALFABRICAR.AsFloat:=IBQuery1.FieldbyName('Apo_SALFABRICAR').ASFloat; Qr_Temporaria.post; IBQuery1.next; end Else begin Qr_Temporaria.insert; Qr_TemporariaTEMP_DATA.AsDateTime:=Qr_Apontamento.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaPRO_CODIGO.AsInteger:=IBQuery1.FieldbyName('Pro_Codigo').ASInteger; Qr_TemporariaTEMP_SABDATA.AsDateTime:=IBQuery1.FieldbyName('Apo_Data').AsDateTime; Qr_TemporariaTEMP_SABESTOQUE.AsFloat:=IBQuery1.FieldbyName('Apo_Estoque').AsFloat; Qr_TemporariaTEMP_SABPFD.AsFloat:=IBQuery1.FieldbyName('Apo_PFD').ASFloat; Qr_TemporariaTEMP_SABSALFABRICAR.AsFloat:=IBQuery1.FieldbyName('Apo_SALFABRICAR').ASFloat; Qr_Temporaria.post; IBQuery1.next; end; end; Qr_produtos.next; Qr_Temporaria.Next; linhas:= linhas+1; end; Atualiza;end;procedure TFRel_Apontamento2.dxButton1Click(Sender: TObject);begin data1:= strtodate(MaskEdit1.text); data2:= strtodate(MaskEdit2.text); if (data2 - data1) > 6 then begin showmessage('As datas passam de uma semana'); MaskEdit1.clear; MaskEdit2.clear; MaskEdit1.SetFocus; abort; end; LimpaTabela; Segunda; Terca; Quarta; Quinta; Sexta; Sabado; Atualiza; QuickRep1.Preview;end;procedure TFRel_Apontamento2.FormKeyPress(Sender: TObject; var Key: Char);begin if Key = #13 then begin Key := #0; Perform(Wm_NextDlgCtl,0,0); end;end;procedure TFRel_Apontamento2.MaskEdit2Exit(Sender: TObject);begin data1:= strtodate(MaskEdit1.text); data2:= strtodate(MaskEdit2.text); if (data2 - data1) > 6 then begin showmessage('As datas passam de uma semana'); MaskEdit1.clear; MaskEdit2.clear; MaskEdit1.SetFocus; end;end;procedure TFRel_Apontamento2.MaskEdit2KeyPress(Sender: TObject; var Key: Char);begin if key = #27 then MaskEdit1.SetFocus;end;procedure TFRel_Apontamento2.FormActivate(Sender: TObject);begin Atualiza;end;procedure TFRel_Apontamento2.FormClose(Sender: TObject; var Action: TCloseAction);begin Action:=Cafree;end;end.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara se você naum percebeu... você postou isso no lugar errado... aki eh PHP e naum delphi

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.