用于从access表中检索特定信息的Excel SQL命令

用于从access表中检索特定信息的Excel SQL命令,excel,ms-access,vba,Excel,Ms Access,Vba,使用sql命令将数据从Microsoft Access导入Excel时出现问题。我使用“ADODB”将Excel与Access连接起来。 我在Access中有几个表。当我在TrackNo上输入时,我想获得ClientDesc和ProductDesc,并使用命令按钮来运行命令。我尝试使用内部联接(不完整,没有ProductTB),但我只得到第一行信息 那么,我如何获得所有相应/必需的信息(ClientDesc和ProductDesc) 下面是我当前的Excel模块代码 Option Explici

使用sql命令将数据从Microsoft Access导入Excel时出现问题。我使用“ADODB”将Excel与Access连接起来。 我在Access中有几个表。当我在TrackNo上输入时,我想获得ClientDesc和ProductDesc,并使用命令按钮来运行命令。我尝试使用内部联接(不完整,没有ProductTB),但我只得到第一行信息

那么,我如何获得所有相应/必需的信息(ClientDesc和ProductDesc)

下面是我当前的Excel模块代码

Option Explicit
Public Const DBLink As String = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=C:\Users\User\Desktop\Mother File.accdb;"

Public Sub SearchTrack(asd As String)

Dim CN As ADODB.Connection
Dim Rs As ADODB.Recordset    
Set Rs = New ADODB.Recordset   

Set CN = New ADODB.Connection
CN.Open DBLink

 Set Rs = CN.Execute("select MotherTb.Customer, ClientTb.ClientDesc from MotherTb inner join ClientTb on Mother.Customer = ClientTb.ClientID")

 If Not Rs.EOF Then
    Cells(2, 2) = Rs("ClientDesc")
Else
    MsgBox "Record not found"
End If

Set Rs = Nothing

End Sub

只需在记录集中循环:

i = 2
Do While Not Rs.EOF 
    Cells(i, 2) = Rs("Customer")
    Cells(i, 3) = Rs("ClientDesc")

    i = i + 1
    Rs.MoveNext
Loop
或者,如果内存允许,使用Excel方法:


在循环之前,我必须在记录集中使用.MoveLast后跟.MoveFirst来引入多行。

很抱歉,我仍然无法让它工作。目的是根据MotherTb中的值从其他表中获取相关描述。对不起,我是vba新手。这是SQL查询问题,不是vba。请编辑您的帖子,以显示相关的表和字段,以便在记录集调用中生成查询语句。对于由此造成的混乱,我们深表歉意,帖子已编辑,随附示例。
Cells(2,2).CopyFromRecordset Rs