上面是表“人物”
以上是基于表“人物”的查询“计数国家”的SQL视图
以上是基于表“人物”的查询“计数国家”的数据表视图
上面是另一张名为“城市名单”的表
为什么我不能在Query“Count Country”和Table“City List”之间创建一对多的关系?
你所描述的听起来像级联(依赖)组合框。因此,如果您没有States表,则cbxCountry的RowSource可以是SELECT DISTINCT Country FROM CityList;
。然后由cbxCountry SELECT City FROM CityList WHERE Country=[cbxCountry];
过滤cbxCities的RowSource。移动到另一条记录时和/或更改cbxCountry中的选择时,您将需要代码来重新查询cbxCity。
如果您希望表单显示不同的国家/地区,则RecordSource可以是相同的DISTINCT查询。然后代码打开关联城市的表单:
DoCmd.OpenForm "Cities", , , "Country='" & Me.Country & "'"
您只能在表之间创建具有引用完整性的关系。此外,两个字段必须具有相同的数据类型,并且左侧的字段(拖动到另一侧的字段)必须是该表的主键(或者至少具有唯一的索引,不允许Null值)。
创建没有参照完整性的关系的唯一原因是告诉Access数据是如何相关的,因此当您将这两个表添加到查询时,Access将自动连接这两个表(或者就像表和查询一样)。此外,Access在处理数据表时可能会自动创建“子数据表”。
要“自动”构建跳转到城市的表单,请使用表单向导并添加查询和表格中的字段。