07. februar 2002 - 19:11Der er
10 kommentarer og 2 løsninger
DBGrid (Gange 2 Celler)
Hej Alle Jeg er lidt ny i dette ENDNU ;-) Er der nogen der ved hvordan man Ganger indholdet i 2 celler i en DBGrid F.eks "antal" gange "stk. pris" = "resultat"
Funktion RoundDec2 har du ikke, men koden til den er her:
function RoundDec2( Value: Double ): Double; begin { 5/1-99 1.2e } try Result := Trunc(Value) + (Round(Frac(Value)*100.0)/100.0); except on EInvalidOp do Result := Value; end; end;
procedure TDBSalg.DBGrid1Exit(Sender: TObject); function RoundDec2( Value: Double ): Double; begin { 5/1-99 1.2e } try Result := Trunc(Value) + (Round(Frac(Value)*100.0)/100.0); except on EInvalidOp do Result := Value; end; end; Var Pris : TDBSalg; Apris : TDBSalg; Antal : TDBSalg; begin Pris.DBSalg.value := RoundDec2(Antal.DBSalg.value * APris.DBSalg.value);
Du skal ligge din function efter implementation og før dine procedurer
implementation
function RoundDec2( Value: Double ): Double; begin { 5/1-99 1.2e } try Result := Trunc(Value) + (Round(Frac(Value)*100.0)/100.0); except on EInvalidOp do Result := Value; end; end; {$R *.dfm}
procedure TDBSalg.DBGrid1Exit(Sender: TObject);
Var Pris : TDBSalg; Apris : TDBSalg; Antal : TDBSalg; begin Pris.DBSalg.value := RoundDec2(Antal.DBSalg.value * Pris.DBSalg.value);
Du skal IKKE sætte den på DBGridExit. Her udfører den din kode når du forlader grid'en.
Du skal sætte koden på din table.beforepost
Jeg testede lige med et hurtigt eks. og det virker
implementation function RoundDec2( Value: Double ): Double; begin { 5/1-99 1.2e } try Result := Trunc(Value) + (Round(Frac(Value)*100.0)/100.0); except on EInvalidOp do Result := Value; end; end;
{$R *.dfm}
//ADOTable1 skal erstattes med dit table navn
procedure TForm1.ADOTable1BeforePost(DataSet: TDataSet); begin adotable1.FieldByName('ialt').Value := RoundDec2(adotable1.fieldbyname('pris').Value * adotable1.fieldbyname('antal').Value);
Du skal lave event'en på din ADOTable1.BeforePost ikke på DBGrid1.Exit ... Klik på din ADOTable1 og vælg fanebladdet Events ... nu skal du bare dobbeltklikke på BeforePost og indsætte denne kode:
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.