Dear all,
Terimakasih atas bantuan dari rekan2 milis
saya telah berhasil menemukan fungsinya yg stabil (menurut saya) melalui
trial & error
bisa berlaku untuk semua server database
bagaimana pendapat para Mpu Delphi, apakah ada yang kurang? bagaimana pak
sugi, pak jaimy, dan semuanya
thanks....
var
LastFieldValue : String;
//Variabel ini saya gunakan karena untuk Nomer Recod Pertama & Terakhir
selalu bernilai -1
// saat record digerakkan memakai TDBNavigator.
procedure TForm1.ExecSQL(argv: WideString);
var Field: TField;
i: Integer;
begin
if Query1.Active then Query1.Close;
Query1.DisableControls;
Query1.Fields.Clear;
Query1.SQL.Clear;
Query1.SQL.Add(argv);
if not Query1.Active then Query1.Open;
Query1.Last;
LastFieldValue:=Query1.FieldByName('KODE').AsString;
Query1.Close;
// Field 'NOMER' dibuat saat RunTime, bukan saat Design Time
Field:=TIntegerField.Create(Query1);
Field.FieldName:='NOMER';
Field.FieldKind:=fkCalculated;
Field.Dataset:=Query1;
for i:=0 to Query1.FieldDefs.Count-1 do
Query1.FieldDefs[i].CreateField(Query1);
Query1.Open;
Query1.EnableControls;
end;
procedure TForm1.Query1CalcFields(DataSet: TDataSet);
begin
if Query1.FieldByName('KODE').AsString=LastFieldValue then
Query1.FieldByName('NOMER').Value:=Query1.RecordCount
else Query1.FieldByName('NOMER').Value:=abs(Query1.RecNo);
end;
rgds
Ol1v3r
----- Original Message -----
From: "Nugroho Gito" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Tuesday, July 08, 2003 8:32 AM
Subject: RE: [Delphindo] Perintah SQL u/ menampilkan Nomer Record
> 1. Untuk memberi nomer record, saya biasanya menambahkan Calculated
> Fields bertipe integer pada dataset. Pada event TDataSet.OnCalc
> tambahkan code ini :
>
> Ex :
> Procedure TdmMain.tblEmployeeOnCalc;
> Begin
> // Calculated Field : 'vRowNum'
> tblEmployee.FieldByName('vRowNum').AsInteger := tblEmployee.RecNo;
> End;
>
> 2. Untuk pengguna Oracle gunakan 'ROWNUM' pada SELECT list untuk
> menampilkan nomer record
> Ex:
> SELECT ROWNUM, EMP_ID, NAME FROM EMPLOYEE;
------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Coral Calcium for Greater Health - $23.95
http://www.challengerone.com/t/l.asp?cid=2805&lp=calcium2.asp
http://us.click.yahoo.com/MmkSQC/NTVGAA/ySSFAA/i7folB/TM
---------------------------------------------------------------------~->
Berlangganan: [EMAIL PROTECTED]
Stop Berlangganan: [EMAIL PROTECTED]
Keluhan Milis(Unbouncing,spam,dll): [EMAIL PROTECTED]
Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/