gpt4 book ai didi

ms-access - 使用 Dlookup 返回 Access 中的多个项目

转载 作者:行者123 更新时间:2023-12-02 23:36:33 28 4
gpt4 key购买 nike

DealID 使用组合框设置,需要在其下方的字段中显示最多 3 个 MID

Private Sub DealID_AfterUpdate()
Dim strFilter As String
strFilter = "DealID = " & Me!DealID
Me!MID = DLookup("MID", "DealContent", strFilter)
Exit_ProductID_AfterUpdate:
Exit Sub
End Sub

这就是我正在使用的代码,明显的限制是 Dlookup 只返回它找到的第一个结果。这会产生 2 个问题,但我将重点关注第一个问题,它不会显示多个 MID

那么如何才能显示 1-3 个 MID?

我的第二个问题更深入,但如果有人想提供帮助,我们将不胜感激。基本上,上面的表单是一个子表单,我需要它在表单表中为每个 Mount ID 保存一个单独的条目。

如果有人想提供帮助但不理解(就像我提交的内容中经常出现的情况),我认为 Skype 上的屏幕共享是最好的选择。

最佳答案

正如评论中所述,您不能使用 DLookup 返回多个值。

您需要将前三个 MID 选择到 Recordset 中,循环遍历它们并将它们附加到 Me!MID 中:

Dim RS As DAO.Recordset
Dim SQL As String

'ordering is only important if you want the FIRST three MIDs.
'If you don't care, just omit the "order by MID" part.
SQL = "select top 3 MID from DealContent where DealID = xxx order by MID"

Set RS = CurrentDb.OpenRecordset(SQL)
Do While Not RS.EOF
Me!MID = Me!MID & RS("mid") & " "
RS.MoveNext
Loop
RS.Close
Set RS = Nothing

请注意,此示例使用 DAO,这是较新 Access 版本中的默认(并由 MS 推荐)数据 Access 技术。旧版本默认使用 ADO。
DAO 也可以在那里工作,您只需要引用 Microsoft DAO x.x 对象库

关于ms-access - 使用 Dlookup 返回 Access 中的多个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11059589/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com