ก็คือว่าทำการบันทึกข้อมูลทุกอย่างรวมถึงข้อมูลจำนวนเงินรวมได้ แต่ถ้าปิดหน้า page ที่ทำการบันทึกข้อมูลแล้วมาเปิดใหม่ไม่เหมือนเดิม(Delphi6)คับ
ก็คือว่าทำการบันทึกข้อมูลทุกอย่างรวมถึงข้อมูลจำนวนเงินรวมที่ขอใช้จ่ายได้ แต่ถ้าปิดหน้า page ที่ทำการบันทึกข้อมูลแล้วมาเปิดใหม่จำนวนเงินรวมที่ขอใช้จ่ายไม่เท่าที่บันทึกไว้ แต่จะเท่ากับจำนวนเงินที่ขออนุญาตใช้
หมายเหตุ ยอดเงินที่ขออนุญาตใช้คือจำนวนเงินที่ทำการขอเบิก
ต้องแก้ตรงไหนคับ ตัวโคด procedure TfrmGrant_use.cmdOk1Click(Sender: TObject); begin with Module do begin txtProexpnum_monb.Text:=FloatToStr(StrToFloat(txtProexpnum.Text)*StrToFloat(txtProprice.Text+'.'+txtProexpnum_monst.Text)); total.Text:=FloatToStr(StrToFloat(total.Text)+StrToFloat(txtProexpnum_monb.Text)); //------------------add data table program_expenses-------------------- //--------------------------ลอง------------------------------------------------
//--------------------------ลอง------------------------------------------------
ADOConnection.BeginTrans; try tbProgram_expenses.Append; tbProgram_expenses.FieldByName('grant_id').AsString := txtGrant_id.Text; tbProgram_expenses.FieldByName('proexporder').AsString := txtProexporder.Text; tbProgram_expenses.FieldByName('proexpitem').AsString := memProexpitem.Text; tbProgram_expenses.FieldByName('proexpnum').AsString := txtProexpnum.Text; tbProgram_expenses.FieldByName('prounit').AsString := txtProunit.Text; z:=txtProprice.Text; y:=length(z); Icomma; tbProgram_expenses.FieldByName('proprice').AsString :=s1;
//------------------------------------------------- tbProgram_expenses.FieldByName('propricem').AsString := txtProprice.Text; //------------------------------------------------- tbProgram_expenses.FieldByName('proexpnum_monst').AsString := txtProexpnum_monst.Text; tbProgram_expenses.FieldByName('proexpcomm').AsString := txtProexpcomm.Text; z:=txtProexpnum_monb.Text; y:=length(z); Icomma; tbProgram_expenses.FieldByName('proexpnum_sum').AsString :=s1; //---------------------------------------------------- tbProgram_expenses.FieldByName ('proexpnum_summ').AsString := txtProexpnum_monb.Text; //---------------------------------------------------- tbProgram_expenses.Post;
//-----------------------อันจริง------------------------- if StrToFloat(total.Text)>StrToFloat(txtUsemonb.Text+'.'+txtUsemonst.Text)then begin MessageDlg('จำนวนเงินที่ขออนุญาตใช้น้อยกว่าจำนวนเงินในรายการใช้จ่าย',mtError,[mbOk],0); Abort; end ; ADOConnection.CommitTrans; MessageDlg('เพิ่มข้อมูลเรียบร้อยแล้ว',mtInformation,[mbOk],0); if StrToFloat(total.Text)<>StrToFloat(txtUsemonb.Text+'.'+txtUsemonst.Text)then begin MessageDlg('จำนวนเงินที่ขออนุญาตใช้มากกว่าจำนวนเงินในรายการใช้จ่าย',mtInformation,[mbOk],0); end; //-----------------------อันจริง---------------------------- //----------------------Query------------------------------- qryProgram_expenses.Close; qryProgram_expenses.SQL.Clear; qryProgram_expenses.SQL.Add('Select Distinct program_expenses.* From program_expenses'); qryProgram_expenses.SQL.Add('Where grant_id =:gran_id' ); qryProgram_expenses.Parameters.ParamByName('gran_id').Value:=Trim(txtGrant_id.Text); qryProgram_expenses.Open; //----------------end Query---------------------------------
cmdEdit1.Enabled:=True; cmdDel1.Enabled:=True; cmdOk1.Enabled:=False; cmdCancel1.Enabled:=False; cmdPrint1.Enabled:=True; cmdFirst.Enabled:=True; cmdPre.Enabled:=True; cmdNext.Enabled:=True; cmdLast.Enabled:=True; Except ADOConnection.RollbackTrans; MessageDlg('ไม่สามารถเพิ่มข้อมูลได้',mtError,[mbOk],0); end; end; end;
|