| |

Visual-Basic EinsteigerRe: Random-Dateien und mehrdimensionale Arrays | |  | Autor: Danzi | Datum: 04.12.09 11:10 |
| 1. Fehler
Type Datensatz
Baunamen(1 To 10, 1 To 10) As Variant
End Type
Ein Variant hat keine fest Größe. Eine Random-Datenbank funktioniert aber nur mit einer festen Datensatzlänge. Warum nimmst Du Variant? Du mußt doch wissen, was in die Variable kommen soll.
Zum Beispiel eine Ganzzahl:
Type Datensatz
Baunamen(9, 9) As Long
End Type
oder Text:
Type Datensatz
Baunamen(9, 9) As String * 50
End Type
2. Fehler
Open "BauTest.dat" For Random As #2 Len = Len(Bau)
For a = 1 To 10
Get #2, a, Bau
Next
Close #2
Die Schleife hat überhaupt keinen Sinn, da in der Schleife ein und die selbe Variable (Bau) erst mit dem ersten Datensatz gefüllt wird, dann mit dem zweiten gefüllt (überschrieben) wird, dann mit dem dritten usw.
Zum Schluß steht in der Variablen der zehnte Datensatz.
Dann kannst Du ja gleich folgendes schreiben:
Open "BauTest.dat" For Random As #2 Len = Len(Bau)
Get #2, 10, Bau
Close #2
Ich glaube, daß Du es nicht so richtig verstehst.
Du hast eine Variable (Bau), die schon ein Array (Baunamen) mit zwei Dimensionen á 10 Werten (also 100 Werte) enthält.
Wenn Du den ersten Datensatz einliest
Get #2, 1, Bau
stehen in der Variablen 100 Werte. Also alle Werte aller Dimensionen.
Wenn Du jetzt den zweiten Datensatz (nicht die zweite Dimension) einliest
Get #2, 2, Bau
stehen in der Variablen nicht mehr die ersten 100 Werte sondern die nächsten 100 Werte.
Im übrigen glaube ich mittlerweile, daß Dein Problem nicht darin liegt, ein Array zu speichern. Das Array scheint mir eher eine Behelfslösung von Dir zu sein, da Du nicht weißt, wie man eine Random-Datenbank aufbaut. Bei einer Dimension von 1000 * 15 * 50 = 750000 Werte, liest man gerade nicht alle Werte ein, sonder nur die, die gebraucht werden (deshalb Random). Relationen werden durch mehrere Dateien und den Datensatznummern realisiert.
Ein Datensatz kann nur 64 KB größ sein. Ich programmiere seit 20 Jahren und bin noch nie an diese Grenze gestoßen. Trotzdem kann ich eine Random-Datei mit Millionen von Datensätzen innerhalb von Bruchteilen von Sekunden durchsuchen. |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevWizard für VB5/6 
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere InfosTipp des Monats Access-Tools Vol.1 
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|