Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
200to204
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
200to204
200to204
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datenbank sortiert öffnen

Datenbank sortiert öffnen
11.01.2003 16:29:54
Johannes
Hallo,

ich möchte mit DAO aus einer Access Datenbank Datensätze in ein Feld einlesen. In der Access Datenbank sind die beiden ersten Spalten als Primärschlüssel definiert. Wenn ich die Access Datenbank per Hand öffne, sind die Daten gemäß dem Primärschlüssel sortiert. Wenn ich aber mit DAO aus der Datenbank lese, erhalte ich eine andere Sortierung. Wie kann ich sicherstellen, dass die Daten beim Öffnen mit DAO ebenfalls gemäß dem Primärschlüssel sortiert sind?

Danke

Johannes


14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Datenbank sortiert öffnen
11.01.2003 16:33:10
L.Vira
ich weiß ja nicht, wie deine Abfrage aussieht, wie wärs mit Order By?
Re: Datenbank sortiert öffnen
11.01.2003 16:51:56
Johannes
Hallo L.Vira,

vielen Dank für Deine Antwort. Darauf war ich auch schon gestossen, ich weiß nur nicht wie die Syntax genau aussieht. Hast Du vielleicht ein kleines Beispiel?

Danke

Johannes

Re: Datenbank sortiert öffnen
11.01.2003 17:54:15
Ramses
Hallo Johannes,

Deine Tabelle in Access heisst z.B. "Abschlussdaten"

SELECT Abschlussdaten.Firma, Abschlussdaten.Adresse, Abschlussdaten.Ort FROM Abschlussdaten ORDER BY Abschlussdaten.Ort;

Gruss Rainer

Re: Datenbank sortiert öffnen
11.01.2003 19:39:43
Johannes
Hallo Rainer,

danke für Deine Antwort. Meine Code sieht bisher folgendermaßen aus:

Set db = OpenDatabase(datei)
Set rs = db.OpenRecordset("tabelle1")

For i1 = 1 To 10000
If rs.EOF Then
db.Close
Exit For
Else
For i2 = 1 To 9
daten(i1, i2) = rs.Fields(i2 - 1) & ""
Next i2
rs.MoveNext
End If
Next i1

Ich denke die Anweisung "order by" muss ich irgendwie bei dem db.openrecordset anhängen. Weißt Du wie das genau geht?

Danke

Johannes

Anzeige
Das geht so nicht...
11.01.2003 20:35:17
Ramses
Hallo Johannes,

Ich bin davon ausgegangen dass du die Abfragedaten über SQL erhältst, deshalb die SQL Anweisung.
Die Daten in der Tabelle werden immer in der Form zurückgegeben, wie sie in die Tabelle eingegeben wurden,... also in den meisten Fällen unsortiert.
Da du die Daten in Array einliest, musst du das Array sortieren.

Das ist allerdings nicht ganz einfach bei 10'ooo Datensätzen und nimmt etwas Zeit in Anspruch.
Die einfachste Variante wird sein, die Daten in eine Tabelle zu schreiben und dort dann von EXCEL sortieren lassen.

Das ist ein Beispiel zum sortieren eines ein-dimensionalen Arrays.
Vielleicht hilft es dir auf die Sprünge:

Gruss Rainer

Anzeige
Das geht so nicht...
11.01.2003 20:35:18
Ramses
Hallo Johannes,

Ich bin davon ausgegangen dass du die Abfragedaten über SQL erhältst, deshalb die SQL Anweisung.
Die Daten in der Tabelle werden immer in der Form zurückgegeben, wie sie in die Tabelle eingegeben wurden,... also in den meisten Fällen unsortiert.
Da du die Daten in Array einliest, musst du das Array sortieren.

Das ist allerdings nicht ganz einfach bei 10'ooo Datensätzen und nimmt etwas Zeit in Anspruch.
Die einfachste Variante wird sein, die Daten in eine Tabelle zu schreiben und dort dann von EXCEL sortieren lassen.

Das ist ein Beispiel zum sortieren eines ein-dimensionalen Arrays.
Vielleicht hilft es dir auf die Sprünge:

Gruss Rainer

Anzeige
Re: Das geht so nicht...
12.01.2003 10:25:52
Johannes
Hallo Rainer,

bist du sicher, dass es überhaupt nicht geht? Wie schon gesagt, habe ich einen Primärschlüssel definiert. Beim manuellen Öffnen der Datei sind die Daten dadurch so sortiert, wie ich es mir vorstelle. Ich hatte vermutet man könne es mit der "order by" Eigenschaft irgendwie machen, habe es aber leider bisher nicht hingekriegt.

Gruß

Johannes

Re: Das geht so nicht...
12.01.2003 11:37:39
Ramses
Hallo Johannes,

Ich weiss ja nicht was und wie du einliest. Aber auf jeden Fall nicht über SQL wo man das gleich sortieren lassen könnte.

Schau doch mal bei Spotlight.de vorbei. Dort im Access - Forum können sie dir sicher ein paar Tips mitgeben wie man die Datenbank am besten anspricht.

In Access bin ich nicht gerade der grosse Hirsch :-)

Gruss Rainer

Anzeige
Re: Das geht so nicht...
12.01.2003 12:03:27
Johannes
Hallo Rainer,

ich überlege gerade, ob ich meine Daten nicht auch in einer externen Excel Tabelle speichern könnte. Damit wäre mein Sortierproblem gelöst, weil ich dann feste Zeilennummern hätte. Ich muss dazu sagen, dass mein Programm nicht in VBA sondern in normalem VB6 geschrieben ist. Weißt du zufällig ob ich eine Excel Tabelle von VB6 aus ähnlich wie eine Access-Tabelle lesen kann?

Gruß Johannes

Tut mir leid....
12.01.2003 12:46:15
Ramses
hallo Johannes,

von reinem VB habe ich keine Ahnung,... aber ich denke das sollte machbar sein, alternativ steht dir ja immer noch eine CSV-Datei zur Verfügung wenn du den Primärschlüssel mit übergibst.
Die Datei ist sicher leichter zu lesen und zu schreiben als eine EXCEL Datei.

Gruss Rainer

Anzeige
Re: Datenbank sortiert öffnen
12.01.2003 13:18:22
GerdZ
Hallo Johannes,

versuche es mal mit:
Set rs = db.OpenRecordset("select * from tabelle1 order by 1, 2")

Gruß
Gerd

Re: Tut mir leid....
12.01.2003 15:14:22
Johannes
Hallo Rainer,

was ist eine CSV Datei?

Gruß Johannes

Re: Tut mir leid....
12.01.2003 17:05:08
GerdZ
Hallo Johannes,

CSV-Dateien sind Text-Dateien, bei denen die Werte/Texte durch Komma oder Semikolon getrennt sind. Falls innerhalb des Textes das Trennzeichen vorkommt, stehen die Texte in Anführungszeichen.

Hast Du meinen Vorschlag zum sortierten Öffnen des RecordSets schon ausprobiert? (https://www.herber.de/forum/messages/202142.html)

Gruß
Gerd

Anzeige
Re: Tut mir leid....
12.01.2003 18:38:25
Johannes
Hallo Gerd,

ich habe gerade erst gesehen, dass du weiter oben schon gepostet hattest und habe es sofort ausprobiert. Einfach Super! Es funktioniert. Vielen Dank dafür. Dank auch an Rainer und L.Vira. Bei der ganzen Aktion habe ich viel gelernt!

Viele Grüße

Johannes

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige