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/ 


Kirim email ke