记录指针定位问题.请指教(50分)

  • 主题发起人 主题发起人 cxl_chao
  • 开始时间 开始时间
C

cxl_chao

Unregistered / Unconfirmed
GUEST, unregistred user!
我在FORM1中放一个DBGRID,在FORM2中放多个TDBEDIT用来编辑DBGRID中的某一条数据,当我双击DBGRID中的某一条记录时,便可打开FORM2来修改相应字段
的内容,但我不知用什么方法来保持两个FORM之间的数据指针指向一致,两个
FORM打开的是同一个TABLE,不管选择哪一条记录,打开FORM2时,它总是第一条
记录,我试试用BOOKMARK,但老是失败.
还请高手详细指教!
 
form2也用form1的DataSource
 
不好意思,没说清楚.
两个FORM用的是同一个DATASOURCE,同一个TABLE,同一个TABLENAME.
 
2个DataSource 共用一个TTAble
 
你最好使用一个datamodules来放置数据源,如datasourse,table,query.
然后两个form的数据源都使用其中的同一个就好了.
 
cxl_chao:
如果你的程序是按照你说的那样,应该是没有问题的,我刚试过!
 
TDBGrid好象有个什么AlwaySelected之类的属性,记不清楚了。
 
我也碰到了类似的问题。但我在一个form中用tquery 控件查询到某一条记录(dbgrid控件显示),在另一个form中想修改这条记录(dbedit控件,但相连的datasource是ttable),无法实现记录指针的定位,请教各位。
 
可能是我说得不清楚,主要是太激动了,我说得的现象和刘文宇说得一模一样,
我每次在FORM1中找到一条记录,用DBGRID显示,然后双击它,打开FORM2,
但FORM2中的DBEDIT显示的始终是第一条记录,两个FORM用同一个TABLE却没有
保持指针同步移动,可不可以用TBOOKMARK来控制,请指教.
 
自动同步必须是同一个DataSet,若是两个DataSet(Table1,Table2或Query1,
Table1)则需要编程控制.
例如:Form1上Query1,DataSourceQ1,DBGrid1;
Form2上Table1,DataSourceT1,DBEdit1
都对应同一个数据库表
编写DataSourceQ1.OnDataChange:
strFieldPrimaryKey:=Query1.FieldByName('
主码').AsString;
//Form2上的Table1检索(主)键值
Form2.Table1.Locate(strFieldPrimaryKey.....)
 
问题解决了,谢谢指点,给你们分喽
 
后退
顶部