关于字段关联的问题?

fstao 2000-04-12 11:00:00
delphi的问题:
假如用paradox7新建table1.db和table2.db,其table2.db的字段为Id、name和price,其数据为:
id name price
1 A1 12.3
2 A2 23.45
3 A3 24.56


table1.db的字段为:Id(用来关联table2的id)。
在form1里添加TTable1控件,Ttable1是用来连接table1.db的,用TDbgrid1显示table1.db的数据。
我想在控件Ttable1添加两个新字段,Name(type为string,Field Type为Calculated)和Price
(type为Float,Field Type为Calculated),两个都是Calculated字段。我想这样,在dbgrid1
里显示id、name和price,当table1.insert时,在id写“1”,则name和price分别显示“A1”和“12.3”,
再table1.insert时,在id写“3”,则name和price分别显示“A3”和“24.56”,因为只要table1.db的
id与table2.db的id关联时,则显示相应的数据。我以前用Lookup来关联,我听说这样做不太好,
用Calculated来做好一点,我想只有写代码,那么如何在TTable1的id的Onchange写代码呢?
...全文
132 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fstao 2000-04-13
  • 打赏
  • 举报
回复
这个问题我刚刚解决,现在我想问一个比较复杂的问题:
有四个表master.db(主表,字段masterid和po_id)、detail.db(从表,字段id、detailid、hp_id、price,id是主索引
,detailid是关联主表的masterid,hp_id是关联hp_ku的id,price是单价)、hp_ku(用来存放货品,字段为
id、name)和table1.db(字段为id、hp_id和po_id,id是主索引,hp_id是关联hp_ku.db的id,po_id
是关联master.db的masterid)。假如hp_ku.db、master.db和detail.db的数据如下:
hp_ku.db
id name
1 A1
2 B1
3 C1
4 D1
5 E1

master.db
masterid po_id
1 po_1
2 po_2
3 po_3

detail.db
id detailid hp_id price
1 1 2 23.34
2 1 3 45.23
3 2 5 12.34
4 3 1 46.12
5 3 4 90.23

在form1里添加masterquery(Tquery)连接master.db,detailquery(Tquery)连接detail.db,hpquery(Tquery)连接hp_ku.db。
最后一个query1(Tquery),它是用来连接table1.db,我想在query1新建一个字段Price(Type为float,Fieldtype为Calculated)
是一个Calculated字段。在添加dbgrid1,用来连接query1的。则dbgrid1显示字段为:
id hp_id po_id price


我想query1.insert时,在hp_id写“4”,po_id写“po_3”,则price立刻显示“90.23”。是这样在po_id写
“po_3”,它是跟master.db的po_id关联的,则master.po_id=po_3时,那么对应的从表detail.db字段detailid=3,
由于table1.db的字hp_id=4,所以price=90.23。同理,如果在dbgrid1写入hp_id=3,po_id=po_1,那么
price=45.23。我的问题是如何跟据在table1.db的字段hp_id和po_id的数据,使price显示相应的数据?
我知道用lookup是不可能实现的,只能用sql语句,好象在query1的onCalcFields事件里写代码,不过如何写?
newcsdn 2000-04-13
  • 打赏
  • 举报
回复
我想用Calculated Field 應該在Table 的OncalcFields事件中編寫代碼,給Calculated Fields賳值就可以了!
fyje 2000-04-13
  • 打赏
  • 举报
回复
我想,你如果使用主细表和query控件做,会更容易实现。

5,379

社区成员

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

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