Announcement

Collapse
No announcement yet.

Foreign key in Access

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Foreign key in Access

    Hallo Zusammen,

    ich habe u.a. zwei Tabellen angelegt. Tabelle 1 Berufsgruppen mehrere Spalten wichtig

    Spalte 1 mit berufsgruppeID (AutoWert)
    Spalte 2 mit der Bezeichnung.(kurzerText)

    Diese via Formular bearbeiten funktioniert. Zwischen den Datensätzen hin und herspringen sowie Neuanlagen .... einwandfrei.

    Tabelle2 Dienstbezeichnung und jetzt wird es schwierig. wieder mehrere Spalten.
    Spalte1. dienstbezeichungID(Autowert)
    Spalte2 berufsgruppeID(Zahl)
    Spalte3 Dienstbezeichnung .(kurzerText)

    Jetzt möchte ich die Dienstbezeichung via Formular bearbeiten, neu anlegen oder löschen.

    In dem Formular habe ich ein Kombifeld für die Berufsgruppen, mit Auswahl der Berufsgruppe werden die Dienstbezeichnungen dazu im einem Listenfeld gezeigt.

    wenn ich die Auswahl im Listenfeld treffe wird der Wert im dazugehörigen Textfeld angezeigt. Bestehende Datensätze verändern oder löschen funktioniert.

    Möchte ich einen neuen Datensatz hinzufügen, entsteht mein Problem.

    die ID der Berufsgruppe fehlt mir.... und ich habe keine Idee wie sie an den neuen Datensatz anfügen kann.




    Vielen Dank
    Zuletzt editiert von Christian Marquardt; 09.10.2019, 13:03. Reason: Vernüftigen Titel vergeben

  • #2
    Beispielsweise in dem du die Berufsbezeichnung in Tabelle 1 suchst und die ID dann in den neuen Datensatz einträgst.

    Finde es allerdings erstaunlich, dass Access überhaupt einen neuen Datensatz zulässt, ohne zu mekcern, dass die ID fehlt

    Christian

    Comment


    • #3
      es wird ja gemeckert...

      Tabelle 1 steht für sich alleine, da gibt es nur die ID zur Berufsgruppe.

      Tabelle 2 da gibt es die eindeutige ID zur Dienstbezeichnung und die ID für die Berufsgruppenzugehörigkeit. Solange ich den vorhandenen Datensatz manipulieren ist alles gut.

      Lege ich einen neuen Datensatz an, so meckert er weil ihm die BerufsgruppenID fehlt.

      so und nun fehlt mir der Ansatz, ich weiß nicht wie ich die BerufsgruppenID da ins Spiel bringen kann.

      Mein Gedanke dazu... ich habe das Kombifeld in dem ich zuerst die Berufsgruppe auswähle, durch die Auswahl zeige ich die Dienstbezeichnungen an.

      Mit dem Button für die Datensatzoperationen möchte ich einen neuen Datensatz hinzufügen. das Textfeld leert sich.... ich kann eine neue Bezeichnung eintippen.

      wie bringe ich die Auswahl aus dem Kombifeld ins Spiel, da ist ja meine BerufsgruppenID vorhanden.....

      Comment


      • #4
        Ich habe schon lange kein Access mehr in den Fingern gehabt und kann auch niemand raten, es anders zu machen. Ich kann aus dem Kopf nur noch eine nebulöse Beschreibung liefern, was geschehen muss.
        In Tabelle 2 muss ohne Zweifel der Fremdschlüssel eingetragen werden. Ein Auswahlfeld, das vor allem die Anzeige der natürlichen Bezeichnung dient, muss also dennoch diesen Schlüssel Wert, also Primärschlüssel der Nachschlagetabelle, zurückliefern.
        Ein Select für die Befüllung des Nachschlagewertes muss demnach Schlüsselwert und Anzeigewert enthalten. Ich glaube in Access war es auch immer recht einfach, gleich beides anzuzeigen.
        Wichtig ist am Ende dann, das >"Binding" zwischen Nachschlage PK und Insert Datensatz FK richtig anzugeben.

        Eins noch: "solange ich den vorhanden Datensatz manipuliere ist alles gut"
        Bedeutet auch Änderung der Dienstbezeichnung ist möglich?
        Dann wäre nämlich eigentlich alles richtig verdrahtet.
        Gruß, defo

        Comment


        • #5
          Es muss auch explizit ein Unterformular sein, damit die Verdrahtung funktioniert....
          Christian

          Comment


          • #6
            Eins noch: "solange ich den vorhanden Datensatz manipuliere ist alles gut"
            Bedeutet auch Änderung der Dienstbezeichnung ist möglich?
            Dann wäre nämlich eigentlich alles richtig verdrahtet.
            bestehende Datensätze verändern funktioniert.

            versuche es im Moment mit VBA zu realisieren. Bisher komme ich gut voran.

            bei Access fehlen mir ein wenig die Debug Möglichkeiten....

            Auch wenn ich es mit VBA hinbekomme, es muss auch mit den "normalen" Access Werkzeugen gehen.

            Da bleibe ich am Ball...

            Danke

            Comment


            • #7
              Beitrag kann gelöscht werden. Ich habe alles nochmal neu angelegt und es funktioniert.

              Vielen Dank

              Comment

              Working...
              X