Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: mmaatouk am April 24, 2015, 13:40:44

Titel: exportieren
Beitrag von: mmaatouk am April 24, 2015, 13:40:44
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
Titel: Re: exportieren
Beitrag von: MaggieMay am April 24, 2015, 14:19:01
Hi,

was exportierst du denn da, etwa das Formular?!

Erstelle eine Abfrage, welche dir nur die benötigten Felder liefert, und exportiere diese.
Titel: Re: exportieren
Beitrag von: mmaatouk am April 24, 2015, 14:32:44
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
Titel: Re: exportieren
Beitrag von: MaggieMay am April 24, 2015, 14:43:28
Dann musst du auch die Abfrage filtern. Zeig doch bitte mal deinen Code dazu.
Titel: Re: exportieren
Beitrag von: mmaatouk am April 24, 2015, 14:56:24
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
Titel: Re: exportieren
Beitrag von: MaggieMay am April 24, 2015, 15:09:43
Ich meinte den Code für den Export - oder wie gehst du da vor?
Titel: Re: exportieren
Beitrag von: mmaatouk am April 24, 2015, 15:14:59
ich mache die export durch makro mit formatierung
von typ abfrage und format excel
Titel: Re: exportieren
Beitrag von: MaggieMay am April 24, 2015, 15:40:15
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
Titel: Re: exportieren
Beitrag von: mmaatouk am April 25, 2015, 11:01:10
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
Titel: Re: exportieren
Beitrag von: DF6GL am April 25, 2015, 12:43:07
Hallo,

das Sternchen nach dem "Where"....
Titel: Re: exportieren
Beitrag von: mmaatouk am April 25, 2015, 13:08:45
was muss nach dem wehre schreiben
Titel: Re: exportieren
Beitrag von: DF6GL am April 25, 2015, 13:16:09
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.
Titel: Re: exportieren
Beitrag von: mmaatouk am April 25, 2015, 13:44:12
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
Titel: Re: exportieren
Beitrag von: MaggieMay am April 26, 2015, 20:17:08
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".
Titel: Re: exportieren
Beitrag von: mmaatouk am April 27, 2015, 17:08:53
Nein
was soll statt die qry_exports geschrieben werden und statt die Filterbedingungen
Titel: Re: exportieren
Beitrag von: MaggieMay am April 27, 2015, 21:40:29
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.