Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

exportieren

Begonnen von mmaatouk, April 24, 2015, 13:40:44

⏪ vorheriges - nächstes ⏩

mmaatouk

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

MaggieMay

Hi,

was exportierst du denn da, etwa das Formular?!

Erstelle eine Abfrage, welche dir nur die benötigten Felder liefert, und exportiere diese.
Freundliche Grüße
MaggieMay

mmaatouk

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

MaggieMay

Dann musst du auch die Abfrage filtern. Zeig doch bitte mal deinen Code dazu.
Freundliche Grüße
MaggieMay

mmaatouk

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

MaggieMay

Ich meinte den Code für den Export - oder wie gehst du da vor?
Freundliche Grüße
MaggieMay

mmaatouk

ich mache die export durch makro mit formatierung
von typ abfrage und format excel

MaggieMay

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
Freundliche Grüße
MaggieMay

mmaatouk

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

DF6GL

Hallo,

das Sternchen nach dem "Where"....
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

mmaatouk

was muss nach dem wehre schreiben

DF6GL

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.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

mmaatouk

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

MaggieMay

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".
Freundliche Grüße
MaggieMay

mmaatouk

Nein
was soll statt die qry_exports geschrieben werden und statt die Filterbedingungen