vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: Datenbank 
Autor: ModeratorDieter (Moderator)
Datum: 15.06.02 10:57

Hi Alex,

Voraussetzung: Geöffnete Datenbank (am besten irgendwo global in einem Modul)

<font color=green>' Modul</font>
Option Explicit
Public Db As Database
 
Public Sub OpenDB()
  Set Db = DBEngine.OpenDatabase("Datenbank.mdb")
End Sub
Das Hinzufügen neuer Datensätze geht so: (Annahme Du hast eine Form mit drei TextBoxen - txtHersteller, txtTyp und txtSeriennummer)
Private Sub cmdSave_Click()
  Dim Rs As Recordset
 
  Set Rs = Db.OpenRecordset("Tabellenname")
  Rs.AddNew
  Rs("Hersteller") = txtHersteller.Text
  Rs("Typ") = txtTyp.Text
  Rs("Seriennummer") = txtSeriennummer.Text
  Rs.Update
  Rs.Close
  Set Rs = Nothing
End Sub
Nun zu dem Formular mit den drei ComboBoxen:
<font color=green>' cmbHersteller füllen</font>
Dim SQL As String
Dim Rs As Recordset
 
SQL = "SELECT Hersteller FROM Tabelle ORDER BY Hersteller"
Set Rs = Db.OpenRecordset(SQL)
If Rs.RecordCount > 0 Then
  With cmbHersteller
    Do Until Rs.Eof
      .AddItem Rs("Hersteller")
      Rs.MoveNext
    Loop
  End With
End If
Rs.Close
Set Rs = Nothing
Wird nun ein Hersteller aus der ComboBox ausgewählt, müssen alle herstellerspezifischen Typen ermittelt werden:
Private Sub cmbHersteller_Click()
  Dim SQL As String
  Dim Rs As Recordset
 
  With cmbHersteller
    If .ListIndex >= 0 Then
      SQL = "SELECT Typen FROM Tabelle WHERE Hersteller = '" & .Text & "' ORDER" & _
        "By Typen"
      Set Rs = Db.OpenRecordset(SQL)
      If Rs.RecordCount > 0 Then
        Do Until Rs.EOF
          cmbTypen.AddItem Rs("Typ")
          Rs.MoveNext
        Loop
      End If
      Rs.Close
      Set Rs = Nothing
    End If
  End With
End Sub
Fehlt jetzt nur noch das Füllen der Seriennummern:
Private Sub cmbHersteller_Click()
  Dim SQL As String
  Dim Rs As Recordset
 
  With cmbTyp
    If .ListIndex >= 0 Then
      SQL = "SELECT Seriennummer FROM Tabelle WHERE Hersteller = '" & _
        cmbHersteller.Text & "'" & _
      " AND Typ = '" & .Text & "' ORDER By Seriennummer"
      Set Rs = Db.OpenRecordset(SQL)
      If Rs.RecordCount > 0 Then
        Do Until Rs.EOF
          cmbSeriennummer.AddItem Rs("Seriennummer")
          Rs.MoveNext
        Loop
      End If
      Rs.Close
      Set Rs = Nothing
    End If
  End With
End Sub
Das Prinzip müsste jetzt klar sein - oder?

Cu
Dieter
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Datenbank70Alex15.06.02 10:26
Re: Datenbank306ModeratorDieter15.06.02 10:57
Re: Datenbank36Alex15.06.02 12:06
Re: Datenbank39Alex15.06.02 12:20
Re: Datenbank240ModeratorDieter15.06.02 12:29
Re: Datenbank43Alex15.06.02 12:33
DAO-Verweis???273ModeratorDieter15.06.02 12:32
Re: DAO-Verweis???37Alex15.06.02 12:36
Re: DAO-Verweis???40Alex15.06.02 12:42
Wo und wann...240ModeratorDieter15.06.02 12:49
Re: Wo und wann...32Alex15.06.02 12:57
Großer Gott 230ModeratorDieter15.06.02 13:12
Re: Großer Gott 36Alex15.06.02 13:49
Und jetzt nochmal die Verweise...227ModeratorDieter15.06.02 13:53
Re: Und jetzt nochmal die Verweise...26Alex15.06.02 13:57
so jetzt gehts ABER..31Alex15.06.02 14:12
Stimmt aber nicht!245ModeratorDieter15.06.02 14:25
Re: Stimmt aber nicht!29Alex15.06.02 14:31
Re: Stimmt aber nicht!236ModeratorDieter15.06.02 15:27
Re: Stimmt aber nicht!41Alex15.06.02 21:55
Da ich den ganzen Thread gelesen habe: ...219unbekannt15.06.02 22:10
Re: Da ich den ganzen Thread gelesen habe: ...28Alex16.06.02 10:30
Vorschlag...240ModeratorDieter16.06.02 10:40
Re: Vorschlag...31Alex16.06.02 10:59
Wieso?237ModeratorDieter16.06.02 11:11
Re: Wieso?29Alex16.06.02 11:45
Ok.... dann eben so...232ModeratorDieter16.06.02 12:03

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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