是否可以将一个DBGrid对应两个Access表?我要在同一个Grid里显示两个表记录怎么办?不可能吗?(100分)

  • 主题发起人 主题发起人 mynlxx
  • 开始时间 开始时间
M

mynlxx

Unregistered / Unconfirmed
GUEST, unregistred user!
是否可以将一个DBGrid对应两个Access表?我要在同一个Grid里显示两个表记录怎么办?不可能吗?
 
你可以用query查询出两张表的内容然后用dbgrid来显示query的内容;
如果你要横向用联合查询,如果你要纵向用union 查询
 
可以,简单方法:
DBGrid->DataSource->ClientDataSet -> DataSetProvider->Table1
-> DataSetProvider->Table2
其实是用ClientDataSet的公文包技术,将第二个表的数据加到第一个表的数据后面。
 
可以在运行时设定DataSource属性分别指到不同的数据源中,就能分别显示不同的表的内容了
 
这样处理:1。用Query1查寻出欲在dbgrid1中显示的两个表的的记录
2。动态添加各列,用DBGrid1.Columns.add
DBGrid1.Columns.fieldname=字段名
DBGrid1.Columns.Title.caption=列标题
 
但同时能显示两个表内容吗?
我的意思是同一Grid同时显示两个表的内容,而且两个表的字段都不一样?
 
是这样的,查寻时:
select t1.字段1,....t1.字段n,t2.字段1,....t2.字段n from t1,t2
 
我想要实现一个表的内容显示在前面,另一个表的内容显示在后面,前面表对应的Grid列没
有该字段的话就没空,后面亦然。两个表没有任何字段相同,不是横向的Dbgrid的一行显示
几个表的字段,而是半部显示一个表,另半部显示另一个表。
 
如果是用ADO的话可以用计算字段啊,李维有本书上讲了。
 
我现在用的是BDE,TQuery Or TTable
 
select * from table1,table2
在DBGrid的columns editor中选择要显示的字段及显示的顺序
 
不能!因Dbgrid对应的DataSource子有一个
 
select * from table1,table2
结果没一条记录????
 
我要的结果示例如下:
AAAA,CCCC,EEEE为Table1的字段,BBBB,DDDD,FFFF为Table2的字段
|______________________________________________________________|
表头 | AAAA | BBBB | CCCC | DDDD | EEEEE | FFFF |
table1|______________________________________________________________|
sssdd kj lkds
............................................................
............................................................
tablel2| lkj lkj lkj

...............................................
 
使用Query进行SQL查询,查出两个表的数据,然后显示在DBGrid中就行了。
 
如何将查到的结果显示到DBGride中?只能显示一个结果,也就是查第二次的时候,第一次的
结果将清除???如何做到不让清除?
 
用select语句把两个表的内容select到一个数据集里去。
 
To pnljh:
能详细解释一下如何Select到一个表中吗?我这两上表没有建立任何关系。。
 
你用的是什么数据库?
如是Oracle 完全可以实现的,方法是用外连接
 
我用的是Access97数据库,BDE,这样行得通吗?
 
后退
顶部