Sql server outlook宏中的SQL查询

Sql server outlook宏中的SQL查询,sql-server,Sql Server,我试图从帮助台系统中提取一些信息到电子邮件的主题行中。帮助台系统基于MSSQL 我的目标是创建一个带有多列组合框的表单,分别将SQL查询结果插入多列组合框 我计划使用组合框中的选定值插入电子邮件的主题行,并进行一些文本处理。但我还没有做到这一点: 这段代码在组合框中提供查询,但是数据在两个单独的行中,我希望它们在同一行中 谁能告诉我我做错了什么 Private Sub userform_initialize() UserForm1.ComboBox1.ColumnCount = 2 On Err

我试图从帮助台系统中提取一些信息到电子邮件的主题行中。帮助台系统基于MSSQL

我的目标是创建一个带有多列组合框的表单,分别将SQL查询结果插入多列组合框

我计划使用组合框中的选定值插入电子邮件的主题行,并进行一些文本处理。但我还没有做到这一点:

这段代码在组合框中提供查询,但是数据在两个单独的行中,我希望它们在同一行中

谁能告诉我我做错了什么

Private Sub userform_initialize()
UserForm1.ComboBox1.ColumnCount = 2
On Error GoTo UserForm_Initialize_Err
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
cnn.Open "Provider=SQLOLEDB;Data Source=sqlserver;" & _
              "Initial Catalog=databasename;" & _
              "Integrated Security=SSPI;"
rst.Open "Select field1, field2 from table", _
         cnn, adOpenStatic
rst.MoveFirst

With UserForm1.ComboBox1
    .Clear
    Do
       .AddItem rst.Fields(0)
        .AddItem rst.Fields(1)
        rst.MoveNext
    Loop Until rst.EOF
End With
UserForm_Initialize_Exit:
On Error Resume Next
rst.Close
cnn.Close
Set rst = Nothing
Set cnn = Nothing
Exit Sub
UserForm_Initialize_Err:
MsgBox Err.Number & vbCrLf & Err.Description, vbCritical, "Error!"
Resume UserForm_Initialize_Exit

您将两次向组合框中添加一个项,每个字段一个,因此当然会得到单独的行。如果首先将结果放入二维数组arrrowcount,1,然后将combobox的items属性设置为数组它应该有两列您可能仍然需要设置combobox的属性以显示两列,尽管

在select语句中尝试此操作-从表中选择field1+“”+field2我不擅长outlook宏,但我认为这应该可以工作…如果这可以工作,让我知道,我会在这个评论上做一些扩展并给出答案。Dorry对于这里工作的延迟是修改后的代码Do combinedlist0=rst.Fields0 combinedlist1=rst.Fields1 rst.MoveNext With UserForm1.ComboBox1.ColumnCount=2.AddItem[[WO&combinedlist0&]&-&combinedlist1以循环结束,直到rst.EOF