Access-Datenbank lesen

As New Class1, As Connection, As Recordset
Quellcode im Formular
Dim orte As New Class1 Class1 ist der Name des Klassenmoduls.
Private Sub Combo1_Click(Index As Integer)
 orte.berechneEntfernung Combo1(Index), Label1
End Sub
Private Sub Form_Load()
Dim i%, oName$
 orte.oeffneDatenbank "Test.mdb" Datei öffnen.
 orte.fuelleCB Combo1(0)
 orte.fuelleCB Combo1(1)
End Sub
Private Sub Command1_Click()
 Unload Me
End Sub
Quellcode im Klassenmodul
Private conn As Connection
Private rsOrt As Recordset
Private Sub Class_Initialize()
 Set rsOrt = New Recordset
End Sub
Public Sub oeffneDatenbank(name As String)
Dim pfad$
Set conn = New Connection
 conn.CursorLocation = adUseClient
 conn.Provider = "Microsoft.Jet.OLEDB.4.0" "Microsoft.Jet.OLEDB.3.51" für ältere Access-DB.
 pfad = App.Path & "\" & name Pfad und Name werden zusammengesetzt.
 conn.Open pfad Datenbank mit SQL lesen.
 rsOrt.Open "SELECT * FROM Orte ORDER BY Name", conn, adOpenKeyset, adLockOptimistic
End Sub
Übergabe: ComboBox, Index.
Public Sub berechneEntfernung(cb As ComboBox, lb As Label)
Static x1!, y1!, name1$, x2!, y2!, name2$
Dim dist!, dx!, dy!
rsOrt.AbsolutePosition = cb.ListIndex + 1
 Select Case cb.Index
  Case 0: Aufruf erfolgt von ComboBox1.
    x1 = rsOrt!Xkm: y1 = rsOrt!Ykm: name1 = rsOrt!name
  Case 1: Aufruf erfolgt von ComboBox2.
    x2 = rsOrt!Xkm: y2 = rsOrt!Ykm: name2 = rsOrt!name
 End Select
dx = x2 - x1: dy = y2 - y1
dist = Sqr(dx * dx + dy * dy)
lb.Caption = " Die Luftlinie zwischen " & Trim$(name1) & " und " & _
  Trim$(name2) & " beträgt " & Format$(dist, "###0") & " km! "
End Sub
Public Sub fuelleCB(cb As ComboBox)
rsOrt.MoveFirst Zurücksetzen.
 Do While Not rsOrt.EOF
  cb.AddItem rsOrt!name Ortsnamen => Combobox.
  rsOrt.MoveNext
 Loop
cb.ListIndex = 0 Anfangswert in Combobox setzen => Combo_Click!
End Sub
Private Sub Class_Terminate()
conn.Close
 Set rsOrt = Nothing
 Set conn = Nothing
End Sub

 Ranking-Hits zurück Sitemap
Designed by www.wbrnet.info