在消息框中显示数据库提取的数组

时间:2019-06-12 15:30:03

标签: sql excel vba ms-access

我需要在消息框中显示Access数据库中的一组记录,或者仅用于查看而不在工作簿中添加工作表的任何形式。

该信息分为9个字段,每个条目最多15行。我尝试了几种显示信息的方式,但是它们不起作用,或者在工作簿中添加了另一张纸。使用工作簿的环境仅用于数据和打印捕获。显然,我已经介绍了数据库连接,唯一的问题是信息的显示。

Private Sub Srch_Click()
 Dim A As Object, rs As Object, sSQL As String, CN As String, Arr As Variant, FL As Long, txt As String, i As Long
 FL = tbFolio.Value - 1
    Set A = CreateObject("ADODB.Connection")
    CN = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
        "Data Source=S:\Common\Quality\RASTREABILIDAD\MAIN PROJECT\PROYECTO KOREANO MX.accdb;"
    sSQL = "SELECT * FROM Trazabilidad WHERE Folio = " & (FL) & ";"
    A.Open CN
    Set rs = A.Execute(sSQL)
    Arr = rs.GetRows
    MsgBox Arr, vbOKOnly, Trazabilidad

    rs.Close
    A.Close
Unload Me
End Sub

在调试中,代码的突出显示部分是:

MsgBox Arr, vbOKOnly, Trazabilidad

错误消息是

  

“错误'13':类型不匹配”

我一直在想办法,我将不胜感激。 预先感谢。

1 个答案:

答案 0 :(得分:1)

@Alex K. is right说一个好的解决方案是遍历记录集。

但是您可能还会发现将数据复制到工作表,然后使用以下代码对其进行处理很有用:

mysheet.Range("A2").CopyFromRecordset rs