如何使用不同的标准在 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 电子表格,它很可能具有相同的列名。当您尝试从这些列之一读取以供其他用途时,问题就来了。