Hallo
ich habe eine formular mit filter VBA programiert
aber ich möchte nachdem filtern exportieren in excel datei aber exportiert alle suchfeld und checkboxen mit und das will ich nicht mit exportieren
brauche bitte hilfe
Hi,
was exportierst du denn da, etwa das Formular?!
Erstelle eine Abfrage, welche dir nur die benötigten Felder liefert, und exportiere diese.
ja habe ich eine Abfrage, welche ich nur die benötigten Felder liefert
aber exportiert alle datensätze
aber ich nur die gefiltert danten exportieren
Dann musst du auch die Abfrage filtern. Zeig doch bitte mal deinen Code dazu.
Option Compare Database
Private Sub cmdfilterlöschen_Click()
Me.K_Ab = ""
Me.K_Aktiv = ""
Me.K_Fällig = ""
Me.K_Gesperrt = ""
Me.K_Nicht_Überwacht = ""
Me.K_Still = ""
Me.K_Überwacht = ""
Me.Txt_Art = ""
Me.Txt_Ansprech = ""
Me.Txt_InvNr = ""
Me.Txt_MMVerantw = ""
Me.Txt_Serial = ""
Me.Txt_Typ = ""
Me.Txt_Verbleib = ""
Me.Kombo_NB = ""
Me.Filter = ""
Me.FilterOn = False
End Sub
Private Sub flt_Status()
Dim strKrit As String
If Nz(Me!K_Aktiv, 0) = True Then
strKrit = strKrit & " OR Instr([Status],'1') > 0"
End If
If Nz(Me!K_Fällig, 0) = True Then
strKrit = strKrit & " OR Instr([Status],'2') > 0"
End If
If Nz(Me!K_Gesperrt, 0) = True Then
strKrit = strKrit & " OR Instr([Status],'3') > 0"
End If
If Nz(Me!K_Still, 0) = True Then
strKrit = strKrit & " OR Instr([Status],'4') > 0"
End If
If Nz(Me!K_Ab, 0) = True Then
strKrit = strKrit & " OR Instr([Status],'5') > 0"
End If
If Nz(Me!K_Nicht_Überwacht, 0) = True And Nz(Me!K_Überwacht, 0) = False Then
strKrit = strKrit & " AND Instr([Überwachung],'0') > 0"
End If
If Nz(Me!K_Überwacht, 0) = True And Nz(Me!K_Nicht_Überwacht, 0) = False Then
strKrit = strKrit & " AND Instr([Überwachung],'1') > 0"
End If
If Nz(Me!K_Überwacht, 0) = True And Nz(Me!K_Nicht_Überwacht, 0) = True Then
strKrit = strKrit & " AND Instr([Überwachung],'1') > 0 OR Instr([Überwachung],'0') > 0 "
End If
If Not IsNull(Me!txt_DatVon) And Not IsNull(Me!txt_DatBis) Then
strKrit = strKrit & " AND [Kalibriert am] Between " & Format(Me!txt_DatVon, "\#yyyy\/mm\/dd\#") & " AND " & Format(Me!txt_DatBis, "\#yyyy\/mm\/dd\#")
End If
If Len(strKrit) > 0 Then
Me.Filter = Mid(strKrit, 5)
Me.FilterOn = True
Else
Me.Filter = ""
Me.FilterOn = False
End If
End Sub
Private Sub K_Überwacht_AfterUpdate()
flt_Status
Me.Requery
End Sub
Private Sub Kombo_NB_AfterUpdate()
flt_Status
Me.Requery
End Sub
Private Sub Txt_Ansprech_AfterUpdate()
flt_Status
Me.Requery
End Sub
Private Sub Txt_Art_AfterUpdate()
flt_Status
Me.Requery
End Sub
Private Sub Txt_InvNr_AfterUpdate()
flt_Status
Me.Requery
End Sub
Private Sub Txt_MMVerantw_AfterUpdate()
flt_Status
Me.Requery
End Sub
Private Sub Txt_Serial_AfterUpdate()
flt_Status
Me.Requery
End Sub
Private Sub Txt_Typ_AfterUpdate()
flt_Status
Me.Requery
End Sub
Private Sub Txt_Verbleib_AfterUpdate()
flt_Status
Me.Requery
End Sub
Private Sub K_Ab_AfterUpdate()
flt_Status
Me.Requery
End Sub
Private Sub K_Aktiv_AfterUpdate()
flt_Status
Me.Requery
End Sub
Private Sub K_Fällig_AfterUpdate()
flt_Status
Me.Requery
End Sub
Private Sub K_Gesperrt_AfterUpdate()
flt_Status
Me.Requery
End Sub
Private Sub K_Nicht_Überwacht_AfterUpdate()
flt_Status
Me.Requery
End Sub
Private Sub K_Still_AfterUpdate()
flt_Status
Me.Requery
End Sub
SELECT tbl_geräte_akt.[Inv-Nr], tbl_Geraete_NB.NB, tbl_geräte_akt.Status, tbl_geräte_akt.Überwachung, tbl_geräte_akt.Art, tbl_geräte_akt.HW, tbl_geräte_akt.[Kalibriert am], tbl_geräte_akt.[Kalibrier Interval], tbl_geräte_akt.[Ser-Nr], tbl_geräte_akt.Verbleib
FROM tbl_geräte_akt INNER JOIN tbl_Geraete_NB ON tbl_geräte_akt.ID = tbl_Geraete_NB.ID
WHERE (((tbl_geräte_akt.[Inv-Nr]) Like "*" & [Formulare]![frmGeräte_Liste]![Txt_InvNr] & "*") AND ((tbl_Geraete_NB.NB) Like "*" & [Formulare]![frmGeräte_Liste]![Kombo_NB] & "*") AND ((tbl_geräte_akt.Art) Like "*" & [Formulare]![frmGeräte_Liste]![Txt_Art] & "*") AND ((tbl_geräte_akt.HW) Like "*" & [Formulare]![frmGeräte_Liste]![Txt_Typ] & "*") AND ((tbl_geräte_akt.[Ser-Nr]) Like "*" & [Formulare]![frmGeräte_Liste]![Txt_Serial] & "*") AND ((tbl_geräte_akt.Verbleib) Like "*" & [Formulare]![frmGeräte_Liste]![Txt_Verbleib] & "*") AND ((tbl_geräte_akt.[Ansprechpartner Name]) Like "*" & [Formulare]![frmGeräte_Liste]![Txt_Ansprech] & "*") AND ((tbl_geräte_akt.[Ansprechpartner Vorname]) Like "*" & [Formulare]![frmGeräte_Liste]![Txt_Ansprech] & "*") AND ((tbl_geräte_akt.[MMV Nachname]) Like "*" & [Formulare]![frmGeräte_Liste]![Txt_MMVerantw] & "*") AND ((tbl_geräte_akt.[MMV Vorname]) Like "*" & [Formulare]![frmGeräte_Liste]![Txt_MMVerantw] & "*"));
wie filtere ich die abfrage
Ich meinte den Code für den Export - oder wie gehst du da vor?
ich mache die export durch makro mit formatierung
von typ abfrage und format excel
Das hatte ich übersehen, weil du es in den Code geschrieben hattest:
Zitatwie filtere ich die abfrage
Der Filter der Abfrage ist das WHERE-Kriterium.
Hast du immer noch diesen Mix aus Abfrage- und Formularfilter im Einsatz?
Dann stelle das doch endlich mal um auf die Lösung vom "Suchformular".
Dadurch bekommst du einen vollständigen Filterstring, den du auch zum Exportieren verwenden kannst.
Das sähe dann wie folgt aus:
Private Sub btn_Export_Click()
CurrentDB.QueryDefs("qry_Export").SQL = "Select * From deine_Abfrage WHERE " & Filterbedingung
DoCmd.TransferSpreadsheet acExport, , "qry_Export", "X:\temp\exp.xls"
End Sub
zeigt mir ein fehler
Element in dieser Auflistung nicht gefunden
Private Sub Ex_Excel_Click()
CurrentDb.QueryDefs("qry_Export").SQL = "Select * From qryGeräte_Liste WHERE * " & Filterbedingung
DoCmd.TransferSpreadsheet acExport, , "qry_Export", "C:\Users\mmaatouk\Documents\qry-exp.xlsx"
End Sub
was kann das fehler sein
Hallo,
das Sternchen nach dem "Where"....
was muss nach dem wehre schreiben
Hallo,
ein Leerzeichen ... :)
Nach dem Where kommt die "Filterbedingung", die ja durch den "&"-Operator hinter dem "Where" angehängt wird. Dabei ist zwischen dem Wort "Where" und dem anschliessenden "Filterbedingung"-String ein Leerzeichen erforderlich.
Private Sub Ex_Excel_Click()
CurrentDb.QueryDefs("qry_Export").SQL = "Select * From qryGeräte_Liste WHERE " & Filterbedingung
DoCmd.TransferSpreadsheet acExport, , "qry_Export", "C:\Users\mmaatouk\Documents\qry-exp.xlsx"
End Sub
so sieht aus die code
Hallo,
Zitat von: mmaatouk am April 25, 2015, 11:01:10Element in dieser Auflistung nicht gefunden
vermutlich gibt es in deiner Anwendung keine Abfrage namens "qry_Export".
Nein
was soll statt die qry_exports geschrieben werden und statt die Filterbedingungen
Hallo,
"qry_Export" ist der Name einer (beliebigen) zu diesem Zweck angelegten gespeicherten Abfrage.
Filterbedingung ist eine Funktion aus der mehrfach empfohlenen Beispiellösung zum "Suchformular (http://www.office-loesung.de/ftopic13271_0_0_asc.php)".
Die hast du dir dann wohl immer noch nicht angeschaut.