Mikrodatenbank auf der Grundlage von Random-Dateien

Mikrodatenbank auf der Grundlage von Random-Dateien: Random, FreeFile, Open, Close
Fehler in den "TextBoxen", die nur Zahlen enthalten dürfen, sind noch nicht abgefangen.
Private Type typAutodaten Datensatz definieren.
ModellName As String * 50
Preis As Currency
Geschwindigkeit As Single
Farbe As String * 12
End Type
Private AutoDatenFeld(0 To 100) As typAutodaten Die Variable AutodatenFeld nimmt die Datensätze auf.
Private MaxDatenSatzNr As Integer
Private DatensatzNr As Integer
Private Updatemodus As Boolean
Private Sub cmdAbbrechen_Click() Wird aufgerufen, wenn ein Hinzufügen abgebrochen werden
DatensatzNrAnzeigen soll.
cmdDatensatzHinzufügen.Caption = "&Hinzufügen"
cmdAbbrechen.Enabled = False
cmdDatensatzLöschen.Enabled = True
Updatemodus = False
End Sub
Private Sub cmdDatensatzHinzufügen_Click() Wird aufgerufen, wenn ein Datensatz hinzugefügt wird.
If Updatemodus = False Then Wenn noch kein Updatemodus aktiv, dann auf Update-
lblDatensatzNr.Caption = MaxDatenSatzNr + 1 modus umschalten.
cmdDatensatzHinzufügen.Caption = "&Aktualisieren"
cmdAbbrechen.Enabled = True
cmdDatensatzLöschen.Enabled = False
EingabefelderLöschen
Updatemodus = True
Else
MaxDatenSatzNr = MaxDatenSatzNr + 1 Updatemodus aktiv, Datensatz an das Ende hängen.
DatensatzNr = MaxDatenSatzNr
DatenAktualisieren
DatensatzNrAnzeigen
cmdDatensatzHinzufügen.Caption = "&Hinzufügen"
cmdAbbrechen.Enabled = False
cmdDatensatzLöschen.Enabled = True
Updatemodus = False
End If
End Sub
Sub EingabefelderLöschen() Alle Eingabefelder löschen.
txtGeschwindigkeit.Text = ""
txtModellName.Text = ""
txtPreis.Text = ""
txtFarbe.Text = ""
txtModellName.SetFocus
End Sub
Private Sub cmdDatensatzLöschen_Click() Wird aufgerufen, wenn ein Datensatz gelöscht werden soll.
Dim n As Integer
If MaxDatenSatzNr > 0 Then
For n = DatensatzNr To MaxDatenSatzNr - 1
With AutoDatenFeld(n)
.Geschwindigkeit = AutoDatenFeld(n + 1).Geschwindigkeit
.ModellName = AutoDatenFeld(n + 1).ModellName
.Preis = AutoDatenFeld(n + 1).Preis
End With
Next
MaxDatenSatzNr = MaxDatenSatzNr - 1
MovePrevious
End If
End Sub
Private Sub cmdVor_Click() Datensatzzeiger eine Position vor bewegen.
DatenAktualisieren
MoveNext
End Sub
Private Sub cmdZurück_Click() Datensatzzeiger eine Position zurückbewegen.
DatenAktualisieren
MovePrevious
End Sub
Private Sub Form_Load() Lädt die Datenbank oder legt eine neue an.
Dim DateiNr As Integer
If Dir("Autodaten.dat") = "" Then Wenn noch keine Autodaten.dat-Datei vorhanden, 3 Daten-
With AutoDatenFeld(0) sätze initialisieren.
.ModellName = "Audi Avant"
.Geschwindigkeit = "188"
.Preis = "32600"
.Farbe = "Rot"
End With
With AutoDatenFeld(1)
.ModellName = "VW Golf TS"
.Geschwindigkeit = "178"
.Preis = "22600"
.Farbe = "Blau"
End With
With AutoDatenFeld(2)
.ModellName = "BMW 316i"
.Geschwindigkeit = "192"
.Preis = "28400"
.Farbe = "Grün"
End With
MaxDatenSatzNr = 2
Else
DateiNr = FreeFile Wenn Autodaten.dat vorhanden, dann Inhalt einlesen.
Open "Autodaten.dat" For Random As DateiNr
Do
Get #DateiNr, , AutoDatenFeld(MaxDatenSatzNr)
If EOF(DateiNr) = True Then
Exit Do
End If
MaxDatenSatzNr = MaxDatenSatzNr + 1
Loop
Close
End If
DatensatzNr = 0
DatensatzAnzeigen DatensatzNr
cmdAbbrechen.Enabled = False
End Sub
Sub DatensatzAnzeigen(DatensatzNr As Integer) Inhalt des aktuellen Datensatzes anzeigen.
With AutoDatenFeld(DatensatzNr)
txtGeschwindigkeit.Text = .Geschwindigkeit
txtModellName.Text = .ModellName
txtPreis.Text = .Preis
txtFarbe.Text = .Farbe
End With
DatensatzNrAnzeigen
End Sub
Sub DatensatzNrAnzeigen() Aktuelle Datensatznummer anzeigen.
lblDatensatzNr.Caption = DatensatzNr
End Sub
Private Sub Form_Unload(Cancel As Integer) Beim Verlassen des Formulars Datensätze in Autodaten.dat
Dim DateiNr As Integer, n As Integer zurückschreiben.
DateiNr = FreeFile
DatenAktualisieren
Open "Autodaten.dat" For Random As DateiNr
For n = 0 To MaxDatenSatzNr
Put #DateiNr, , AutoDatenFeld(n)
Next
Close
End Sub
Private Sub MoveNext() Datensatzzeiger auf den nächsten Datensatz bewegen.
DatensatzNr = DatensatzNr + 1
If DatensatzNr > MaxDatenSatzNr Then
DatensatzNr = MaxDatenSatzNr
End If
DatensatzAnzeigen DatensatzNr
End Sub
Private Sub MovePrevious() Datensatzzeiger auf den vorherigen Datensatz bewegen.
DatensatzNr = DatensatzNr - 1
If DatensatzNr < 0 Then
DatensatzNr = 0
End If
DatensatzAnzeigen DatensatzNr
End Sub
Sub DatenAktualisieren() Feststellen, ob Datensatz geändert wurde und in Datenbank
Dim DirtyFlag As Boolean aktualisieren.
DirtyFlag = txtGeschwindigkeit.DataChanged _
Or txtModellName.DataChanged _
Or txtPreis.DataChanged _
Or txtFarbe.DataChanged
If DirtyFlag = True Then
With AutoDatenFeld(DatensatzNr)
.Geschwindigkeit = txtGeschwindigkeit.Text Fehler noch abfangen (String oder Leereingabe = Fehler).
.ModellName = txtModellName.Text
.Preis = txtPreis.Text
.Farbe = txtFarbe.Text
End With
txtGeschwindigkeit.DataChanged = False
txtModellName.DataChanged = False
txtPreis.DataChanged = False
txtFarbe.DataChanged = False
End If
End Sub
Sponsoren und Investoren

Sponsoren und Investoren sind jederzeit herzlich willkommen!
Wenn Sie die Information(en) auf dieser Seite interessant fanden, freuen wir uns über eine kleine Spende. Empfehlen Sie uns bitte auch in Ihren Netzwerken (z. B. Twitter, Facebook oder Google+). Herzlichen Dank!

Nach oben Sitemap
Impressum & Kontakt