微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Access 中将组合框与 dlookup 结合使用

如何解决如何在 Access 中将组合框与 dlookup 结合使用

目标:表单将使用组合框中选择的项目提供正确的计量单位和每个容器的相应数量。度量单位在单独的表格中。

问题: dlookup 正在查找用户 ID 而不是项目。我认为这是因为绑定列

结构: 步骤 1) 用户从组合框 #1 中选择他/她的名字 步骤 2) 组合框 #2 将仅显示分配给用户的位置——用户选择位置。 第 3 步)组合框 #3 将只显示该位置存储的项目——用户选择项目

> take 10 $ runStreamProcessor fibsHughes (repeat ())
[0,1,2,3,5,8,13,21,34]

dlookup 代码

Code for combo Box #3
Private Sub Item_GotFocus()
Dim user_filter,location_filter As String
user_filter = Me.Count_By
location_filter = Me.Location
With Me.Item
    .RowSource = "SELECT WeeklyCountOptions.User,WeeklyCountOptions.Location,WeeklyCountOptions.Item" _
                    & " FROM WeeklyCountOptions" _
                    & " WHERE (((WeeklyCountOptions.User)='" & user_filter & "') AND ((WeeklyCountOptions.Location)='" & location_filter & "'));"
    ' by having here the property sheet is ignore
    .BoundColumn = 1
    .ColumnCount = 3
    .ColumnWidths = "0in.;0in.;1in."
End With
End Sub

我该怎么做才能解决这个问题?

解决方法

是的,组合框具有用户值。不需要在该组合中将 User 和 Location 字段包含为列。但是,如果您真的想要,请考虑以下选项:

  1. 重新排列查询中的字段,使项目成为第一列

  2. 将第三列设置为绑定列

  3. 通过索引引用第三列,索引从零开始:Me.Item.Column(2)

假设数字自动编号 ID 设置为主键并保存为外键(应该是这种情况),所有 3 个组合框都应具有包含 ID 和描述性字段的 RowSource,并使用 ID 进行过滤。

如果 WeeklyCountOptions 是一个连接表,其中只有 ID 值被保存为外键,而不是描述性信息,组合框 RowSource 可能必须是将 WeeklyCountOptions 与 ItemDetail 连接起来的 SQL,以便可以检索描述性信息。一切都取决于表结构和数据的保存方式。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。