【问题标题】:Create a dropdown box that contains numbers equal to or less than a number in another field创建一个下拉框,其中包含的数字等于或小于另一个字段中的数字
【发布时间】:2017-06-24 12:14:40
【问题描述】:

我正在 Access 2013 中为一个拥有多本不同书籍的图书馆创建一个数据库。我想创建一个组合框/查找列表,该列表显示的数字等于或小于该书的可用副本总数,以便图书发行时,图书管理员可以在下拉菜单中选择下一个最小值。 (可用份数减一)。购买的副本数量可能会随着图书馆购买更多更受欢迎书籍的副本而改变,因此下拉框需要动态更新。我该怎么做呢?我需要重新建立关系吗?

【问题讨论】:

  • 这听起来像是冗余数据。我假设您还会为贷款(问题)创建记录?然后可以计算可用书籍的数量。
  • 我确实有一个记录已发行书籍的表,但是我没有返回的表,所以除非我添加了一个计算字段来计算返回日期小于今天的特定书籍的记录数,并且假设所有书籍都按时归还,我认为我做不到。我说的对吗?
  • 我会将“isReturned”作为“已发行书籍”表中的布尔字段。然后,如果有人退回一本书,而不是增加一个下拉框,将问题标记为已退回。

标签: database ms-access dynamic drop-down-menu


【解决方案1】:

你先将Combobox的RowSourceType Property设置为“Value List”,确定combobox列表是手动管理的。然后使用 Combobox 的 AddItem method 方法添加项目,并使用 RemoveItem Method 删除项目。 This is你如何删除所有项目:

For i = 1 To ListBox1.ListCount
   'Remove an item from the ListBox.
   ListBox1.RemoveItem 0
Next i

删除所有当前项后,计算有多少Available Copies,并循环添加到列表中:

For i = 1 To AvailableCopies    
    'Add an item from the ListBox.
    ListBox1.AddItem i   
Next i

为每个显示的书籍记录运行此代码,可能在表单的 OnCurrent 事件上。

【讨论】:

  • 谢谢 Marlan,你很好地回答了我最初的问题,但是 Andre 指出我实际上并不需要下拉列表。
  • @word4q,我没有像安德烈那样阅读这个问题......在我看来,你似乎想让用户借一本书的多个副本......我会阅读更多下次小心点,尽我所能提供更好的帮助;)。
猜你喜欢
  • 2022-10-15
  • 1970-01-01
  • 1970-01-01
  • 2011-12-18
  • 2020-10-31
  • 1970-01-01
  • 2021-04-30
  • 2020-07-06
  • 1970-01-01
相关资源
最近更新 更多