1

我这里有一个奇怪的,我似乎无法弄清楚。

我的 Access 前端项目在 SQL 2005 express 后端上运行。

多年来我一直在使用子表单,这是我没有将应用程序迁移到 VB/VS 前端的唯一原因。

但是,自从升级到 Access 2010 后,我无法让子表单工作。相反,当我尝试添加一行时,我收到以下错误(数据已添加到数据库中,但数据不会显示在表单中,因为它不满足基础记录源中的条件。):

在此处输入图像描述

主窗体和子窗体在 poid 和 PONo 上链接。

我已经从头开始创建了所有默认值的表单,但问题仍然存在。

我的 SQL 表是

PURCHASE: - - poid, int, PK, Identity, seed 1, inc 1 supplierID, int orderdate, DateTime deliverydate, datetime ordersent, bit ordercomplete, bit initials, nvarchar supplierinvoiceno, nvarchar branchid, int bookingin, bit deliverycharge, money

[STOCK - 详细]: - - stockid, int, PK, Identity, Seed 1, inc 1 CodeID, int service, bit costprice, money PONo, int Instock, bit SerialNo, char StockTake, bit Branch, Char ProductID, int

任何帮助将不胜感激。

非常感谢,

安倍

4

1 回答 1

0

解决了!Access 2010 不支持具有相同列名的多个表,除非它位于 SQL 服务器上的存储过程/查询中。

我一直在尝试摆脱存储过程和查询,但 A2010 不会在任何组合下使用硬编码 SQL 作为记录源。

一旦我创建了一个查询并将其选择为记录源,子表单就可以按预期完美运行。

此外,即使未在查询中选择,我也必须为两个表中具有相同名称的任何字段设置别名。是的,别名也只在查询中起作用!

我爱微软!;-)

于 2012-11-19T21:15:52.917 回答