有关Lookup Field

VIP 2001-02-23 02:36:00
在Table中新建一Lookup类型的Field,这时Table->Field->Value该为何值?是Lookup Keys的值,还是Result Field的值?
我本以为是Result Field的值,谁知竟然不是,也不知道是何值.如果想得到Result Field的值,该怎么办?请高手指点迷津!
...全文
166 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
VIP 2001-03-08
  • 打赏
  • 举报
回复
lz_0618:
我说的就是直接取Table->Field的值,看来行不通。Anyway,谢谢你!把分加给你!
VIP 2001-02-25
  • 打赏
  • 举报
回复
lz_0618:
最好请你写出表达式,而且我是用TABLE,没有用ADO。
lz_0618 2001-02-25
  • 打赏
  • 举报
回复
我不知你怎么能取得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.
lz_0618 2001-02-24
  • 打赏
  • 举报
回复
从lookup字段对应的Dataset(即对应的Lookup definition 中设定的Dataset)取得该字段的result field的值,不过我用lookup field(ADO)时出现一个问题,当当前Dataset中的keyFields 的值在Lookup dataset的lookup keys 中找不到时,出现未知错误,在同一记录字段间移动一次出一次错。
VIP 2001-02-24
  • 打赏
  • 举报
回复
whoo:
你试过吗?我没有设错.
该Field在Grid中是显示Result Field的值,但是用Table->Field->Value时,得到的却不是Result Field的值,真奇怪!
whoo 2001-02-23
  • 打赏
  • 举报
回复
ying gai shi result de zhi.ye xu shi ni she de bu dui.

5,930

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧