MS Access vba使用where条件将表格结果导出到excel

MS Access vba使用where条件将表格结果导出到excel,vba,excel,ms-access,Vba,Excel,Ms Access,我有一个有很多字段的表,然后是一个只接受其中几个字段的表单。我在表单上有一个搜索按钮,您可以在其中选择某些记录。VBA中是否有一种方法可以从表单导出结果,但包括表中的所有字段 以下是我从一些代码中找到的尝试: Private Sub Command49_Click() Dim strWhere As String Dim strFile As String Const strcStub = "SELECT * FROM tblMaster " & vbCrL

我有一个有很多字段的表,然后是一个只接受其中几个字段的表单。我在表单上有一个搜索按钮,您可以在其中选择某些记录。VBA中是否有一种方法可以从表单导出结果,但包括表中的所有字段

以下是我从一些代码中找到的尝试:

Private Sub Command49_Click()
     Dim strWhere As String
     Dim strFile As String
     Const strcStub = "SELECT * FROM tblMaster " & vbCrLf
     Const strcTail = "ORDER BY ID;"
     Const strcExportQuery = "Query1"    'Name of the query for exports.

'Keyword
If Nz(Me.tKW, "") <> "" Then
    strWhere = strWhere & "[iavmtitle] Like '*" & Replace(Me.tKW, " '", "''") & "*' AND "
End If

'Release Date From
If Nz(Me.tRF, "") <> "" Then
   strWhere = strWhere & "[releaseDate] between " & "#" & Me.tRF & "# AND #" & Me.tRT & "#" & " AND "
End If

'Expliots
If Nz(Me.cmbExploits, "") <> "" Then
    strWhere = strWhere & "[knownExploits] = '" & Me.cmbExploits & "' AND "
End If

'Incidents
If Nz(Me.cmdIncidents, "") <> "" Then
    strWhere = strWhere & "[knownDodIncidents] = '" & Me.cmdIncidents & "' AND "
End If

'Release Date From
If Nz(Me.txtSaveSend, "") <> "" Then
   strWhere = strWhere & "[lastSaved] > " & "#" & Me.txtSaveSend & "#" & " AND "
End If

If strWhere <> "" Then
    strWhere = Left(strWhere, Len(strWhere) - 5) 'Remove the extra AND
    Me.Filter = strWhere
    Me.FilterOn = True
Else
    Me.Filter = ""
    Me.FilterOn = False
End If
     If Me.FilterOn Then
         strWhere = "WHERE " & Me.Filter & vbCrLf
     End If
     CurrentDb.QueryDefs(strcExportQuery).SQL = strcStub & strWhere & strcTail

     strFile = "C:\Data\MyExport.xls"
     DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, _
         strcExportQuery, strFile
End Sub

那代码怎么了?@Parfait我错了,我想我把它添加到了标题中。我现在就修复它。@1122335这让我很惊讶,因为strcStub=SELECT*FROM tblMaster…@A.S.H好吧,我做了一些修补,现在它只导出一个空白的excel表。但它现在拥有了所有的领域。谢谢大家!弄明白了,这与表单中的数据类型和表格中的数据类型有关。代码怎么了?@Parfait我错了,我想我在标题中添加了它。我现在就修复它。@1122335这让我很惊讶,因为strcStub=SELECT*FROM tblMaster…@A.S.H好吧,我做了一些修补,现在它只导出一个空白的excel表。但它现在拥有了所有的领域。谢谢大家!弄明白了,它与表单中的数据类型和表中的数据类型有关