This is also true.....I think from memory that you cant use names, you need
to use the field array number.....forgot to add that to my last
email...sorry

Jeremy Coulter 
Application Developer

Application Development Centre
Compaq Computer New Zealand Ltd.

Phone:          64 3 371 5724 (DD)
Fax:                    64 3 371 5744
Cell:                    021 2150435
E-mail:              [EMAIL PROTECTED]
Private E-Mail:  [EMAIL PROTECTED]


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED]]
Sent: Thursday, June 03, 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

Jeremy Coulter.vcf

Reply via email to