ACCESS明细表一问(100分)

  • 主题发起人 主题发起人 雪鹰
  • 开始时间 开始时间

雪鹰

Unregistered / Unconfirmed
GUEST, unregistred user!
有个商品销售单分为主从两个表:
主表(Tbl_Sale):销售单号(SaleNo),存货地点,售货员.....
从表(Tbl_SaleItems):销售单号(SaleNo),商品编号(ItemNO),单价,金额....
Tbl_SaleItems.MasterDataSorce:=Src_Sale
Tbl_SaleItems.MasterField:=SaleNo
Tbl_Sale.OnNewRecord:自动产生不重复的SaleNo值;
Tbl_SaleItems.OnNewRecord:Tbl_SaleItemsSaleNo.Value:=Tbl_SaleSaleNo.Value
Tbl_Sale.CachedUpdate:=True;
Tbl_SaleItems.CachedUpdate:=True;
Tbl_SaleItems关联到DbGrid.
问题:但我在DbGrid中新增加一个纪录时,再增加第二个纪录时会跑出SaleNo
和当前的SaleNo不同的Tbl_SaleItems纪录,按道理应该不会出现SaleNo不一致情况的(移动到前单后单却都一切正常.)
可明明在Delphi的Appmast那
个程序中好像也是这样做的,为什么我的不行?是因为Access不支持CatchedUpdate吗?
但如果把CatchedUpdate关掉却又可以,Why??如何解决??(一定要用CatchedUpdate)
初学delphi,人比较笨,但正在努力之中,请各位大哥多多扶持小弟,80分
不成敬意(鄙人以财产的1/3支付!!Wuwuuuu...
 
你设好了
Tbl_SaleItems.MasterDataSorce:=Src_Sale
Tbl_SaleItems.MasterField:=SaleNo
可以不用
Tbl_SaleItems.OnNewRecord:Tbl_SaleItemsSaleNo.Value:=Tbl_SaleSaleNo.Value
把Tbl_SaleItems.OnNewRecord中的代码去掉试试看。
 
没用,还是一样会出现明细表不对应的情况,每次dbgrid append一个纪录整个
dbgrid会只剩下一行,afterAppend后才所有符合的纪录显示出来.
在append第一个纪录时有出现不是本单的其它纪录.
快疯了,大虾帮忙!!!!
 
这可能是Access的索引机制和Delphi的CatchUpdate 不兼容
方法有二
1.
你可以用Tquery的SQL查询的方法代替明细表(Tbl_SaleItems),
SQl语句为:
"select SaleNo,ItemNO,.... from Tbl_SaleItems where SaleNo= :SaleNo";
Query.Datasource := Src_Sale
Query.Requestlive := True
Query.cathedUpdate := True
再添加一个TUpdateSQL
Query.UpdateObject := UpdateSQL1 ;
UpdateSQl的使用方法参见
Delphi中一个
例子: Db/CachedUpdate

2. 不用CachedUpdate , 使用DataBase事务处理的办法.

 
解决了!!!属于初级错误,不好意思,呵呵.
在Tbl_Sale.OnNewRecord
有如下语句
Tbl_SaleSaleNo.Value:=NewValue;
改为
Tbl_SaleSaleNo.AsString:=NewValue;
一切都正常了.
------------------------------------------------------------
分数分配:
雪鹰:虽然解决方法最正确,但属于幼稚型错误,决定取消应得的分数100大洋,
分配给热心的大虾.(呜呜....1/3财产没了,好穷好穷!!)

fx:"把Tbl_SaleItems.OnNewRecord中的代码去掉试试看"
是个启发,原来也不晓得(原以为细表的OnNewRecord也要给Tbl_ItemsSaleNo值)
给他七十大洋,以资鼓励(鼓励帮雪鹰虫虫回答问题..heihei...).

SeaSky:是个老浆糊(老江湖^,^),出口不俗,需要帮忙的地方太多了,先贿赂30大洋
,希望SeaSky莫嫌少(俺只有几百大洋).

旁人语:赚钱这么容易啊!!
雪鹰微笑:热心点就有钱赚吗,帮不上忙,给人一点启发也是有分数的.
雪鹰背地里:100分!!100分!!!......^6*


 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部