Announcement

Collapse
No announcement yet.

Autoincrementfeld als eindeutiger Index

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

  • Autoincrementfeld als eindeutiger Index

    Hallo Ihr da draussen,

    ich stehe vor einer ungelösten Aufgabe (Probleme gibt es ja nicht mehr) über die bestimmt schon diskutiert wurde, aber ich habe jetzt schon zwei Stunden gesucht und keine richtige Antwort gefunden. Also: Ich benötige in einer Access Datenbank (Zugriff über ADO - TADOConnection + TADOTable) zwei Tabellen, die über einen eindeutigen Key miteinander verbunden sind. Der Einfachheit halber habe ich die Schlüsselfelder als Autoincrement angelegt. Nun möchte ich in einer procedure, die das Anlegen der Datensätze übernimmt, den Key als Rückgabewert verwenden.

    function TDM_Main.CreateData: Longint;<br>
    begin<br>
    with Tabelle do<br>
    begin<br>
    Append;<br>
    ... Daten setzen ...<br>
    Post;<br>
    Result := KeyFeld.Value; <br>
    end;<br>
    <br>
    Der Rückgabewert ist aber in jedem Falle 0. Erst wenn ich hinter das Post ein Requery setze, dann wird ein realer Wert zurückgeliefert. Das funzt aber nur beim ersten Datensatz, da Requery den Datensatzzeiger auf den ersten Datensatz setzt und ich will ja den Key verwenden, um die Daten wiederzufinden (habe also kein weiteres eindeutiges Kriterium).

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

  • #2
    Hallo,

    im <b>Download</b>-Ordner des Delphi-Forums ist ein ADO-Beispielprojekt für eine ACCESS-Datenbank zu finden, bei der die Master-/Detail-Tabellen jeweils AutoWert-Spalten für den Primärschlüssel verwenden und trotzdem problemlos editiert werden können. Beim Anlegen eines neuen Detail-Datensatzes wird der dazugehörende Master-Primärschlüsselwert automatisch zugewiesen

    Comment

    Working...
    X