The fields are part of the RecordSet object from ADO, and not part of the TDataset
like delphi database contorls link to.
Christopher Crowe (Software Developer)
Microsoft MVP, MCP
Adrock Software
Byte Computer & Software LTD
P.O Box 13-155
Christchurch
New Zealand
Phone/Fax (NZ) 03-3651-112
> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]On
> Behalf Of [EMAIL PROTECTED]
> Sent: Thursday, 3 June 1999 11:22
> To: Multiple recipients of list delphi
> Subject: Re: [DUG]: ADO Hierarchial Record Sets
>
>
> Isn't fields an array (ie 0..10) or somethinh like that, if you
> want to use
> the field name use use ttable.fieldbyname('fieldame')
>
>
>
> richard
>
>
>
>
>
> "Chris Crowe" <[EMAIL PROTECTED]> on 03/06/99 08:32:17 am
>
> Please respond to [EMAIL PROTECTED]
>
>
> To: Multiple recipients of list delphi <[EMAIL PROTECTED]>
> cc: (bcc: Richard R Huegill/NSO/CSDA)
> Subject: [DUG]: ADO Hierarchial Record Sets
>
>
>
>
> Below is a simple ADO application which uses Hirarchial Record sets. I can
> not get it to work. In VB you use a syntax like the following to
> get access
> to the child record set.
>
> Set rsTitle = rsPub!rsOldOrders.Value
>
> So in Delphi I tried
>
> rsoldOrders := rsPub.Fields['rsOldOrders'].Value;
>
> But it will not compile with the error "Incompatible types OLEVariant and
> _Recordset"
>
> Does anyone have any ideas here?
>
> Chris
>
> Christopher Crowe (Software Developer)
> Microsoft MVP, MCP
>
> Adrock Software
> Byte Computer & Software LTD
> P.O Box 13-155
> Christchurch
> New Zealand
> Phone/Fax (NZ) 03-3651-112
>
> ==================================
> unit AdoSample;
>
> interface
>
> uses
> Windows, Messages, SysUtils, Classes, Graphics, Controls,
> Forms, Dialogs,
> adodb_tlb,
> StdCtrls, Buttons, ExtCtrls;
>
> type
> TForm1 = class(TForm)
> ListBox1: TListBox;
> Panel1: TPanel;
> BitBtn1: TBitBtn;
> procedure BitBtn1Click(Sender: TObject);
> private
> { Private declarations }
> public
> { Public declarations }
> end;
>
> var
> Form1: TForm1;
>
> implementation
>
> {$R *.DFM}
>
> procedure TForm1.BitBtn1Click(Sender: TObject);
> Var
> ADOSql : String;
> cn : Connection;
> rsOldOrders,
> rsPub : Recordset;
> rsTitle : Recordset;
> rsRecent : Recordset;
> SQL : String;
> begin
> Cn := CoConnection.Create;
> cn.Provider := 'MSDataShape';
> cn.Open ('dsn=OLE_access_NWIND','','',0);
>
> rsPub := CoRecordset.Create;
> rsOldOrders := CoRecordset.Create;
>
> ADOSql := 'SHAPE {SELECT * FROM customers} '+
> 'APPEND ({SELECT * From orders Where orderdate <
> #1/1/1996# And
> customerid = ?} '+
> 'RELATE customerid TO PARAMETER 0) AS rsOldOrders, '+
> '({SELECT * From orders WHERE orderdate >= #1/1/1996#} '+
> 'RELATE customerid TO customerid) AS rsRecentOrders ';
>
> rsPub.Open(ADOSql, cn, adOpenStatic, adLockReadOnly, adCmdText);
> ListBox1.items.Clear;
> While (rsPub.EOF= FALSE) do
> begin
> ListBox1.items.Add('Customer =
> '+rsPub.Fields['CompanyName'].Value);
>
> rsoldOrders := rsPub.Fields['rsOldOrders'].Value;
> While (rsoldOrders.EOF= FALSE) do
> begin
> ListBox1.items.Add('
> '+rsOldOrders.Fields['OrderDate'].Value);
> rsOldOrders.Movenext
> end;
> rsOldOrders.Close;
> rsPub.moveNext;
> end;
> rsPub.Close;
>
> end;
>
> end.
>
>
> ------------------------------------------------------------------
> ---------
> New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
> Website: http://www.delphi.org.nz
>
>
>
>
>
>
> ------------------------------------------------------------------
> ---------
> New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
> Website: http://www.delphi.org.nz
>
---------------------------------------------------------------------------
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz