MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 13.03.2019, 15:09   #1
nenawien
Neuer Benutzer
Neuer Benutzer
Weinen Acc2016 - Datenblattansicht mit Button & Filtermöglichkeit (Access 2019)

Hallo zusammen,

ich arbeite mit Office 365/Access 2019 (soweit ich weiß) - kann ich unter Präfix leider nicht auswählen.

Ausgangssituation: eine bestehende DB mit Datenherkunft einer SQL-Datenbank.

Ziel: eine Tabelle als Datenblatt darstellen zum einfachen Filtern (alle verfügbaren Spalten) & Button für Berichtserstellung ("nimm aktuellen Filter aus Tabellenblatt"). Da die Kollegen nicht mit der Menüleiste arbeiten (standardmässig ausgeblendet), müssen alle Befehle heraußen verfügbar sein.

Und diese Kombination ist auch mein Problem: Tabelle mit allen Spalten filterbar, Button zur Berichtserstellung unter Berücksichtigung des aktuellen Filters

Was ich versucht habe:
Datenblatt: da kann ich keine Buttons einfügen
Datenblatt als geteiltes Formular: funktioniert grundsätzlich (siehe angehängte Beispiel-DB); aber hier hängt Access ständig "Berechnung läuft..." und ich hab keine Ahnung, was es dabei macht. Mehrmals Filter setzen, Bericht erstellen und danach neuen Filter setzen ist so gut wie unmöglich.
Haupt-/Unterformular: In diesem Fall benötige ich das Hauptformular ja nur um den Button einzufügen; dh ich habe keine Verknüpfung zw Hpt- und Unterformular => Berichtsbutton mit "nimm den Filter der im Unterformular gesetzt ist" funktioniert nicht; er bringt alle Daten.
Endlosformular: hier bin ich leider daran gescheitert, daß die Überschriften keinen Filter zur Verfügung stellen und diese als Steuerelemente hinzuzufügen, hab ich versucht. Ein neues Kombinationsfeld das sich die verfügbaren Werte aus der Ursprungstabelle holt - hat leider auch nicht funktioniert, beim Filtern passiert gar nix.

Bei meiner Suche bin ich im Forum über einige dieser Diskussionen gestossen, aber ich versteh kein Wort von den ganzen VBA Codes und somit konnte ich den Ergebnissen/Lösungen leider nicht mehr folgen.

Meine Frage daher an die Wissenden hier: es kann doch nicht sein, dass das nicht geht in Access? Stell ich mich zu blöd an? Oder hab ich einen Denkfehler?
Wie kann man das umsetzen ohne komplizierte Berechnungen die im Hintergrund blockieren und trotzdem die 3 Funktionen hat? Hat vielleicht jemand Ideen dazu?

Leider kann ich den Datenbankauszug nicht anhängen - Habe nur 7zip und sowohl diese Endung als auch accdb werden als Dateianhang leider nicht zugelassen :-(

Kann mir vielleicht trotzdem jemand weiterhelfen, bitte?!?

Lg und auf jedenfall Danke im Voraus
Nena
nenawien ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.03.2019, 15:36   #2
maikek
MOF Guru
MOF Guru
Standard

Moin,
wie hast du denn dies hier

Zitat:

Haupt-/Unterformular: In diesem Fall benötige ich das Hauptformular ja nur um den Button einzufügen; dh ich habe keine Verknüpfung zw Hpt- und Unterformular => Berichtsbutton mit "nimm den Filter der im Unterformular gesetzt ist" funktioniert nicht; er bringt alle Daten.

versucht umzusetzen?
Kannst du den (nicht funktionierenden) Code posten?
maike

__________________

Bitte dein Thema auf erledigt setzen, wenn's durch ist!
MOF Access Stammtisch in Bremen
maikek ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.03.2019, 17:56   #3
nenawien
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Ups

Hallo maikek,

Diesen code habe ich im Forum bereits gefunden und verwendet (Ereignisprozesdur des buttons):
Private Sub Bericht_Click()
DoCmd.OpenReport "Wartungsbericht", acViewReport, , Me.Filter
End Sub

Über makro hab ich es auch versucht, aber bei der FIltereingabe wusste ich wieder nicht, wie ich ihm den Verweis über das Hauptformular zum Unterformular gebe.

Hast du das gemeint?

Ich hab mir das jetzt auch nochmal im Detail angesehen: es scheint ich hab 2 "Probleme":
1. aus irgendeinem Grund hat der Bericht immer wieder als Filter folgende Zeile drin: (dbo_PrjViewMnt.akt In ("JA") Or dbo_PrjViewMnt.akt Is Null)
(dbo_PrjViewMnt = Tabelle, [akt]=das Feld aktuell. auch wenn ich das rauslösche, kommt es sofort wieder => dieser Filter wird derzeit IMMER beim Aufruf des Formulars verwendet (und nur der) -> wie bekomm ich den wieder weg?

2. Wenn Punkt 1 behoben ist, hab ich wieder alle Datensätze drin, unabhängig vom Filter den ich im Unterformular eingebe => dh wie sag ich dem Bericht, dass er sich den Filter aus dem Unterformular holt?

Ich konnte winzip runterladen und versuch jetzt nochmal die datei hochzuladen; bin mir nicht sicher, ob ich verständlich beschreibe was ich meine.

Falls du mehr Infos brauchst, sag bitte Bescheid.

Vielen Dank!!
Lg Nena
Angehängte Dateien
Dateityp: zip testdb.zip (168,5 KB, 5x aufgerufen)
nenawien ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 13.03.2019, 20:04   #4
elmar
MOF Guru
MOF Guru
Standard

Zitat:

1. aus irgendeinem Grund hat der Bericht immer wieder als Filter folgende Zeile drin: (dbo_PrjViewMnt.akt In ("JA") Or dbo_PrjViewMnt.akt Is Null)

Ist ja auch kein Wunder, denn mit diesem Code (Bericht A 4)
Code:

Private Sub Bericht_A4_Click()
    DoCmd.OpenReport "Wartungsbericht_A4", acViewReport, , Me.Filter
End Sub
machst Du ja auch nichts anderes!
Du hast den Filter zur Filter-Eigenschaft des Formulares gespeichert und mit
Code:

Me.Filter
greifst Dui darauf zu und übergibst den Filter an den Bericht.
Entferne den Eintrag zur Filter-Eigenschaft aus dem Formular und speicher die Änderungen.
Nimm den Filter aus dem Code, setze die Eigenschaften des Berichtes Filter zulassen auf Nein, ebenso ein Nein bei der Eigenschaft "Beim Laden filtern" - und schon ist Ruhe. Den Bericht öffnest Du in der Seitenvorschau ohne Filter mit
Code:

DoCmd.OpenReport "Wartungsbericht_A4", acViewPreview
Wird eine Filterung mal gewünscht, dann gebe den Filter beim öffnen mit, vergess aber nicht, vorher das "Filterverbot" des Berichtes wieder aufzuheben.

Zitat:

dh wie sag ich dem Bericht, dass er sich den Filter aus dem Unterformular holt?

Geben den Unterformular-Steuerelementen in einem Hauptformular sinnvolle Namen - dann wird es leichter, sich in den Forms zurechtzufinden.
(Untergeordnet0 ist nicht gerade einfallsreich und wenig sinnvoll)
Angehängte Dateien
Dateityp: zip edit_DB_Nena.zip (195,4 KB, 4x aufgerufen)

__________________

WIN 10 Enterprise 64, ACCESS 2019 Wissenswertes: ACCESS-FAQ
Hilfreiche Antworten kann es nur bei verständlichen Fragen geben! Anleitung dazu: Hier klicken | Auch hilfreich: Einführung in die Datenbank Microsoft Access. | Die Nachteile von Nachschlagefeldern

Geändert von elmar (13.03.2019 um 20:49 Uhr). Grund: Geänderte Datenbank als Anlage
elmar ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.03.2019, 16:14   #5
nenawien
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Weiter

Liebe/r Elmar,
vielen lieben Dank für die prompte Antwort und auch die netten Hinweise!

Ich habe verstanden, daß das Me.Filter anscheinend bewirkt, den eingegebenen Filter fix abzuspeichern - war natürlich nicht das was ich wollte, habe ich lt deiner Info entfernt => Bericht zeigt wieder alle Daten

Auch die Filtereigenschaften waren mir so nicht bewusst => auch verstanden und auch Danke!

Nur das mit dem gewollten Filter hab ich jetzt leider noch nicht so ganz:
Ich habe den Befehl von dir genommen:
Code:

Private Sub Bericht_Click()
'Forms![Hauptformular]![UFoSteuerelement_im_Hauptformular].Form![Steuerelement_im_Ufo]
   
   Dim str_Filter As String
   
   str_Filter = Forms![Wartung_hptform]![Untergeordnet0].Form.Filter

   
   DoCmd.OpenReport "Wartungsbericht", acViewReport, str_Filter
End Sub
(ich hoffe das hab ich jetzt richtig eingefügt)
Verstanden die Antwort auf meine Frage wie ich das richtig eingebe (die Zeile mit dem ' davor (in grün) ist eine reine Text-Infozeile und so kein Befehl oder?
Ich habe daher den Befehl von "Dim" weg bis zum "End Sub" kopiert und eingefügt, aber der Bericht zeigt noch immer alle Daten an und nicht die gefilterten. Da hab ich was noch nicht kapiert :-(

Ich verstehe, dass ich die Finger von den Makros lassen sollte (hab ich schon mehrmals gelesen), aber ich kann leider nichts anderes. Mein einziger Weg einen Button selbst hinzubekommen. Aber wenn du mir ein Buch empfehlen kannst durch das ich mich in VBA einlesen kann, würde ich mich sehr freuen (ich hab da wirklich NULL Ahnung).

Namensgebung sinnvoll: auch verstanden, hab mich immer gefragt, warum ich 2 Namensfelder hab - das Untergeordnet war so nicht beabsichtigt und ist mir durchgerutscht.

Nochmal vielen Dank im Voraus
Lg Nena
nenawien ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.03.2019, 16:31   #6
maikek
MOF Guru
MOF Guru
Standard

Moin,
habe das Ganze jetzt nicht mehr genau verfolgt, aber eins sehe ich:
Du übergibst an der Stelle einen Filter. Erwartet wird dort ein benannter Filter/eine gespeicherte Abfrage.
Was du brauchst ist eine WHERE-Condition, die muss eine Stelle weiter (ein Komma mehr) angegeben werden:
Code:

DoCmd.OpenReport "Wartungsbericht", acViewReport, , str_Filter
maike

__________________

Bitte dein Thema auf erledigt setzen, wenn's durch ist!
MOF Access Stammtisch in Bremen
maikek ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 14.03.2019, 23:00   #7
elmar
MOF Guru
MOF Guru
Standard

Zitat:

Ich habe daher den Befehl von "Dim" weg bis zum "End Sub" kopiert und eingefügt, aber der Bericht zeigt noch immer alle Daten an und nicht die gefilterten. Da hab ich was noch nicht kapiert :-(

Hiermit hatte ich die Antwort auf Deine Frage

Zitat:

dh wie sag ich dem Bericht, dass er sich den Filter aus dem Unterformular holt?

gegeben. Im Unterformular steht der Filter ja noch drin. Wenn Du einen Filter erstellst bzw. anwendest wird er im jeweiligen Formular gespeichert.
Siehe auch die PDF-Datei als Anlage und schau Dir die Private Nachricht an!
Angehängte Grafiken
Dateityp: pdf Publikation1.pdf (80,9 KB, 3x aufgerufen)

__________________

WIN 10 Enterprise 64, ACCESS 2019 Wissenswertes: ACCESS-FAQ
Hilfreiche Antworten kann es nur bei verständlichen Fragen geben! Anleitung dazu: Hier klicken | Auch hilfreich: Einführung in die Datenbank Microsoft Access. | Die Nachteile von Nachschlagefeldern

Geändert von elmar (15.03.2019 um 00:16 Uhr).
elmar ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 18.03.2019, 10:44   #8
nenawien
Threadstarter Threadstarter
Neuer Benutzer
Neuer Benutzer
Standard

Vielen lieben Dank für eure Geduld, ich denke ich hab's jetzt! Die Erklärung mit dem Filter war sehr hilfreich!
DANKE euch!
Lg Nena
nenawien ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:55 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.