sql - 在条件内连接语句上返回多个值 (VBA/SQL)

标签 sql excel ms-access vba

我对 VBA/SQL 很陌生,我正在尝试执行条件内部联接。

我有两个表,它们有一个共同的列(“CRM”和“CodeCRM”),当表1(“Flux”)中的某些内容被触发(CodeBlocage = 101)时,我想从表2(“Desks”)获取电子邮件地址") 以便将其添加到自动 Outlook 电子邮件中。

Dim StrDestinataire As String
Select Case Strtable
   Case "Flux", "GAFIJOUR"

    Dim cn As ADODB.Connection
    Dim rs As ADODB.Recordset
    Dim Y As String
    Dim sSql As String

    Set cn = CurrentProject.Connection


    sSql = "Select AddMailCRM from Desks Inner Join Flux on Desks.CODECRM = Flux.CRM WHERE Flux.CODEBLOCAGE = '101'"

    Set rs = cn.Execute(sSql)

    If Not rs.BOF And Not rs.EOF Then
        Y = rs.Fields("AddMailCRM").Value
    End If


    StrDestinataire =  Y

    cn.Close

一切都很好,只是它应该返回多个电子邮件地址值。有线索吗?

谢谢

最佳答案

读取记录集时,您必须逐行循环记录。使用当前代码,您只需查看第一行。

尝试这样的事情:

Dim results as New List(Of String)

While Not rs.EOF
    results.Add(rs.Fields("AddMailCRM").Value)
    rs.MoveNext()
End While

results = results.Distinct().ToList

结果变量将是唯一值的列表

关于sql - 在条件内连接语句上返回多个值 (VBA/SQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43200405/

相关文章:

sql - 如何使用 SQL 将具有不同选择条件的多列插入到另一个表中

sql - 在 OSX 上导入 PostgreSQL 转储

.net - 为什么在我使用线程池获得 .Net 应用程序的渲染层后,来自 Excel 的 DDE 调用会挂起?

c++ - 使用系统函数打开 excel 表

sql - 选择Access中没有数据的列的名称?

sql - 如何在 MS ACCESS 中使用与 Oracle Rownum 相同的功能

vba - 尝试使用 VBA 在 Access 中打开记录集时出现 "Too few parameters error"

sql 'like'对mongodb中数字的操作

sql - 将一列复制到另一列中以获取SQL Server数据库中超过十亿行的数据

java - 实现Excel的小计功能