ying gai shi result de zhi.ye xu shi ni she de bu dui.

解决方案 »

  1.   

    whoo:
    你试过吗?我没有设错.
    该Field在Grid中是显示Result Field的值,但是用Table->Field->Value时,得到的却不是Result Field的值,真奇怪!
      

  2.   

    从lookup字段对应的Dataset(即对应的Lookup definition 中设定的Dataset)取得该字段的result field的值,不过我用lookup field(ADO)时出现一个问题,当当前Dataset中的keyFields 的值在Lookup dataset的lookup keys 中找不到时,出现未知错误,在同一记录字段间移动一次出一次错。
      

  3.   

    lz_0618:
    最好请你写出表达式,而且我是用TABLE,没有用ADO。
      

  4.   

    我不知你怎么能取得Table->Field->Value的值?给你试了一下:
    我用的是Ms Sql中的演示库Pubs
    Table1,DataSource1,DBGrid1对应dbo.sales表,该表中有一个计算字段StorName,查找字段是dbo.stores表的Stor_Name,结果字段是Store_Id,Key Fields是dbo.sales表的Stor_ID;
    Table2,DataSource2,DBGrid2对应dbo.stores表。在Grid1中改变StoreName的值的时候,Table1中Stor_Id的值会随着改变,Table2中的记录指针也会随着改变,从Grid1中也能看到,既然如此,你取哪个值能取不到!但直接取Table1中的计算字段StorName的值则出错!
    type
      TForm1 = class(TForm)
        Table1: TTable;
        Database1: TDatabase;
        DataSource1: TDataSource;
        Table2: TTable;
        DataSource2: TDataSource;
        DBGrid1: TDBGrid;
        DBGrid2: TDBGrid;
        Table1stor_id: TStringField;
        Table1ord_num: TStringField;
        Table1ord_date: TDateTimeField;
        Table1qty: TSmallintField;
        Table1payterms: TStringField;
        Table1title_id: TStringField;
        Table1StorName: TStringField;
        BitBtn1: TBitBtn;
        BitBtn2: TBitBtn;
        Table2stor_id: TStringField;
        Table2stor_name: TStringField;
        Table2stor_address: TStringField;
        Table2city: TStringField;
        Table2state: TStringField;
        Table2zip: TStringField;
        procedure BitBtn2Click(Sender: TObject);
        procedure BitBtn1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.DFM}procedure TForm1.BitBtn2Click(Sender: TObject);
    begin
      showMessage(Table2.FieldByName('Stor_Name').asstring);end;procedure TForm1.BitBtn1Click(Sender: TObject);
    begin       // showMessage(Table1.FieldByName('StorName').asstring);//错误:Table1中没有StorName字段
      showMessage(Table1StorName.Value);
      showMessage(Table1.FieldByName('Stor_id').asstring);end;end.
      

  5.   

    lz_0618:
    我说的就是直接取Table->Field的值,看来行不通。Anyway,谢谢你!把分加给你!