Office: (Office 2010) Wert mit Datensätzen aus Formular in nächstes Formular übernehmen

Helfe beim Thema Wert mit Datensätzen aus Formular in nächstes Formular übernehmen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Bin für jede Hilfe dankbar Solange Du die DB im Format accdb statt als mdb-Datei hier ins Forum stellst werden Dir eine Menge Leute nicht helfen... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Adversarius, 13. August 2013.

  1. Wert mit Datensätzen aus Formular in nächstes Formular übernehmen


    Solange Du die DB im Format accdb statt als mdb-Datei hier ins Forum stellst werden Dir eine Menge Leute nicht helfen können.
    Längst nicht alle sind auf ACCESS 2007 oder 2010/13 umgestiegen.
     
  2. Ich hab sie mal konvertiert *wink.gif*

    BTW die wenigsten haben die Zeit oder Lust seitenweise Post's zu lesen, beschränke Dich daher auf Einzelprobleme, welche Step-byStep behandelt werden können anstatt jemanden mit einer Vielzahl an Problemen auf einmal zu erschlagen.
    Fasse Dich knapp, dann geht es auch schneller mit der Hilfe.

    So, jetzt habe ich mir auch mal Deine DB angeschaut.
    Der Hinweis auf das ungenügende/falsche Datenmodell ist ja schon mal gefallen.
    Bevor Du mit der Formulargestalltung anfängst, solltest Du das erst mal in Ordnung bringen!
    Andreas Stern hat diesbezüglich sehr lehrreiche und auch für Anfänger verständliche Unterlagen sowie eine AccessDB (ADaMo) zur Erstellung eines geeigneten Datenmodells erstellt.
    Das Datenmodell ist das Fundament Deines Projekts und muss damit auch für die gesamte "Last" Deiner Entwicklung konzipiert sein.
    Ich frage mich immer wieder, wie man sich mit der DB-Entwicklung ohne ausreichende Grundlagen beschäftigt.
    Du machst das in deinem Studium doch auch nicht, oder?
     
  3. Hallo,

    danke Euch beiden für die Hinweise und die Konvertierung, arbeite ADaMo´s "Schulung" gerade durch.

    Ich konnte nicht einschätzen, wie aufwendig das beantworten für gestandene Accessler ist, aber du hast wohl Recht, werde mich um Aufsplittung der Problematiken bemühen.

    Grüße Adversarius
     
    Adversarius, 18. August 2013
    #18
  4. Wert mit Datensätzen aus Formular in nächstes Formular übernehmen

    Hallo, ich hab' mir die konvertierte Beispieldatenbank mal angesehen. Am Datenmodell bist du ja dran.
    Zum Öffnen des Formulars: Wenn ich den geposteten Code verwende (Hochkomma statt `), dann werde ich ebenfalls nach der Auftragsnummer gefragt, und zwar nach Auftrag Nr (mit Leerzeichen). Das liegt daran, dass bei der Verknüpfung von Haupt- und Unterformular im Formular AuftragsDetails noch der alte Feldname drinsteht. Ansonsten klappt es *wink.gif* .
    Die Arbeitslistenpositionen würde ich a) aus den entsprechenden Feldern Kategorie und Nummer zusammensetzen, also zwei Felder dafür anlegen
    und b) die Sonderpositionen nicht in einer separaten Tabelle führen, sondern mit einem Kennzeichenfeld versehen in einer Tabelle mit den anderen Arbeitslistenpositionen gemeinsam.
    maike
     
  5. Moin Moin liebe Programmierergemeinde!

    @Maike: Also das Anzeigen der angewählten Datensätze funktioniert jetzt auch bei mir so, wie ich mir das vorgestellt habe.

    VIELEN LIEBEN DANK DAFÜR !!!

    Allerdings bin ich noch immer nicht in der Lage das Kernproblem (und Thema des Threads) zu lösen: die Übergabe eines Feldwertes: Ich möchte nun eine Arbeitslistenposition für die im Form "Auftragsdetails" angezeigte AuftragsNr hinzufügen. Ich habe mir mit dem UFO provisorisch beholfen, sodass ich gegenwärtig direkt in dieses eintragen könnte. Benutzbedingt und aufgrund der (im nachfolgenden erläuterten Problematik) möchte ich aber hier wirklich ein Formular "ALPositionZufügen" öffnen und dort zu der übernommenen Auftragsnummer Positionen zufügen.

    Das habe ich soweit getan Maike, habe nun aber das Problem, dass ich dann nicht weiss wie mit den Kennzeichenfeldern zu trennen.

    Ich möchte gern (wie bereits im Formular sichtbar):
    -Kombifeld Auswahl der Kategorie (hinterlegte Kategorien)
    -Kombifeld Auswahl einer Standardposition (hinterlegt nur die Standards der gewählten Kategorie)
    -Wenn keine passende Standardposition dabei ist, dann Kombifeld Sonderposition

    Bei Auswahl der Standardpos. soll sich dann im Feld Beschreibung die hinterlegte Beschreibung einfügen und die 4stellige zusammengesetzte Positionsnummer ins entsprechende Feld setzen.

    Bei Auswahl der Sonderposition muss der User dann selbst ins Bemerkungsfeld schreiben. Diese Info soll aber nur für diesen Auftrag hinterlegt werden. Es soll dann (auch nur für diesen Auftrag) jeweils bei mehreren Sonderpositionen fortlaufend ab 900 eine Nummer generiert werden.

    Ich hab im Folgenden den Stand eingefügt. (Ist das Format so i.O.?)

    Danke schonmal, liebe Grüße Adversarius
     
    Adversarius, 21. August 2013
    #20
  6. Doppelpost, sorry
     
  7. Hallo,
    Hast du dir die beispieldb aus der #8 mal angeschaut?
    Dort hast du oben einen kunden und darunter die details (hier bäume), dort kannst du im ufo alles sehen was zundem kunden oben angelegt wurde, du kannst auch neue anlegen....
    Es ist zwar ziemlich rudimentär "zusammengehauen", aber vom grundsatz solltest du dir das vielleicht mal anschauen. Aber wenn ich dich richtig verstanden habe, ist es das was du willst....
    Hier sind es kunden/bäume oder auftrag und arbeitslistenposition oder rechnung und artikel oder......
     
  8. Wert mit Datensätzen aus Formular in nächstes Formular übernehmen

    Wenn es Access 2003 ist, werde ich es morgen im Büro öffnen können. Melde mich dann.
    maike
     
  9. Nabend hgs_x,

    ich hab mir das alles schon nach dem ersten Post von dir durchgelesen, jetzt aber erst geschnallt, dass das DOCH anwendbar auf meinen Fall ist. Läuft aber nicht komplett, er öffnet das Formular, übergibt den Wert aber nicht (keine Fehlermeldung) !?

    Hier mein Code (die beiden Zeilen nach dem Hochkomma sind nur Kommentare ohne Funtkion , richtig?)

    Code:
    @ Maike: Ja ist es , hab ich beide extra konvertiert (wieder was gelernt) *wink.gif*

    und die angepasste Datei :
     
    Adversarius, 21. August 2013
    #24
  10. Moin,
    mit dem Code in der dritten Zeile übergibst du die AuftragsNr als OpenArgs, das ist auch ok so. Diese Information muss das Formular ALPositionZufuegen aber erst noch verwerten. Dazu brauchst du eine Ereignisprozedur beim Öffnen:
    Code:
    Hier wird jetzt die AuftragsNr aus den OpenArgs als Standardwert gesetzt und sobald du den neuen Datensatz anlegst, im entsprechenden Feld gespeichert.
    Edit: den Rest seh ich mir dann in der Mittagspause an.
    maike
     
  11. Also, es fehlt noch eine Beziehung zwischen den Tabellen ArbeitslistenPositionen und ALDaten (siehe Screenshot). In ALDaten im Feld ArbeitslistenPositionsNr speicherst du dann die PositionsID, damit hast du alle anderen Informationen aus der Tabelle im Zugriff, die Beschreibung musst du also nicht noch einmal speichern.
    Im Formular "Zufügen" würde ich drei Kombifelder anlegen, die aufeinander aufbauen: Kategorie, Spezifikation, Beschreibung. Nach Auswahl der Kategorie zeigt dann Spezifikation nur noch die zugehörigen Spezifikationen und nach Auswahl der Spezifikation werden die entsprechenden Beschreibungen zur Auswahl angeboten. Hier FAQ 4.36 findest du eine Beschreibung dazu.
    Bei den Sonderpositionen bin ich mir noch nicht sicher, willst du die wirklich nur beim jeweiligen Auftrag speichern (incl. Nummer)? Dann brauchst du noch ein zusätzliches Feld für die Sonderpositionsnummer in der ALDaten-Tabelle. Eine fortlaufende Nummer kannst du mit der DMax-Funktion generieren, höchste Nummer für den Auftrag ermitteln und dann 1 dazuaddieren.
    maike
     
  12. Hallo Hallo *tongue.gif*

    Also ich hab die vergangenen Tage gebastelt, probiert, Haare gerauft und geflucht. Im Prinzip funktionieren meine verknüpften Kombifelder jetzt so wie sie sollen. (Danke Maike, hab mich an der von dir geposteten Beschreibung und der angehängten DB orientiert.)

    Ich trete aber seit drei Tagen an folgender Stelle auf der Stelle *wink.gif* :

    Ich möchte im Form "ALPositionsZuweisung" ja nach Auswahl der Kombi´s und ggf. Eingabe eines eigenen Textes im Falle einer Sonderposition, diese Arbeitslistenpositionsnummer dem vorher angewählten Auftrag (dessen Nr) dauerhaft zuweisen, so dass eine Liste der zugehörigen Positionen entsteht. Diese können natürlich für jeden anderen Auftrag wieder ausgewählt werden, die Differenzierung erfolgt dann ja über die AuftragsNr.

    Also nur nochmal zum Verständnis: Ziel ist es für JEDEN Auftrag (definiert durch die jeweilige Auftragsnummer) eine Liste der zugehörigen Arbeitslistenpositionen (durchzuführende Arbeiten) zu erstellen. Standardpositionen sind häufig anfallende Tätigkeiten, deshalb bereits hinterlegt. Sonderpositionen müssen vom Ersteller für jeden Auftrag selbst gepflegt werden.

    (@ Maike: Ich will die Problematik mit den Sonderpositionen jetzt einfach so lösen, dass ich mir jeweils die Datensätze mit Spezifikationsnr 901-999 bereits vorher in der Tabelle anlege und dann immer zuweise. Der text wird ja in diesem Mainform nicht belegt, sondern nur in Verbindung mit einer Auftragsnummer.)

    Würde sich nochmal jemand die Mühe machen und gucken wo der Wurm steckt ?

    Danke und LG , Adversarius
     
    Adversarius, 27. August 2013
    #27
  13. Wert mit Datensätzen aus Formular in nächstes Formular übernehmen

    Moin,
    hab' dir das mal eingebaut - die Formulare AuftragsDetails, ALPositionsZuweisung und T4-Unterformular wurden verändert (Datenherkunft, ungebundene Kombifelder statt gebundene, ...).
    In die Tabelle T4 habe ich ein zusätzliches Textfeld für Sondertexte eingefügt.
    Das Hochzählen von 900 ab fehlt noch.
    Was mir nicht klar ist, wo ich aber sehe, dass da was noch nicht hinhaut, sind die Verbindungen der einzelnen Tabellen Kategorie, StandardSonder, ÄnderungsIndex, ALPositionen ... Da kommen gleiche Felder in verschiedenen Tabellen vor und haben keinerlei Zusammenhang, z.B. habe ich in StandardSonder eine KategorieID, die über die StandardSonderID in ALPositionen an T4 durchgereicht wird. In T4 kann ich aber trotzdem noch völlig losgelöst irgendeine andere Kategorie wählen usw.
    Das Datenmodell scheint mir noch etwas durcheinander, da musst du wohl noch mal ein bisschen ran ...
    maike
     
  14. Ich will dir auch nicht mehr Zeit als nötig rauben, deshalb hier nochmal das genaue Problem:
    Ablauf
    Form "ALPositionsZuweisung"
    1.Auswahl der Kategorie
    2.Auswahl Standard/Sonder
    3.Kombifeld Beschreibung
    -Bei der Auswahl STANDARD sollen alle Positionen aufklappen, die entsprechend den Indizies noch enthalten sind, also z.B Kategorie 1, Standard/SonderID 1 , bei Kategorie 4 wäre es Standard/SonderID 7.Entsprechend würden dann alle Positionen zwischen Arbeitslisten-Positions-Nummer 1000 und 1899 bzw. 4000 und 4899 aufgeblendet.

    -Bei der Auswahl SONDER sollen alle Positionen aufklappen, die dann noch enthalten sind. Bei Kategorie 1 und Sonder, wäre die S/S-ID 2, bzw. bei Kategorie 4 die 8. Ich habe in der Tabelle "ALPositionen" jetzt einfach alle 900 Nummern für alle Kategorien hinterlegt. Es soll nun im Kombifeld die Nummern X (KategorieID) und die 901-999 aufgeblendet werden (mit Leertext).
    Hier kommt der Kern des ganzen: Der User soll bei einem neuen Auftrag die 901 anklicken und dann im Kombi einen eigenen Text eingeben können, der dann der AuftragsNr zugeordnet gespeichert wird. Will er in dieser Kategorie beim gleichen Auftrag noch mehr sonderpositionen eintragen, muss er die 902 anwählen und einen Text eingeben usw. . Die Speicherung soll nun durch die Auftragsnummern zugeordnet sein, sodass man bei einem neuen Auftrag wieder bei jeder 900er Nummer Leerstellen vorfindet. Der Admin kann dann regelmäßig die 900er Nummern einer Kategorie aller AUfträge abgleichen und bei sich wiederholenden (ähnlichen) manuellen Einträgen, daraus eine neue Standposition anlegen.

    -Egal ob STANDARD oder SONDER Position, jeweils die Beschreibung soll dann für den Auftrag in Beschreibung abgelegt werden.
    -Die Zusatzbemerkungen sind unabhängige manuelle Eintragungen
    -Die KundenPositionsNummer ist ebenfalls eine manuelle Eingabe (für das Gegenstück der eigenen PosNr in dessen System)
    -Der Änderungsindex soll als Buchstabe hinterlegt werden

    UND die ALPosID ist eigentlich die Arbeitslisten - Positionsnummer (ALPosNr), die ich aber nicht übergeben bekomme (soll nicht fortlaufend /nicht Autowert, sondern die hinterlegte Nummer sein)

    Es ist nicht so, dass ich mir keine Mühe gegeben habe, das selbst zu lösen, bin aber durch die mittlerweile so zahlreichen Lösungsbeispiele und Erklärungen (inkl. BeispielDB´s) völlig durcheinander...

    LG Adversarius
    (achso, ich habe T4 "Arbeitslisten" genannt und Codes angepasst)
     
    Adversarius, 29. August 2013
    #29
  15. So, hier ist nochmal eine überarbeitete Version. Ich habe alle meiner Ansicht nach überflüssigen Felder und Tabellen gelöscht, sowie eine gespeicherte Abfrage erstellt (qrySonderIDs). Sonderpositionen gibt es jetzt in ALPositionen nur noch eine je Kategorie (n+901), die anderen werden bei der Eingabe automatisch berechnet.
    Ein paar kleine Schönheitsfehler sind noch im Formular ALPositionsZuweisung, die kannst du sicher selbst beseitigen (Aktualisierung von cbxT2 und T3 und Sichtbarmachen des Sondertextfeldes ist noch etwas holperig), aber sonst sollte soweit alles laufen *wink.gif* .
    maike
     
Thema:

Wert mit Datensätzen aus Formular in nächstes Formular übernehmen

Die Seite wird geladen...
  1. Wert mit Datensätzen aus Formular in nächstes Formular übernehmen - Similar Threads - Wert Datensätzen Formular

  2. Vorletzter Datensatz Wert holen

    in Microsoft Access Hilfe
    Vorletzter Datensatz Wert holen: Hi to @ll, ich möchte gerne vom vorletzten Datensatz aus Spalte 10 ein Wert raus holen. Leider bekomme ich das nicht hin. Bis jetzt habe ich das versucht: Code: Dim Db As Database Dim Rs As...
  3. Werte aus Endlosformular je Datensatz in Tabelle ergänzen

    in Microsoft Access Hilfe
    Werte aus Endlosformular je Datensatz in Tabelle ergänzen: Guten Abend zusammen, ich habe ein Endlosformular das auf einer Tabelle (tbl_Leistung) basiert. Die im unteren Teil angezeigten roten Angaben sollen bei Auswahl des JA/Nein-Kästchens "Fertig" in...
  4. Wert aus vorherigen Datensatz übernehmen

    in Microsoft Access Hilfe
    Wert aus vorherigen Datensatz übernehmen: Hallo zusammen, ich bin schon seit ca. 1 Woche damit beschäftigt eine normalerweise simple Aufgabe zu lösen. Scheitere aber mit jeden weiteren Versuch daran*bawling *bawling und hoffe nun, dass...
  5. neuer datensatz in unterformular per button click mit festem wert einfügen

    in Microsoft Access Hilfe
    neuer datensatz in unterformular per button click mit festem wert einfügen: hallo ihr lieben, ich möchte gerne in einem unterformular einen neuen datensatz per befehlschaltfläche button click hinzufügen. es soll aber für ein bestimmtes feld des neuen datensatzes bereits...
  6. Sortieren von Datensätzen nach in einem Textfeld gespeicherten numerischen Werten

    in Microsoft Access Tutorials
    Sortieren von Datensätzen nach in einem Textfeld gespeicherten numerischen Werten: Sortieren von Datensätzen nach in einem Textfeld gespeicherten numerischen Werten Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010...
  7. Sortieren von Datensätzen nach Text, numerischen Werten oder Datumsangaben

    in Microsoft Access Tutorials
    Sortieren von Datensätzen nach Text, numerischen Werten oder Datumsangaben: Sortieren von Datensätzen nach Text, numerischen Werten oder Datumsangaben Access 2007 Mehr... Weniger Das...
  8. Benutzer in die Lage versetzen, einen Datensatz durch Auswahl eines Werts in einer Liste zu ...

    in Microsoft Access Tutorials
    Benutzer in die Lage versetzen, einen Datensatz durch Auswahl eines Werts in einer Liste zu ...: Benutzer in die Lage versetzen, einen Datensatz durch Auswahl eines Werts in einer Liste zu suchen Access für Microsoft 365 Access 2019 Access 2016 Access 2013...
  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