Filou Geschrieben 15. August 2006 Geschrieben 15. August 2006 Hi ich hab ein kleines Problem mit einer Liste. Ich habe eine Datenbank in der eine Menge Dokumente stehen. Diese Dokumente möchte ich je nach Kategorie in einer Liste (CListCtrl) anzeigen. Das Problem ist, dass ich die Dokumente in der Liste wieder der Datenbank zuordnen muss. (Wenn ich sie öffnen oder umbenennen will). Der Primärschlüssel ist aber nicht der Titel des Dokuments, sonder der Dateiname. Und der wird in der Liste nicht angezeigt weil er für den Benutzer unerheblich ist. Es steht nur der Titel und das Datum in der Liste in dem Dialog. Das wäre noch nicht so schwer, wenn ich die Dokumente in der Liste nicht noch nach Datum sorieren muss. Wenn ich das tue, weiß ich nicht wie ich ein Eintrag in der Liste einem Eintrag der Datenbank zuordnen soll. Gut wäre es, wenn ich für den Benutzer unsichtabr, den Primärschlüssel in die CListCtrl eintragen könnte. Geht so was? Oder habt Ihr da eine andere Idee? Grüße, Filou
Guybrush Threepwood Geschrieben 15. August 2006 Geschrieben 15. August 2006 hmm wenn du die Daten aus der Datenbank holst hast du doch ein Recordset wo alles drinsteht. Das müsstest du doch eigentlich schon sortieren können und dann füllst du deine Listbox mit den entsprechenden Daten und hast dann in der Listbox die selbe Reihenfolge der Daten wie im Recordset.
Filou Geschrieben 15. August 2006 Autor Geschrieben 15. August 2006 Hmmm.. Also wenn ich die Dateien aus der Tabelle der Datenbank auslese, werden sie nicht sortiert. Nach Datum werden sie über m_ctrlList.SortItems(...) sortiert. Also wenn sie in der Liste stehen. Das Probel ist halt dass ich keinen Primärschlüssel in der CListCtrl habe mit dem ich dann "rückwärts" suchen kann.
Guybrush Threepwood Geschrieben 15. August 2006 Geschrieben 15. August 2006 Wenn du dein Select Statement entsprechend formulierst, müsste das doch sortiert werden.
Filou Geschrieben 15. August 2006 Autor Geschrieben 15. August 2006 Wenn du dein Select Statement entsprechend formulierst, müsste das doch sortiert werden. Du meinst hier: m_DBDokumente.Open(dbOpenDynaset, "SELECT * FROM Dokumente", 0); // Datenbank öffnen Wie sortiere ich das nach Datum? Mein SQL ist sehr mäßig Wenn das ginge, wäre es toll!!
Filou Geschrieben 15. August 2006 Autor Geschrieben 15. August 2006 ICH HABS HINBEKOMMEN!!! m_DBDokumente.Open(dbOpenDynaset, "SELECT * FROM Dokumente ORDER BY(Datum)", 0); // Datenbank öffnen Es war sooo einfach *schäm* ich hab einfach zu sehr in C++ gedacht! Tausend Dank! Und die Zuordung stimmt auch!! DANKE
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden