Office: (Office 2010) Dynamisches Formular (ähnlich wie Produktauswahl in online Shops)

Helfe beim Thema Dynamisches Formular (ähnlich wie Produktauswahl in online Shops) in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo! Bevor wir an die Fehlersuche gehen, sollten wir vielleicht einmal den Code bereinigen. *wink.gif* Erkläre mir bitte das Vorhaben in dieser... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von SebbiB, 28. Juli 2015.

  1. Dynamisches Formular (ähnlich wie Produktauswahl in online Shops)


    Hallo!

    Bevor wir an die Fehlersuche gehen, sollten wir vielleicht einmal den Code bereinigen. *wink.gif*

    Erkläre mir bitte das Vorhaben in dieser Prozedur:
    Code:
    An Me.fehlende_Unterlagen.Caption übergibst du str_UK2.
    Wozu dient die Ermittlung aller anderen str_UK* Variablen?


    @all:
    Fehlerursache:
    Wenn die Rowsource-Eigenschaft der Combox geändert wird, kann nicht mehr auf das Recordset zugegriffen werden.
    Ich testete mit Access 2010. In einem anderen Thread gab es ebenso ein Problem mit einem nicht mehr festgelegten Recordset. Ist eventuell durch ein Update o. ä. ein Bug rein gekommen?
    Mir ist bisher so ein Verhalten nicht aufgefallen und ich nehme an, dass ich das durchaus schon verwendete.

    Problemumgehung:
    Code:
    mfg
    Josef
     
    Josef P., 5. Oktober 2015
    #46
  2. Hallo Josef,

    die eigentliche Datenbank enthalt natürlich viel mehr Daten. Ich habe für jedes Kombinationsfeld eine str - Variable.

    Ich habe diese für mich der Einfachheit alle immer in die entsprechenden Forumlare kopiert, sodass Großteil für die einzelne Prozedur überflüssig sind. Ich wollte am Ende, wenn alles soweit funktioniert, den Code vollständig bereinigen. Tut mir leid wenn ich hier aufgrund meiner unsauberen Arbeit Verwirrung gestiftet habe!

    Leider hat die Problemumgehung bei mir nicht funktioniert. Habe diese genau an die gleiche Stelle wie du eingefügt. Keine Änderung leider.

    lg Sebastian
     
  3. Hallo!

    Ich änderte den Code in deiner Test-mdb und konnte danach den Fehler nicht mehr erzeugen.

    mfg
    Josef
     
    Josef P., 5. Oktober 2015
    #48
  4. Dynamisches Formular (ähnlich wie Produktauswahl in online Shops)

    Hallo,

    also, wenn du etwas auf deine Namengebung der Felder achten würdest,
    könntest du es mit einem sehr geringen Aufwand von VBA erstellen.
    Dein VBA-Code ist ja bemerkenswert üppig *Smilie
     
    Kyron9000, 6. Oktober 2015
    #49
  5. \@ Josef,

    war doch mein Fehler! Es funktioniert super!
    Vielen Dank für deine Hilfe!

    @ Kyron9000

    ja das sieht kompakter aus... aber da verstehe ich leider wirklich nur sehr wenig "warum" das auch wirklich funktioniert *tongue.gif*

    lg Sebastian
     
  6. Hallo Sebastian,

    war aber nur eine Idee und noch nicht fertig gedacht. Man kann den Code durchaus noch kürzer gestalten
    (2x sSQL benötigt man nicht!)
    und man muss auf jeden Fall noch Überlegungen anstellen.
    Aber, für eine Mittagspause war es schon mal nicht sooo schlecht *Smilie

    Mich hat nur der Code von dir so verblüfft, da er ja immer das selbe darstellt, dass ich mir dachte...
    das sollte auch einfacher möglich sein.

    Na ja... schönen Tag noch.

    PS: habe es mir jetzt noch mal angesehen und das 4.Kombi mit eingefügt, die iColumn benötigt man nicht,
    da es immer Column 0 ist... und nicht die 1!! (war zuerst ein Gedankenfehler von mir) iKat benötigt man auch nicht *Smilie.
    Jetzt funktioniert es bei mir. Solltest du dir überlegen, ob du es nicht doch noch in einer einfachen Variante erstellst...
    Musst nur deine Objektnamen anpassen. Also, überall gleiche Art der Namensgestaltung!

    der Code dazu wäre...

    Code:
    Vermutlich wird es immer noch etwas zu verbessern geben...
    Du musst natürlich eines auch bedenken, falls du etwas ändern möchtest
    musst nur eine Prozedur ändern und nicht Alle.
    Die Daten sollte man auch noch etwas adaptieren... sind relativ wenige zum testen.

    Und noch etwas, fehlende Unterlagen (info)... mM sollten zuerst alle die lt. Eingabe fehlen, angezeigt werden!
    (Würde auch bei der ersten Kombi eine Standardeintrag erstellen)
    Gibt es die erste Unterlage... wird bei der nächsten Kombi um eine weniger angezeigt, natürlich
    immer abhängig der Eingabe...
    Also, fehlt bei dir eine Tabelle die diese Unterlagen (Info) beherbergen und anzeigen wie sie abgefragt werden!
    Resultat: DB-Modell stimmt bei dir noch nicht!

    Ja ich weiß, ich brauche immer einige Anläufe und ändere meinen Beitrag oft *biggrin.gif* sorry ist eben so bei mir *wink.gif*
    Deine DB-Modell gefällt mir pers. noch nicht, das solltest du ändern.
    Denke, dass ist ein recht wichtiges Programm für Allgemein, das du da erstellen möchtest, (lt.Bezeichnungsfeld)
    dementsprechend sollte auch die DB angepasst sein.
     
    Kyron9000, 6. Oktober 2015
    #51
  7. ...sorry, es fehlen dir 2 Tabellen *grins
    Eine die, die fehlenden Unterlagen beinhalten und eine Tabelle die diese Unterlagen verteilen.

    So erstellt man auch eine Tabelle für Personen *Smilie

    Wenn bei dir eine weitere Ebene dazukommen sollte, erstellst dann wieder eine Tabelle dazu?
    Das ist Unsinn, glaube mir!


    Und, dass wir auf ein Ende kommen... eine Tabellen für dieses vorkommen ist ausreichend mit einer M-Tabelle.
    Habe ich dir nicht schon vor langer Zeit eine Antwort dafür gegeben? Mir kommt es schon so vor!?
     
    Kyron9000, 6. Oktober 2015
    #52
  8. Dynamisches Formular (ähnlich wie Produktauswahl in online Shops)

    Hallo Alfred,

    ich kann mich zumindest nicht daran erinnern *eek.gif*

    Mir ist jetzt leider noch ein Problem aufgefallen.

    Im Caption was den entsprechenden Text aus Spalte 4 der jeweiligen Tabelle anzeigen soll, wird nach Auswahl im DropDown immer der jeweilige Text des ersten Datensatzes wiedergegeben.

    Sobald ich dann noch einmal die gleiche Auswahl im DropDown anklicke, wird der richtige Text ausgegeben (also der, der auch zur Auswahl passt).

    Hättet Ihr hierfür auch eine Lösung? *Smilie

    lg Sebastian
     
  9. Keiner eine Lösung? *Smilie

    Oder gibt es eine Möglichkeit, das was man über das Dropdownfeld ausgewählt hat als Ergebnis zu wiederholen, damit in


    PHP:
             If Not IsNull(Me.Kombo_Unterkategorie_2.Column(3)) Then
    str_UK2 
    Me.Kombo_Unterkategorie_2.Recordset.Fields(3).Value
    End 
    If
    .
    .
    .
    Me.fehlende_Unterlagen.Caption str_UK2
     
  10. Was steht denn bei Me.Kombo_Unterkategorie_2.Column(3) drin? Ist das nicht der Wert, den du haben möchtest?
     
  11. Im Dropdown-Feld stehen die Auswahlwerte die ich in der Auswahl anzeigen lasse. In Me.Kombo_Unterkategorie_2.Column(3) stehen die entsprechenden Texte die im Bezeichnungsfeld "Fehlende Unterlagen" zu dem entsprechend ausgewählten Eintrag angezeigt werden sollen.

    Problem: Er zeigt mir nach der (ersten) Auswahl (egal in welchem Kombinationsfeld) im Textfeld "Fehlende Unterlagen" nicht die entsprechend zugehörigen Texte an.

    Beispiel: Der Benutzer wählt Möglichkeit 2 aus im Dropdown. Dann wird nicht der Text zu Möglichkeit 2 im Textfeld "fehlende Unterlagen" angezeigt sondern zu Möglichkeit 1.

    Erst wenn noch einmal die Auswahl/Bestätigung im Dropdown erfolgt, wird der Text der zu Möglichkeit 2 gehört angezeigt.

    Vielen Dank für eure Hilfe! *Smilie

    lg Sebastian
     
  12. Setz mal einen Haltepunkt, um zu sehen, was dort zur Laufzeit für ein Wert drinsteht.
     
  13. Dynamisches Formular (ähnlich wie Produktauswahl in online Shops)

    Hallo,

    das habe ich bereits gemacht.

    Er zeigt mir die gleichen Werte auch im Lokalfenster an.

    Nach (erster) Auswahl im jeweiligen Kombinationsfeld steht in den entsprechenden Variablen (also egal ob str_UK1, str_UK2 etc.) immer der Wert aus Spalte 4 des ersten Datensatzes, obwohl er mir z.B. den Wert aus Spalte 4 vom 3 Datensatz rausschmeißen müsste.

    Das klappt ja dann auch, allerdings erst wenn ich nochmal die dritte Auswahl bestätige, wird mir der entsprechende Wert des dritten Datensatzes wiedergegeben.

    lg Sebastian
     
  14. Hallo!

    Am einfachsten würde dein Vorhaben funktionieren, wenn du die Rowsource der Comboboxen fix eingestellt lässt und als Datenfilter den Namen der "übergeordneten" Combobox verwendest. Dann musst du nur ein Combobox.Requery ausführen, sobald Werte geändert werden.
    Als Ergänzung erstellst du eine Prozedur, die aus dem Combobox-Recordset den Text aus dem Memofeld ausliest und übergibst den an das Label.

    Wenn du eine bereinigte Beispiel-Datei zum Download bereit stellst, helfe ich gerne bei Problemen weiter. In deiner anfangs hochgeladenen Datei ist aber so viel Code-Müll enthalten, dass es keinen Spaß macht dort etwas zu optimieren. *wink.gif*

    mfg
    Josef
     
    Josef P., 15. Oktober 2015
    #59
  15. Hallo Josef,

    ich werde probieren mal meine Datei bereinigt zu Verfügung zu stellen *Smilie

    Jetzt muss ich erstmal schauen wie ich mit deinem Vorschlag klar komme.
    Habe das Gefühl, dass wird (mit meinem jetzigen Wissenstand über Access/VBA) ne ziemliche hohe Hürde für mich *tongue.gif*

    Falls du direkt ein Beispiel dafür in petto hast, wäre ich natürlich sehr dankbar *Smilie

    Trotzdem nochmal vielen Dank, für die ganze Hilfe hier *top

    lg Sebastian
     
Thema:

Dynamisches Formular (ähnlich wie Produktauswahl in online Shops)

Die Seite wird geladen...
  1. Dynamisches Formular (ähnlich wie Produktauswahl in online Shops) - Similar Threads - Dynamisches Formular Produktauswahl

  2. Dynamische Matrixformeln in nicht dynamischen unterstützenden Excel-Formularen

    in Microsoft Excel Tutorials
    Dynamische Matrixformeln in nicht dynamischen unterstützenden Excel-Formularen: Dynamische Matrixformeln in nicht dynamischen unterstützenden Excel-Formularen Excel für Microsoft 365 Mehr... Weniger...
  3. Dynamisches Formular aus Kreuztabelle??

    in Microsoft Access Hilfe
    Dynamisches Formular aus Kreuztabelle??: Hallooo Habe eine Frage: Ich habe eine Kreuztabelle, welche ich in einem Formular darstellen möchte, da ich per Button noch Auswahlkriterien im Formular zur Anzeige treffen möchte... Nur ist da...
  4. vorhandenes Formular dynamisch mit allen Feldern der akt. Datensatzquelle füllen

    in Microsoft Access Hilfe
    vorhandenes Formular dynamisch mit allen Feldern der akt. Datensatzquelle füllen: Hallo liebe Experten, wie kann ich automatisch alle Felder (Tabellenspalten) der Datensatzquelle im Formular anzeigen lassen, ohne sie händisch in der Entwurfsansicht in den Datenbereich zu...
  5. Bild aus dynamischer URL in Access (Bericht oder Formular) anzeigen

    in Microsoft Access Hilfe
    Bild aus dynamischer URL in Access (Bericht oder Formular) anzeigen: Hallo zusammen, bei folgender Herausforderung komme ich nicht so recht weiter - evtl. könnte mir ja hier jemand von den Experten helfen. Ich möchte gerne in einem Access-Bericht (bzw. auch einem...
  6. Formular: Spalten Dynamisch ein- und ausblenden

    in Microsoft Access Hilfe
    Formular: Spalten Dynamisch ein- und ausblenden: Hallo Freunde! ;-) Ich habe die Aufgabe eine Ansicht zu erstellen, in der einzelne Felder verschiedener Tabellen angezeigt werden. Der spannende Teil ist nun, das der Anwender über mehrere...
  7. Word/Excel Formulare mit dynamischen Abruf von Daten aus geschlossenen Excel Dateien

    in Microsoft Excel Hilfe
    Word/Excel Formulare mit dynamischen Abruf von Daten aus geschlossenen Excel Dateien: Hallo zusammen, ich hoffe bei euch ist alles gut. Ich möchte verschiedene gesicherte Formulare in denen lediglich bestimmte Felder/Zellen bearbeitet werden können (Word oder Excel, am liebsten...
  8. Word Formular dynamisch mit Daten aus Access fuellen

    in Microsoft Access Hilfe
    Word Formular dynamisch mit Daten aus Access fuellen: Guten Morgen, ich muss gleich vorweg sagen, ich bin ein aboluter Access-Legastheniker und habe leider auch von VBA so gar keine Ahnung. Also bitte seid geduldig mit mir ;) Ein Kollege...
  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