在Access查询中使用带有IIf的循环

时间:2017-01-26 23:16:20

标签: ms-access-2010

我正在尝试计算Access 2010查询中的一个字段,该字段获取卷中的数字,并使用默认URL(值为1)或循环次数与创建一系列URL的卷一样多次(它是好的,如果它们全部在一起,最后将在报告中输出文本。)

如果是1卷,http://blah.com/2/vol1。如果是2卷,http://blah.com/2/vol2,{{3}}。

我在考虑这样的事情:

=IIf([volumes]="1",[URL],for i=1 to [volumes] output [URL] & "/vol[i], " next)

但我无法弄清楚我是否需​​要卷的变量或如何分配它或如何生成输出。关于如何解决这个问题的任何建议将不胜感激。

URL                 Item    volumes
http://blah.com/1   Book1   1
http://blah.com/2   Book2   2
http://blah.com/3   Book3   10

谢谢, 沙

1 个答案:

答案 0 :(得分:0)

一个简单的循环可以:

Public Function PrintUrlVol(ByVal Url As String, ByVal Volume As Integer) As String

    Dim UrlList As String
    Dim Index   As Integer

    If Volume = 1 Then
        UrlList = Url
    ElseIf Volume > 1 Then
        For Index = 1 To Volume
            If UrlList <> "" Then
                UrlList = UrlList & ", "
            End If
            UrlList = UrlList & Url & "/vol" & CStr(Index)
        Next
    End If

    PrintUrlVol = UrlList

End Function