Office: (Office 2010) Abfrage Unterformular dynamisch anpassen

Helfe beim Thema Abfrage Unterformular dynamisch anpassen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen Ich versuche seit Stunden die Abrfage (Datenherkunft) eines Endlosformular, das als Unterformular ungebunden in einem Hauptformular... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von m.kohler, 13. Februar 2017.

  1. Abfrage Unterformular dynamisch anpassen


    Hallo zusammen

    Ich versuche seit Stunden die Abrfage (Datenherkunft) eines Endlosformular, das als Unterformular ungebunden in einem Hauptformular über ein Listenfeld mit Mehrfachauswahl zu ändern.

    Im HF habe ich Listenfeld "Liste_Status" dieses liefert eine Zahlen Reihe z.B. 2; 3; 6
    Dies wird mit Folgender Funktion erledigt:
    Code:
    Beim Klick in das Listenfeld wird die Zeichenkette in ein ungebundenes Textfeld geschrieben
    Code:
    Soweit so gut.

    Nun möchte ich die Abfrage
    Code:
    des Unterformulars mit den Kriterien bei der Spalte FM_Status füttern damit nur noch die nötigen Datensätze erscheinen.

    Doch leider habe ich noch keinen funktionierenden Weg gefunden.

    Vermutlich fehlt nur eine Codezeile aber als Newbi komme ich nicht weiter

    Besten Dank für Eure mithilfe

    Gruss Mike

    :)
     
    m.kohler, 13. Februar 2017
    #1
  2. Wenn dein sql-Code korrekt ist, dann müsste folgendes funzen:
    me.subformName.Form.RecordSource="SELECT ....."

    G
    JPA
     
  3. Hallo JPA

    Danke für Deine ultraschnelle Antwort. Leider habe ich mit der Select Anweisung meine grösste Mühe.
    folgendes Habe ich versucht:
    Code:
    Daraus resiltiert eine Fehlermeldung: Laufzeitfehler '3075' - Syntaxfehler (fehlender Operator) in Abrageausdruck '[FM_Stautus] WHERE abfKriterium'

    Gefiltert soll das Feld "FM_Status" in der Tabelle tab_Fehlermeldung.

    Danke Gruss Mike
     
    m.kohler, 15. Februar 2017
    #3
  4. Abfrage Unterformular dynamisch anpassen

    Eine Möglichkeit besteht darin, aus der komma-separierten (,) nicht (;) Zeichenkette eine In-Klausel für ein Kriterium zu erstellen. Code:
    , welches in den Abfragetext zu integrieren ist.
     
  5. Code:
    oder so, weil ich weiss nicht was in deiner Variable abfKriterium steht:
    Code:
     
  6. Hallo Nouba, Hallo JPA

    Mit dem Code Schnipsel von Nouba werden zwar nur noch die Datensätze mit dem ausgewälten FM_Status angezeigt, jedoch haben alle anderen Steuerelemente den Wert #Namen?

    Liege ich richtig, dass sobald ich im Listenfeld ein Auswahl treffe, nur noch der Wert FM_Status als Datensatzherkunft für das Endlosformular vorhanden ist?

    Meine Idee war es, dass in der Abfrage bei den Parameter das Kriterium aus dem Listenfeld übernommen wird und dann nur noch die gewünschten Datensätze angezeigt werden.

    Währe es sinnvoller anstelle der Anpassung der Abfrage einen Filter zusetzten? Nur wie geht das?

    Gruss Mike
     
    m.kohler, 15. Februar 2017
    #6
  7. Nach SELECT musst du natürlich deine gewünschten Felder bringen *knuddel
     
  8. Abfrage Unterformular dynamisch anpassen

    Oje*boah *boah
    Habe ich fast gedacht. Das wird ja lustig. Das ist die Abfrage für das Endlos Unterformular.
    Code:
    Der Grundgedanke war, einen Mehrstufigen Filter über Listenfelder zu erreichen.
    1. Stufe: Status
    2. Stufe: Zuständigkeit
    3. Stufe: Lieferant
    4. Stufe: Artikelnummer
    wenn in der ersten Stufe die Auswahl getroffen wurde, sollen in den andern Listenfelder nur noch die möglichen Felder erscheinen.

    Wenn ich nun bedenke wie aufwendig der Code dazu wird... Das schaffe ich nie. *rolleyes.gif* *rolleyes.gif*

    Ist eine Möglichkeit die Datensätze über die Listenfelder zu filtern?
     
    m.kohler, 15. Februar 2017
    #8
  9. Hallo zusammen

    Ich konnte es über einen Filter lösen
    Code:
    dazu habe ich die Funtion dementsprechend angepasst:

    Code:
    Besten Dank nochmals
    Mike
     
    m.kohler, 15. Februar 2017
    #9
  10. Hallo!

    Ein Tipp, damit der Filterausdruck übersichtlicher wird:
    Verwende statt Feld = 1 or Feld = 2 or Feld = 3 or ... einen In-Ausdruck: Feld in (1, 2, 3)


    Und ein paar allgemeine Tipps zur Hilfsfunktion GetListSelect:
    Wenn du statt dem Formularnamen und dem Steuerelementnamen direkt die Referenz des Steuerelements übergibst, funktioniert die Hilfsfunktion auch für Unterformulare.

    Da das eine Hilfsfunktion ist, würde ich bei falscher Control-Übergabe keine Msgbox anzeigen, sondern einen Fehler auslösen, damit der aufrufende Code nicht uninformiert weiterläuft, sondern auf den Fehler reagieren muss, um weiterlaufen zu können.

    Warum übergibst du die Spaltennummer als String?



    Deine Funktion etwas umgeschrieben:
    Code:
    Aufruf:
    Code:
    In meinen Filterklassen gehe ich etwas anders vor:
    Ich lasse mir zuerst die markierten Werte mittels Hilfsfunkion in ein Array schreiben und übergib dann das Array in eine weitere Funktion, um daraus einen Filterstring zu erstellen. Damit trenne ich die Aufgabe "Markierte Werte aus Listbox lesen" und "Filter für ein Feld mit mehreren Filterwerten erstellen".

    Beispiel:
    Hilfsfunktion für Array-Erstellung:
    Code:
    Angewendet zur Filterstring-Erstellung:
    Code:
    mfg
    Josef
     
    Josef P., 15. Februar 2017
    #10
  11. Hallo Josef

    Danke vielmals für Deine Hilfestellung. Die Funktion die ich verwendet habe, habe ich so über meinen Freund Google gefunden. Nur das String gebastel in der Funktion habe ich angepasst.

    Die Angepasste Funktion von Dir funktioniert prima.

    Die letzte Funktion von Dir (so wie Du es machen würdest) scheitert mit Debuger an der Stelle
    Code:
    Ich habe aus Ahnungslosigkeit diese Anweisung bei der Click Prozedur des Listenfeldes eingefügt.

    Ursprunglich wollte ich die Abrage des Unterformulars über die Mehrfachauswahl des Listenfeldes ändern. Jedoch habe ich die grösste Mühe, die SQL Anweisung für VBA umzuschreiben (siehe weiter oben Post #8).
    Die Mehrfachauswahl in einem Listenfeld macht in meinem Fall nur auf dem Status Sinn. Die restlichen Felder werde ich entweder über Combos lösen oder aber mit Deinem Tool ACLib-FilterForm-Wizard (habe ich soeben in Deiner Fusszeile entdeckt). Echt der Hammer!*grins

    Ich denke, dass ich zurück auf meinen ursprünglichen Plan muss und im ersten Schritt die Abfrage der Daten über das Listenfeld einschränke und danach die restlichen Filter über den Wizard zu erstellen versuche.

    Gruss Mike
     
    m.kohler, 16. Februar 2017
    #11
  12. Hallo!

    FilterStringBuilder ist eine Klasse von mir. Die kannst du mit dem FilterForm-Wiazrd in deine Anwendung importieren.

    Wenn du den FilterForm-Wizard verwendest, probiere einmal die Variante mit dem FilterControlManager aus. Dann musst du für die Listbox mit der Mehrfachauswahl auch nur eine Zeile ohne zusätzliche Hilfsfunktion schreiben und kannst alle Filter über die Formular-Filter-Eigenschaft anwenden, ohne in der Abfrage etwas vorzufiltern.

    mfg
    Josef
     
    Josef P., 16. Februar 2017
    #12
  13. Abfrage Unterformular dynamisch anpassen

    Hallo Josef

    Hört sich Doch super an *mrcool
    Ich werde mich heute Abend mit dem AddIn beschäftigen. Ich hoffe ich komme mit der nur einen Zeile klar *rolleyes.gif*
    Ansonsten währe ich so frech mich nochmals an Dich zu wenden (es wird mit 99% Sicherheit dazu kommen, bleibt doch noch 1% Hoffnung, dass ich Dich nicht Nerven muss).

    Besten Dank
    Mike
     
    m.kohler, 16. Februar 2017
    #13
  14. Hallo Josef

    Die Fragerei kommt schon früher als gedacht*frown.gif*
    Beim Starten des AddIn startet sofort der VBA Editor mit der Fehlermeldung:

    Fehler beim Kompilieren
    Der Code in diesem Projekt muss für die Verwendung auf 64bit-Systemen aktualisiert werden. èberarbeiten und aktualisieren Sie Declare-Anweisungen, und markieren Sie sie mit dem PtrSafe Attrribut

    Code:
    Gruss Mike
     
    m.kohler, 16. Februar 2017
    #14
  15. Hallo!

    Danke für den Hinweis. Es gibt eine neue Version zum Download. *wink.gif*

    mfg
    Josef
     
    Josef P., 16. Februar 2017
    #15
Thema:

Abfrage Unterformular dynamisch anpassen

Die Seite wird geladen...
  1. Abfrage Unterformular dynamisch anpassen - Similar Threads - Abfrage Unterformular dynamisch

  2. Abfrage: Anzahl von Kriterium >0

    in Microsoft Access Hilfe
    Abfrage: Anzahl von Kriterium >0: Hallo, [ATTACH] Ich versuche gerade, die Anzahl der belegten Plätze auf einem LKW per Abfrage zu ermitteln. Dabei wäre dann FSPal > 0. Leider zeigt er mir die Anzahl der Plätze an. [ATTACH]...
  3. Teil des Zellinhaltes abfragen in VBA

    in Microsoft Excel Hilfe
    Teil des Zellinhaltes abfragen in VBA: Guten Tag, ich möchte in Zelle E1 den linken 4-stelligen Teil in Zelle A3 abfragen. Habs versucht mit IF (LEFT(R[2]C[-3],4) = "8396") then ... Else ... End If Wer kann...
  4. Verliert irgendwann die Selektive Abfrage von UFO

    in Microsoft Access Hilfe
    Verliert irgendwann die Selektive Abfrage von UFO: Guten Tag Ich habe ein HF mit darin befindlichem UF. Die Abfrage der Teilnehmer im Uf bezieht sich immer auf den Kurs-Typ im HF Solang ich das Formular neu erstelle, funktioniert das...
  5. automatische Abfrage URL via Artikelnummer

    in Microsoft Access Hilfe
    automatische Abfrage URL via Artikelnummer: Guten Tag Bei der Aktualisierung der Homepage und aufgrund eines Plugin-Wechsels des Üebersetzungstools hat wordpress alle Permalinks der Produkte verändert. Unserem Webmaster war nicht bekannt,...
  6. Vorkommen von Kunden in mehreren Tabellen per Abfrage filtern

    in Microsoft Access Hilfe
    Vorkommen von Kunden in mehreren Tabellen per Abfrage filtern: Hallo Community, ich habe folgendes Problem beim Nutzen einer Access-Datenbank. Zunächst die Datenstruktur: [ATTACH] Dies sind die Tabellen meiner Datenbank. In der Tabelle "Adressliste"...
  7. Listenfeld im Endlosformular

    in Microsoft Access Hilfe
    Listenfeld im Endlosformular: Hallo in die Runde! Ich stehe gerade furchtbar auf dem Schlauch und hoffe, ihr könnt mir helfen: Problemkind ist eine Art Zimmerverwaltung: - jedes Zimmer hat eine ID und ist einem Objekt...
  8. Abfrage Unterformular Wert jedoch im Hauptformular

    in Microsoft Access Hilfe
    Abfrage Unterformular Wert jedoch im Hauptformular: In einer Abfrage gibt es ja mehrere Möglichkeiten sich an dem Formular zu orientieren. Abhänig vom Buchstaben, vom Wert etc. Wenn die Abfrage vom aktuellen Tabellenblatt stammen soll, braucht man...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden