【问题标题】:How to add a string right before the last record如何在最后一条记录之前添加一个字符串
【发布时间】:2015-07-10 05:53:49
【问题描述】:

我有以下代码。从技术上讲,我正在做的是获取名称列表。所以我想像这样显示它们:

玛丽亚、约翰和迈克尔,

但是,下面的代码会产生这样的结果:

玛丽亚、约翰、迈克尔,

我需要在最后一条记录之前插入单词“and”。请帮忙。我卡住了。

SQL = "Select firstname from Distributionlist where program1 = " & Me.Program & " order by firstname"
Set RS = CurrentDb.OpenRecordset(SQL)
Do While Not RS.EOF
f1 = f1 & RS("firstname") & ","
RS.MoveNext
Loop
RS.Close
Set RS = Nothing
msgbox(f1)

【问题讨论】:

    标签: sql ms-access select vba


    【解决方案1】:

    有很多方法可以做到这一点。一种简单的方法是检查第一条和最后一条记录。

    类似:

    Dim I as long
    i = 1
    Do While Not RS.EOF
        if (i <=1) then 
            f1 = nz(rs("firstname"),"")
        elseif i = rs.recordcount then
            f1 = f1 & " and " & RS("firstname")
        else
            f1 = f1 & ", " & RS("firstname")
        end if
        RS.MoveNext
    Loop
    

    【讨论】:

    • 您好,首先。非常感谢您的支持和帮助。但是,运行代码后,它只显示最后一条记录。它不显示任何其他内容。其他想法或建议将不胜感激。谢谢。
    • 我收回之前的评论。效果很好。我想补充一点,我必须在 RS.MoveNext 和 Loop 线之间添加“I = I + 1”。因此,I 值不断增加。除此之外。效果很好。太感谢了。你是最棒的。
    猜你喜欢
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2017-02-16
    • 2020-12-21
    • 1970-01-01
    • 1970-01-01
    • 2019-06-13
    • 1970-01-01
    相关资源
    最近更新 更多