Datenbank und MSFlexgid Datensatz eindeutig indentifizieren nach Sortierung

Joi1981

Mitglied
Hallo Leute,

ich benutze VB6 und eine Access-Datenbank um die darin enthaltenen Datensätze in ein Flexgrid innerhalb meiner Anwendung einzulesen. Ich benutze dazu das Data-Objekt um das Flexgrid an die Access-Datenbank zu binden.
Das funktioniert schonmal :)

Auch das Durchsuchen und Filtern der eingelesenen Daten mittels des Flexgrid-Steuerelements funktioniert tadellos.

Meine Frage bezieht sich nun auf die eindeutige Identifizierung eines Datensatzes:

Ich möchte also die in das Flexgrid komplett eingelesenen Datensätze nach einem bestimmten Feld sortieren (funktioniert ja schon) und dann nur die Datensätze im Flexgrid anzeigen lassen, die im Feld Vorname den Namen "Michael" enthalten.

Aus dieser Selektionsauswahl (es werden im Flexgrid nur noch die Datensätze mit Vorname Michael angezeigt) möchte ich nun die übrig gebliebenen Datensätze bearbeiten oder löschen können.

Aber wie mache ich das, dass nach Auswahl eines Datensatzes aus der Vorselektion mein Data-Objekt weiss um welchen Original-Datensatz (Nummer) es sich handelt?
Ich meine wenn ich den Datensatz nun bearbeiten oder löschen möchte, stimmt ja die Ursprungs-Reihenfolge usw. nicht mehr mit den Original ur-eingelesenen Datensätzen überein. Woher weiss mein Data-Objekt nun um welchen Datensatz es sich nun wirklich handelt? (Damit in der Access-Datenbank auch der richtige Datensatz geändert oder gelöscht wird?)

Kann man in das MSFlexgrid vielleicht eine unsichtbare Tag Information schreiben, die den Primärschlüssel eines jeden abgebildeten Datensatzes enthält? Und wenn ja, wie beziehe ich mich beim Schreibvorgang in der Datenbank auf diese eindeutige Datensatz-ID?

Wäre Euch wirklich sehr dankbar wen Ihr mit bei diesem kleinen aber entscheidenden Problemchen helfen könntet.

Ansonsten wünsche ich Euch einen schönen Sonntag!

Danke, Gruß
Jochen
 
Wenn Du in Deiner Access-Datenbank einen eindeutigen Schlüssel hast, kannst Du diesen mit in das Grid aufnehmen, und darüber das Update durch führen.

Wenn Du keinen eindeutigen Schlüssel hast, wirst Du immer ein Problem haben, da die Satzreihenfolge in einer Datenbank letztlich ohne große Bedeutung ist. In diesem Fall solltest Du Deine Datenbank ändern, und z.B. ein Autoincrement-Feld einbauen (welches logischerweise eindeutig ist).
 
Hallo Ronald,

danke für deine Antwort.

Du meinst also, in die Datenbank auf jeden Fall einen Primärschlüssel mit Autowert einfügen?

Mit welchem Befehl verweise ich dann über das Dataobjekt auf den entsprechenden Primärschlüssel (also auf den Datensatz den ich aktuell ändern möchte?)
Muss ich den jedes mal seeken oder kann ich den auch direkt ansprechen?

Vielen Dank schonmal!

Gruß
Jochen
 

Neue Beiträge

Zurück