如何使用不同的条件在dbgrid中显示相同的列

时间:2015-05-06 02:18:17

标签: delphi ms-access select dbgrid

我需要你的帮助来完成我的delphi作业。

我使用ms access数据库并使用sql显示1 dbgrid中的所有数据。我想显示相同的列,但有标准(每列50个记录) 我希望选择查询产生如下输出:

No   | Name | No    | Name |
1    | A    | 51    | AA   | 
2    | B    | 52    | BB   | 
3~50 |      | 53~100|      |

有可能吗?

1 个答案:

答案 0 :(得分:0)

如果您选择返回具有重复列名称的数据集,我可以预见到问题。要解决此问题,您必须使用as更改查询以强制使用严格唯一的列名称。例如......

select A.No as No, A.Name as Name, B.No as No2, B.Name as Name2 from TableA A
  join TableB B on B.Something = A.Something

请注意,如果您使用TDBGrid,则可以自定义列标题。在设计时右键单击网格控件并选择Columns Editor...,将出现一个Collection窗口。添加列时,将其链接到FieldName,然后为Title.Caption分配值。这还需要您设置所有列。如果您未在此处定义任何列,则会自动返回查询中的所有列。

另一方面,SQL查询可能在输出中包含重复的字段名称,具体取决于您构造查询的方式。我知道这可以在SQL Server中使用,但我对MS Access不确定。无论如何,我建议始终返回具有唯一列名的数据集,然后自定义DB Grid的列标题。毕竟,还可以连接到excel电子表格,该电子表格很可能具有相同的列名称。当您尝试从其中一个列中读取以供其他用途时,问题就会到来。