Office: (Office 2010) Datensatz hinzufügen

Helfe beim Thema Datensatz hinzufügen in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo Zusammen Habe eine Tabelle tblDatendetails. In dieser werden den DatenID die KundenID zugeordnet. Derzeit gibt es 46 Kunden (tblKunden,... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Engeli, 21. November 2020.

  1. Datensatz hinzufügen


    Hallo Zusammen

    Habe eine Tabelle tblDatendetails.
    In dieser werden den DatenID die KundenID zugeordnet. Derzeit gibt es 46 Kunden (tblKunden, KundenID). Das heisst es gibt zwei DatenID 2 bzw. 6, welchen alle diese 46 Kunden zugeordnet sind.

    Wenn ich nun einen neuen Kunden den 47. erfasse (KundenID 84) würde ich gerne diesen Kunden automatisch den DatenID 2 bzw. 6 anfügen.

    Wir mache ich das am elegantesten? Mit VBA, per Recordset? Oder mit Abfragen?

    Danke für Eure Vorschläge.

    :)
     
  2. Servus Engeli,
    am einfachsten mittels eines Formulars (HF) und eines Unterformulars (UFO) darin. Dann brauchst du keine einzige Codezeile dafür und der Formularassistent erstellt Dir das Grundgerüst dafür.
    Ich hab Dir mal es umgesetzt in 2 Schritten.
    Schritt 1 (HF_Kunden) enthält alles, was der Formularassi erstellt.
    Die roten Felder im UFO kannst Du getrost löschen. Sie werden von Access im Hintergrund automatisch verwaltet.
    Das UFO TextFeld DatenID_f wandelte ich in ein Kombinationsfeld um.
    Schau Dir die Einstellungen in den Eigenschaften an.
    Schritt 2 (HF_Kunden_neu) zeigt Dir, wenn die roten Felder gelöscht sind.

    p.s.: Der Formularassi erstellt automatisch eine Verknüpfung zwischen dem HF und dem UFO. Sehen kann man das, wenn man im Entwurf auf der äusseren Rand des UFO klickt und dort Verknüpfen von...Verknüpfen nach betrachtet.
    In der Tabelle tblDatenDetails hab ich einen Primärschlüssel hinzugefügt und
    die Fremdschlüsselfelder mit einem "_f" am Ende versehen.

    Das Ganze solltest Du in eine leere neue Accdb importieren, da mdb DBs
    nicht mehr uptodate sind in Access2010.
     
    Ohrkester, 23. November 2020
    #2
  3. 2 (oder mehr) sind mehr als 1. Da würde ich zu Massendatenverarbeitung (Anfügeabfrage) statt Recordset in Schleife tendieren.

    Um das erledigen zu können, müsste man vorher die ID des neu erzeugten Kunden ermitteln, damit man sie als einzutragenden Fremdschlüssel verwenden kann.

    Damit stellt sich die Frage, wie genau der neue Kunde erfasst und in die Tabelle geschrieben wird.
    - Bei Schreiben mit einer Anfügeabfrage kann die ID mit @@IDENTITY ermittelt werden.
    - Bei Schreiben mit Recordset kann man vor dem rs.Update die schon vergebene Autowert-ID abgreifen.
    - Beim Schreiben in ein gebundenes Formular erhält n.m.M. das Autowert-Feld auch schon einen Zahleneintrag, wenn man mit den Einträgen im Datensatz beginnt. Hier könnte man also unmittelbar vor oder nach Speichern des Datensatzes ebenfalls die ID abnehmen.

    Um alles zusammenzunehmen, würde man seinen Ablauf in etwas VBA einpacken.
     
  4. Datensatz hinzufügen

    Bei konsequenter Nutzung der Möglichkeiten von gebundenen Access-Formularen und -Unterformularen ist nicht eine Zeile VBA für die einfache Eingabe neuer Daten in einer sauberen m:n Beziehung notwendig.
     
    Ohrkester, 23. November 2020
    #4
  5. Ich kann mich ja irren, aber unter Automatik verstehe ich nicht zusätzliches händisches Klicken und Eingeben, sondern die fließende vollständige Erfüllung der Aufgabe aus sich heraus. Im Einzelfall müsste man da nicht einmal zusehen.
     
  6. Hallo,
    Es sollen ja immer 2 bestimmte Schlüsselwerte (2 und 6) automatisch beim Anlegen eines neuen Kunden als 2 Datensätze in die n:m Tabelle angefügt werden.
    Wie soll das ohne VBA gehen ?
     
    gpswanderer, 23. November 2020
    #6
  7. Denkbar als Alternative wäre auch eine Umsetzung über ein DataMacro.
    Da hättest Du aber ein Problem, wenn sich an dem 2 und 6 mal etwas ändern sollte, der normale User, der schon die Tabelle und erst recht die Tabellendefinition nie sehen sollte, dann um so mehr.
     
  8. Datensatz hinzufügen

    Da war jetzt ebs17 schneller.
    Der umgekehrte Fall ist nämlich, dass es auch Ausnahmen geben wird,
    welche durch eine Automatik dann zu unkontrollierten Fehlern führen werden.
    Ich hab die Aufgabenstellung zwar anscheinend nicht genau gelesen, würde aber auch im Nachhinein solche Automatismen durch einen weiteren Entscheidungsprozess mir bestätigen lassen.
    2 automatische Eintragungen sind harmlos und einfach per Löschen korrigierbar. Was ist dann aber mit 10, 20, 100 Eintragungen?
    Edit p.s.:
    Es wäre auch interessant, sich mal das Beziehungsfenster der originalen DB anzuschauen.
     
    Ohrkester, 23. November 2020
    #8
  9. Die oben per Ablauf beschriebene Automatik wird nicht zu unkontrollierten Fehlern führen können, denn im Code ist fixiert, was genau passieren soll, und was soll bei neuen Datensätzen passieren?
    Etwas geplant Ausgeführtes kann ich auch geplant zurücknehmen

    Automatik hieße (für mich) alles unterbrechungsfrei auf einen Rutsch. Auswahlen und Entscheidungen des ob und wie müssen da im Vorfeld getroffen werden.
    Auswahlen sollten an sich auch für den User pflegbar sein, z.B. Auswahltabelle über Formular für User bearbeitbar, Listenfeld mit Mehrfachauswahl bei höherer Änderungsdynamik o.a.
     
  10. praxis hits theory
     
    Ohrkester, 23. November 2020
    #10
  11. Name it to tame it.
     
  12. Hallo Zusammen

    Danke für die Antworten.
    Habe jetzt etwas das funktioniert. Leider kann ich das ganze nicht voll automatisieren, da die Tabelle für neue Datensätze gesperrt ist, wenn ich den Code in einem Anderen Formular Ereignis ausführe.
    Das einzige das klappt, wenn ich in im Listenfeld lbKunden (Kunden auswählen) mit dem Ereignis "Nach Aktualisierung", den Code ausführe, wie ich auch manuell die Kunden den DatenID (Informationen) zuweise.
    Mal schauen ob ich noch was raus finde wann die Tabelle tblDatendetails nicht nicht gesperrt ist.




    Code:
     
  13. Datensatz hinzufügen

    Was hat Deine Zählerei mit diesen Werten zu tun?
    Hat sich Deine Aufgabe "entwickelt"?
     
  14. Hallo Eberhard

    Das waren nur ein paar Datensätze als Beispiel. Die DB ist schon länger in Betrieb und somit auch mit einigen DS befüllt.
     
  15. Sorry, anfängliche Klarheit über die Aufgabe ist bei mir in Verwirrung gewechselt. Da ich dann den theoretisierenden Ansatz habe, erst verstehen zu wollen, was worin in welche Richtung zu tun ist, ehe ich mit Codes als Umsetzung eines Ablaufplanes loslege, kann ich dazu wenig beitragen. Eine Diskussion zum "funktionierenden Code" würde sicher auch in eine andere Richtung gehen als vmtl. von Dir erwartet.

    Ggf. würde man sich ein etwas spezifischeres Feedback, in Wort oder sichtbarer Tat, erwarten.

    Aber hier ist ja auch ein Praktiker unterwegs. Der wirft Dir einige Lösungen hin, vielleicht passt dann eine davon, und alle sind glücklich.

    //OT:
    Ich frage mich manchmal, ob man auch so arbeitet, wie man hier beschreibt, und ob das einer bezahlt. Glück ist wohl recht unterschiedlich verteilt.
     
Thema:

Datensatz hinzufügen

Die Seite wird geladen...
  1. Datensatz hinzufügen - Similar Threads - Datensatz hinzufügen

  2. Kann keinen neuen Datensatz hinzufügen

    in Microsoft Access Hilfe
    Kann keinen neuen Datensatz hinzufügen: Ich habe meine Lieferanten-Datenbank schon ordentlich voran getrieben und mittlerweile funktioniert das mit den Eingeben der Preise und dem Anzeigen aller Artikel und Preise der Lieferanten. Aber...
  3. Datensätze im UF bearbeiten und hinzufügen

    in Microsoft Access Hilfe
    Datensätze im UF bearbeiten und hinzufügen: Hallo, mein erster Beitrag hier. Als leidenschaftlicher Sammler von allem möglichen Zeugs der 80er Jahre, habe ich mich entschieden, eigene Datenbanken für verschiedene Sammelgebiete zu erstellen....
  4. VBA: Hinzufügen von Datensätzen zu einer bestehenden Tabelle

    in Microsoft Access Hilfe
    VBA: Hinzufügen von Datensätzen zu einer bestehenden Tabelle: Hallo, ich möchte zum ersten mal mit loop und einer Wenn-Bedingung mit VBA Datensätze (Felder) aus einer Tabelle in eine andere Tabelle übernehmen und komme nicht weiter. Vielleicht kann mir...
  5. Datensätze werden beim hinzufügen nicht angezeigt

    in Microsoft Access Hilfe
    Datensätze werden beim hinzufügen nicht angezeigt: Hallo zusammen, ich habe nur eine kleine Frage. Warum werden die aktuellen Datensätze beim löschen einer Adresse direkt korrekt angezeigt, beim hinzufügen allerdings nicht ? Anbei beide VBA:...
  6. Konstruierter AutoWert beim Hinzufügen vom Datensatz

    in Microsoft Access Hilfe
    Konstruierter AutoWert beim Hinzufügen vom Datensatz: Guten Tag, ich würde gerne einen Datensatz hinzufügen, wobei es neben dem AutoWert einen selbstkonstruierter "Auto"-Wert existiert. Neben der normalen ID, gibt es die Vorgangsnummer. Diese soll...
  7. VBA: Automatisches Hinzufügen von Datensätze auf Basis einer Abfrage

    in Microsoft Access Hilfe
    VBA: Automatisches Hinzufügen von Datensätze auf Basis einer Abfrage: Hallo zusammen, ich baue gerade eine Datenbank zur Erstellung von Reisekostenrechnungen. Reisekosten setzen sich zusammen aus Fahrt-, Unterkunfts- und Reisenebenkosten sowie...
  8. Hinzufügen von Datensätzen zu einer Tabelle mit einer Anfügeabfrage

    in Microsoft Access Tutorials
    Hinzufügen von Datensätzen zu einer Tabelle mit einer Anfügeabfrage: Hinzufügen von Datensätzen zu einer Tabelle mit einer Anfügeabfrage Access für Microsoft 365 Access 2019 Access 2016 Access 2013 Access 2010 Access...
  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