如何使用不同的标准在 dbgrid 中显示相同的列
How to show same column in dbgrid with different criteria
我需要你的帮助来完成我的 delphi 作业。
我使用 ms access 数据库并使用 sql 在 1 个 dbgrid 中显示所有数据。我想显示相同的列但有条件(每列 50 条记录)
我希望 select 查询产生如下输出:
No | Name | No | Name |
1 | A | 51 | AA |
2 | B | 52 | BB |
3~50 | | 53~100| |
可以吗?
如果您选择 return 具有重复列名的数据集,我可以预见问题。要解决此问题,您必须使用 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
,则可以自定义列标题。 Right-click 在网格控件上 design-time 和 select Columns Editor...
和 Collection window 将出现。添加列时,link 将其赋值给 FieldName
,然后将值赋给 Title.Caption
。这还需要您设置所有列。如果您未在此处定义任何列,它会自动 return 查询中的所有列。
另一方面,SQL 查询可能在输出中包含重复的字段名称,具体取决于您构建查询的方式。我知道这在 SQL Server
中是可能的,但我不确定 MS Access
。无论如何,我建议始终 return 使用具有唯一列名的数据集,然后自定义 DB Grid 的列标题。毕竟,还可以连接到 excel 电子表格,它很可能具有相同的列名。当您尝试从这些列之一读取以供其他用途时,问题就来了。
我需要你的帮助来完成我的 delphi 作业。
我使用 ms access 数据库并使用 sql 在 1 个 dbgrid 中显示所有数据。我想显示相同的列但有条件(每列 50 条记录) 我希望 select 查询产生如下输出:
No | Name | No | Name |
1 | A | 51 | AA |
2 | B | 52 | BB |
3~50 | | 53~100| |
可以吗?
如果您选择 return 具有重复列名的数据集,我可以预见问题。要解决此问题,您必须使用 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
,则可以自定义列标题。 Right-click 在网格控件上 design-time 和 select Columns Editor...
和 Collection window 将出现。添加列时,link 将其赋值给 FieldName
,然后将值赋给 Title.Caption
。这还需要您设置所有列。如果您未在此处定义任何列,它会自动 return 查询中的所有列。
另一方面,SQL 查询可能在输出中包含重复的字段名称,具体取决于您构建查询的方式。我知道这在 SQL Server
中是可能的,但我不确定 MS Access
。无论如何,我建议始终 return 使用具有唯一列名的数据集,然后自定义 DB Grid 的列标题。毕竟,还可以连接到 excel 电子表格,它很可能具有相同的列名。当您尝试从这些列之一读取以供其他用途时,问题就来了。