在 MS-Access 中,当外键不再存在时,如何在组合框中显示旧的外键?
Posted
技术标签:
【中文标题】在 MS-Access 中,当外键不再存在时,如何在组合框中显示旧的外键?【英文标题】:In MS-Access, how to display the old foreign key in a combo box when the foreign key no longer exists? 【发布时间】:2015-03-12 12:10:49 【问题描述】:我有一个包含两列的组合框。第一列是隐藏的。第二个没有隐藏。第一列是绑定列。二是显示文字。
ColumnCount = 1
ColumnWidths = 0";1"
RowSource = "a select statement"
BoundColumn = 1
例如:
SKU | Description
"teapot" | "Pretty Teapots"
"saucer" | "Excellent Saucers"
"tallcup" | "Tall Cups"
用户看到组合框中的第二列。一切正常。如果用户选择“Tall Cups”,则“tallcup”存储在基础表中。
稍后.... 故意从列表中删除值“tallcup”。我现在想要的是让用户在组合框中看到最初设置的那些记录的“tallcup”。但对于新记录,“tallcup”不是一个选项。
它当前显示的是空白。就好像什么都没有被选中一样。
我需要对format
属性做些什么吗?
以下是我在互联网上找到的一些相关链接,但对我没有多大帮助:
http://www.tutcity.com/access/display-the-corresponding-unbound-column-entry-of-a-combobox.79599.html
https://www.google.com/search?q=ms-access+2+column+show+first+combobox+missing+show+anyway&rls=com.microsoft%3Aen-us%3AIE-SearchBox&oe=&gws_rd=ssl&oq=&gs_l=
http://www.experts-exchange.com/Database/MS_Access/A_5890-Adding-the-option-all-to-a-ComboBox.html
【问题讨论】:
当您说故意删除时,您到底是什么意思?您是否不希望它作为新记录的选项,但对于旧记录您想要数据,但更改将意味着您不再有选项? 没错。我不希望它作为新记录的选项,但对于旧记录,我想要数据,但更改它们将意味着我将不再有选项。 我想到了按照 Gustav 的建议使用 Active 标志。 【参考方案1】:添加带有活动标志的第三列。为 tallcup 将其设置为 False,并添加更新前事件设置 Cancel 为 Not Active,如果是则弹出一条消息。
【讨论】:
我更喜欢与此不同的解决方案。我希望子表中不再有数据。 你不能既拥有价值又没有价值。这基本上就是您所要求的。 绑定并显示第 1 列时有效。涉及两列时无效。 我不关注...您可以绑定一个或不绑定一个列,但可以拥有(和显示)任意数量的列。以上是关于在 MS-Access 中,当外键不再存在时,如何在组合框中显示旧的外键?的主要内容,如果未能解决你的问题,请参考以下文章
Restkit:当外键引用Core Data中缺少的本地对象时获取远程链接对象
Restkit:当外键设置为 null 时,Core Data 中的关系不会重置