输入介面的老问题(50分)

  • 主题发起人 主题发起人 lishding
  • 开始时间 开始时间
L

lishding

Unregistered / Unconfirmed
GUEST, unregistred user!
我现正在用D4试写一个小数据库应用程序,
用的是ACCESS数据库,很多窗体都要用主从表,并且从表都是
由至少2个表关联(查询)得到的(如销售明细中的产品编号关联到产品库中的
产品名称,产品库中的单位关联单位编号库中的单位名称)
请教各大虾有什么好的方法处理数据的输入介面?
用QUREY的速度好象较慢,且每次要刷新.
 
自己先做好界面,然后和数据库联起来
 
用TTable吧
主表: DataSource1,Table1, 用DBGrid1做主表输入
从表: DataSource2,Table2, 用DBGrid2做从表输入
Table2.MasterFields:='yourkeyfield';
//主从表关联字段
Table2.MasterSource:=Tabel1.DataSource1;//关联主表
从表字段值取自其他表时
1.在网格内显示一个ComboBox用于输入,ComboBox内容来自其它表
TableOther.First;
while not TableOther.Eofdo
begin
DBGrid2.Columns[2].PickList.Add(TableOther.Fields[0].Value);
TableOther.Next;
end;
2.输入某字段内容时时弹出FORM处理值
在适当的地方设:DBGrid2.Columns[3].ButtonStyle:=cbsEllipsis;
响应DBGrid2的EditButtonClick消息show一个你的专门处理这个字段值的FORM
按FORM中的“确定”按钮更新字段值
 
还是看看能不能改改表的结构吧,主从表同时输入比较麻繁。
如果必须用到还是用Query比较好。
 
可以在access库中建立所需要的查询(或视图)、参数
两个表的连接字段的处理可在输入时解决。
 
各大虾,不好意思,我只有晚上才有空上来.
我现在的处理方法是从表单独开一个Form(已做好标准介面),并把从表的字段
都连上了DBEdit.输入都在DBedit中处理(比较容易控制)
从表的TDataSet处理方法我现在知道有以下三种:
1.用Qurey把三个(不一定)表关联起来,显示到DBGrid中,
就不能直接Append,Edit和Delete,要用SQL进行操作,
且每次都要REFLASH?
2.用Table加LookUp字段处理起来比较方便,但不知数据量大的时候
速度怎么样,是否会有其它的问题?
3.在Access中建好查询(相当于报1中的SQL移到Access中),再用Table
进行操作,但只能用Edit,不能直接Append和Delete?
请教各大虾.....?
 
1.设置Query的RequestLive为True,不过不能为空的字段必须包含
在查询中。
2.LookUp的速度很快不用耽心。
3.在Access中建好查询不懂什么意思。
Access没用过,是建立存储过程么?那也不该用Table呀。
 
用QUERY 部件是最好的;
关于刷新,你可以在输入时切断与数据集的联系,输入以后再恢复联系。
if ... then

query1.disablecontrolls //切断
else

query1.enablecontrolls;
//恢复
 
谢谢各位,每人10块大洋.
一点小意思,不成敬意.
 
后退
顶部