【问题标题】:Microsoft Access 2010 - Prevent selection of any combobox option more than onceMicrosoft Access 2010 - 防止多次选择任何组合框选项
【发布时间】:2014-12-04 22:54:08
【问题描述】:

我有一个连续表单,其中一列有组合框。我想防止在每个订单中多次选择同一商品。

该数据库基本上是一个微软网络数据库模板,我试图修改它以满足我们的要求(桌面产品库存数据库)。

我的要求是,例如,如果用户选择下面显示的 350CC 剃须刀,我希望从那时起剃须刀从可用选项列表中消失。

表格如下所示,产品列下方的组合框:

product列的rowsource如下:

表单本身的记录来源如下:

所以,如果我对 SQL 有非常基本的了解,我希望能在编写实现此目标所需的 sql 语句方面得到一些帮助。

干杯

编辑 - 12 月 9 日 -14 日

显示订单详情的图片已从表单和错误消息中清除。

【问题讨论】:

  • 你看过索引吗?
  • 嗨,不,我还没有,对此很陌生。请参阅下面关于索引的评论。谢谢

标签: sql ms-access combobox


【解决方案1】:

您需要使用订单明细表的主键和产品ID外键创建唯一索引

然后选择重复的产品时,系统将不允许将其保存到表中,并将抛出错误

但是,这在 Microsoft Access 2010 中不可用,因为后端数据存储在 SharePoint 列表中,不像 Access 2013 那样直接存储在 SQL Server 表中。

作为一种解决方法,您可以创建一个数据宏,它基本上可以做同样的事情。

数据宏的示例可以在以下红色箭头指示的屏幕截图中看到:

http://screencast.com/t/WjU5qws4Ug

【讨论】:

  • 感谢 Mark3308,我将如何在基于模板的数据库上解决这个问题?我无权访问表格设计视图。我只有表单的布局视图,表单和表格的数据表视图,我唯一可以设计的项目是查询。
  • 请看我修改后的答案
  • 感谢您的更新。如图所示,我在 orderdetails 表中输入了数据宏,它确实弹出了错误。但是,它也不允许用户删除重复的条目,我发现将其从屏幕上清除的唯一方法是重新开始整个订单。如何避免这种情况?欢呼
  • 请看我上面附上的图片,显示数据已从表格中清除(编辑 14 年 12 月 9 日)
猜你喜欢
  • 2023-03-26
  • 1970-01-01
  • 2012-07-19
  • 1970-01-01
  • 2017-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多