1

I have a table that has a lot of fields and then a form that takes only a few of those fields. I have a search button on the form where you can select certain records. Is there a way in VBA to export the results from the form but include all the fields from the table.

Here is my attempt from some code that I found:

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
1122335
  • 45
  • 1
  • 11

0 Answers0