Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Sicherheitshinweis ---> für registrierte Mitglieder <-
Kontrollkästchen wählt Spalten aus Abfrage aus
Gehe zu Seite Zurück  1, 2
zurück: SQL Abfrage liefert Fehler weiter: leerer Datensatz zu erst, alte Datensätze abrufbar Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Gast_Andrea
Gast


Verfasst am:
12. Jul 2011, 10:20
Rufname:

AW: Kontrollkästchen wählt Spalten aus Abfrage aus - AW: Kontrollkästchen wählt Spalten aus Abfrage aus

Nach oben
       Version: Office 2003

Guten Morgen!

Super, auch der Code von dir Steffen0815 funktioniert, vielen Dank!
Zwei Fragen hab ich da dann aber doch noch:

1. kann man den Export noch erweitern, sodass die Spaltennamen mit exportiert werden?

2. kann man den Code auch verwenden, um das Ergebnis direkt in Access zu öffnen?

Ich würde gerne zwei Buttons haben, der eine für einen Export und der andere, um in Access das Abfrageergebnis anzuzeigen.

Danke nochmal.
steffen0815
VBA-Programmierer


Verfasst am:
12. Jul 2011, 10:33
Rufname:


AW: Kontrollkästchen wählt Spalten aus Abfrage aus - AW: Kontrollkästchen wählt Spalten aus Abfrage aus

Nach oben
       Version: Office 2003

Hallo,
zu1)
Hier mal eine erweiterte Prozedur, welche die Beschriftung der Checkboxen als Spaltenname in Excel verwendet. Somit ist der Spaltenname in Excel (Beschriftung Checkbox) unabhängig vom Spaltennamen der Accessabfrage (Tag-Eigenschaft der Checkbox.
Außerdem führt der Code noch eine Formatierung der Exceldatei durch.
Code:
Private Sub BefExport_Click()
Const ExportAbfrage = "NameDeinerAbfrage"
Dim chk As Control, Felder As String, sSQL As String, Header As String
For Each chk In Me.Controls
If TypeOf chk Is CheckBox Then
    If chk = True Then
        Felder = Felder & "," & "[" & chk.Tag & "]"
        If chk.Controls.Count = 1 Then
            Felder = Felder & " as [" & chk.Controls(0).Caption & "]"
        End If
    End If
End If
Next
If Left(Felder, 1) = "," Then Felder = Mid(Felder, 2)
If Felder = "" Then
    MsgBox "Nix zu tun"
    Exit Sub
End If
sSQL = "select " & Felder & " from " & ExportAbfrage
MsgBox sSQL
sqlExport2Excel sSQL
End Sub

Sub sqlExport2Excel(sSQL As String)
Const xlRangeAutoFormatSimple = -4154

' VBA-Verweis auf Microsoft DAO x.x
Dim xlApp As Object, xlWB As Object, xlSh As Object
Dim rs As DAO.Recordset, i As Integer
Set rs = CurrentDb.OpenRecordset(sSQL)
Set xlApp = CreateObject("Excel.application")
    xlApp.Visible = True
Set xlWB = xlApp.workbooks.Add
Set xlSh = xlWB.sheets(1)
With xlSh
    For i = 0 To rs.Fields.Count - 1
        .cells(1, i + 1) = rs(i).Name
    Next
    .cells(2, 1).copyfromrecordset rs
    .UsedRange.AutoFormat Format:=xlRangeAutoFormatSimple, _
                                 Number:=True, Font:=True, Alignment:=True, _
                                 Border:=True, Pattern:=True, Width:=True

End With
End Sub


zu2)
Verstehe ich nicht so recht. Außerdem sollte ein Accessnutzer nie eine Abfrage "vorgesetzt" bekommen.
Hier wäre eher ein Formular, in welcher bestimmte Spalten ausgeblendet werden, hilfreich.
Ich ich vermute da sind wir bei deinem eigentlichen Thema, bevor es von "Gast RDH" "missbraucht wurde.

_________________
Gruß Steffen
Gast_Andrea
Gast


Verfasst am:
12. Jul 2011, 11:49
Rufname:

AW: Kontrollkästchen wählt Spalten aus Abfrage aus - AW: Kontrollkästchen wählt Spalten aus Abfrage aus

Nach oben
       Version: Office 2003

Hallo Steffen,

zu 1.) erfüllt fast meine Wünsche. Ich habe insgesamt 19 Spalten und würde gerne ein paar zusammenfassen und wenn man das Häkchen setzt, sollen z.B. 3 Spalten erscheinen. Nur klappt das dann nicht mit dem Vorgehen, dass der Spaltennamen = Beschriftungsname des Kästchens ist. Also besser für mich wäre, wenn der Beschriftungsname des Feldes in der Tabelle genommen werden würde.
Bisher hat es schon funktioniert, dass ich mehrere Spalten zusammenfassen konnte. Also sprich bei der Marke eines Kontrollkästchens habe ich einfach
Code:
Tabelle.Feld1, Tabelle.Feld2, Tabelle.Feld3
eingetragen. Und diese wurden mit dann auch in Excel angezeigt, nur eben ohne Spaltenname.

zu 2.) Die Datenbank soll immer erweitert werden. Man ruft sich bestimmte Datensätze auf und soll Felder befüllen können, wenn man weitere Informationen gesammelt hat. Deshalb möchte ich mir die Abfrage auch in Access anzeigen lassen. Aber ich kann es auch so lassen wie bisher: Wenn man etwas hinzufügen möchte, kommen alle Spalten und nur wenn man bestimmte Datensätze exportieren will, kann man auswählen welche Spalten exportiert werden sollen. Das wäre völlig in Ordnung für meine Zwecke.

Viele Grüße,
Andrea
steffen0815
VBA-Programmierer


Verfasst am:
12. Jul 2011, 11:56
Rufname:

AW: Kontrollkästchen wählt Spalten aus Abfrage aus - AW: Kontrollkästchen wählt Spalten aus Abfrage aus

Nach oben
       Version: Office 2003

Hallo,
zu1)
Dann lass die Aliasdaten weg:
Code:
    If chk = True Then
        Felder = Felder & "," & "[" & chk.Tag & "]"
        'If chk.Controls.Count = 1 Then
        '    Felder = Felder & " as [" & chk.Controls(0).Caption & "]"
        'End If
    End If


zu2)
Verstehe ich nicht und nur als "Warnung":
Wenn die "Entwicklung" so aussieht, dass regelmäßig Spalten angefügt werden, dann ist das die falsche Datenstruktur!

_________________
Gruß Steffen
Gast_Andrea
Gast


Verfasst am:
12. Jul 2011, 13:43
Rufname:


AW: Kontrollkästchen wählt Spalten aus Abfrage aus - AW: Kontrollkästchen wählt Spalten aus Abfrage aus

Nach oben
       Version: Office 2003

Hallo,

zu 1.) passt Smile Danke

zu 2.) Es werden keine Spalten hinzugefügt, sondern nur Daten in leere Felder eingetragen oder Datensätze hinzugefügt. Die DB Struktur bleibt fix.
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite Zurück  1, 2
Diese Seite Freunden empfehlen

Seite 2 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: [DANKE-ERLEDIGT] Join in einer Abfrage 2 Gast 803 01. März 2004, 08:36
ppc [DANKE-ERLEDIGT] Join in einer Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Wie kann ich mehr als 255Felder in eine Abfrage legen? 1 D.R. 2235 12. Feb 2004, 09:05
faßnacht(IT); Wie kann ich mehr als 255Felder in eine Abfrage legen?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage verlinken 4 dfo 1326 10. Feb 2004, 22:17
Willi Wipp Abfrage verlinken
Keine neuen Beiträge Access Tabellen & Abfragen: Suche Hilfe zu SQL (DAO 351 MS) - Abfrage 3 Berny_H 1005 04. Feb 2004, 11:41
borstel Suche Hilfe zu SQL (DAO 351 MS) - Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage, die sich auf 2 Abfragen + 1 Tabelle bezieht 1 caro456 1832 27. Jan 2004, 20:03
Willi Wipp Abfrage, die sich auf 2 Abfragen + 1 Tabelle bezieht
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage von Datensätzen ohne Inhalt 3 sebwa 2053 23. Jan 2004, 23:19
Gast Abfrage von Datensätzen ohne Inhalt
Keine neuen Beiträge Access Tabellen & Abfragen: Access abfrage nach 2 parametern 1 Weedy 3466 13. Jan 2004, 00:21
reke Access abfrage nach 2 parametern
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage, ob eine Abfrage ein Ergebnis hat 3 Esdo 3934 09. Dez 2003, 15:53
Fedaykin Abfrage, ob eine Abfrage ein Ergebnis hat
Keine neuen Beiträge Access Tabellen & Abfragen: Access 97 Abfrage Duplikate 9 gast 2419 02. Dez 2003, 14:39
Kay Access 97 Abfrage Duplikate
Keine neuen Beiträge Access Tabellen & Abfragen: SQL Abfrage mit VBA 3 daMike 1729 26. Nov 2003, 17:58
daMike SQL Abfrage mit VBA
Keine neuen Beiträge Access Tabellen & Abfragen: Mehrere Datenfelder(Spalten) zu einem Datenfeld zusammenfass 2 werner 1400 20. Nov 2003, 16:18
werner Mehrere Datenfelder(Spalten) zu einem Datenfeld zusammenfass
Keine neuen Beiträge Access Tabellen & Abfragen: WENN Formel in einer Abfrage in ACCESS (erledigt) 2 Roger Büttler 9608 19. Nov 2003, 23:20
Roger Büttler WENN Formel in einer Abfrage in ACCESS (erledigt)
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Excel Tipps