vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 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
Einen Teil geschafft  
Autor: Surfine2001
Datum: 26.02.03 15:00

Hallo zusammen,

zuerst ein herzliches Dankeschön an Peacemaker und AndySafe

Und so sieht das aus was ich die ganze Zeit gesucht hab, naja oder fast. Habe in der Datenbank die Kombinationsfelder entfernt und nur mit Text (also String) weitergearbeitet).

Die Tabelle Eigentümer Spalte Anrede wird zuerst mit dem vorhandenen Text eingelesen und in der Combo1 reingeschrieben. Bei einem Klick auf Combo1 ist auch der ausgelesene Text markiert (z. B. Familie, bei mir befindet er sich in der 3. Zeile der ComboBox.

Das ist der Code (hat aber noch Verbesserungsbedarf)

Private Sub Form_Load()
'Datenbank connect
    Set ADOcn = New ADODB.Connection
 
    ' Setzen eines neuen Recordsets
    Set ADOrs = New ADODB.Recordset
    Set rstEigentuemer = New ADODB.Recordset
    Set rstAnrede = New ADODB.Recordset
 
    ' Setzen einer neuen BindingCollection
    Set oBC = New BindingCollection
 
    Dim DBPfad As String
 
    ' Für SQL-Abfrage
    Dim sSqlEigentuemer As String
    Dim sSqlAnrede As String
 
    ' Datenbankpfad
    DBPfad = App.Path & "\Haus.mdb"
 
    ' Provider auswählen + Datenbankpfad
    With ADOcn
      .CursorLocation = adUseClient
      .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
        DBPfad
      .Open
    End With
 
    'Recordset für die Tabelle Eigentümer
    With ADOrs
      .ActiveConnection = ADOcn
      .Source = "Eigentuemer"
      .CursorType = adOpenStatic
      .LockType = adLockOptimistic
      .Open
    End With
 
    ' BindingCollection der Textboxen
    With oBC
      Set .DataSource = ADOrs
      .Add text1(0), "text", "Vorname"
      .Add text1(1), "text", "Nachname"
      .Add text1(2), "text", "Strasse"
      .Add text1(3), "text", "Haus-Nr"
      .Add text1(4), "text", "PLZ"
      .Add text1(5), "text", "Ort"
       ' und hier die anderen Felder, wenn noch welche vorhanden
    End With
 
    ' Anrede aus Tabelle Eigentuemer auslesen
    sSqlEigentuemer = "SELECT Anrede FROM Eigentuemer"
 
   With rstEigentuemer
       ' Recordset-Objekt vom Typ sSqlEigentuemer öffnen.
       .Open Source:=sSqlEigentuemer, _
            ActiveConnection:=ADOcn, _
            CursorType:=adOpenKeyset, _
            LockType:=adLockOptimistic, _
            Options:=adCmdText
 
     ' Kombinationsfeld: 1. Zeile wird mit Anredetext gefüttert (Tabelle 
     ' Eigentümer) bevor draufgeklickt wird
     Combo1.Text = rstEigentuemer.Fields(0)
   End With
 
 
    ' Spalte Anrede aus Tabelle Anrede
       sSqlAnrede = "SELECT Anrede FROM Anrede"
 
      With rstAnrede
          ' Recordset-Objekt vom Typ sSqlAnrede öffnen.
          .Open Source:=sSqlAnrede, _
               ActiveConnection:=ADOcn, _
               CursorType:=adOpenKeyset, _
               LockType:=adLockOptimistic, _
               Options:=adCmdText
 
           ' Schleife über alle Datensätze
           Do Until .EOF
               '1-spaltige Combobox füllen
               With Combo1
                   ' Eintrag hinzufügen
                  .AddItem rstAnrede.Fields(0).Value
               End With
               ' Ab zum nächsten Datensatz
               .MoveNext
           Loop
       End With
 
    ' Speicher freigeben
    If Not rstAnrede Is Nothing Then rstAnrede.Close: Set rstAnrede = Nothing
    If Not rstEigentuemer Is Nothing Then rstEigentuemer.Close: Set _
      rstEigentuemer = Nothing
End Sub
Muss noch rausfinden wie ich dieses Formular als schreibgeschützt öffnen kann und bei einem klick auf "Bearbeiten" sich ein anderes Formular öffnet und erst da kann der Benutzer alles ändern. Einen neuen Datensatz hinfügen muss ich auch noch, aber erst eins nach dem anderem.

Speichern gehört ja auch noch dazu. Wie sende ich diese Informationen an den veränderten Datensatz weiter? => Steht einiges glücklicherweise hier im Workshop oder Forum

Da habe ich noch einiges vor mir.

Danke nochmal und weiter so vb@archiv

Gruss Agnes

Gruss
Agnes

------------------------------------
Wenn wir heut gemeinsam starten
und wir alle viel erwarten,

denken wir an jedem Tag daran,
dass man es nur schaffen kann,

wenn wir fest zusammen stehen
und den Weg gemeinsam gehen.

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Hilfe !!!867Surfine200121.02.03 13:12
Re: Hilfe !!!444Peacemaker21.02.03 13:31
Re: Hilfe !!!422Surfine200121.02.03 13:55
Re: Hilfe !!!416Peacemaker21.02.03 14:12
Re: Hilfe !!!417Surfine200121.02.03 14:50
Re: Hilfe !!!412Peacemaker21.02.03 15:20
Re: Hilfe !!!412Surfine200121.02.03 16:05
Re: Hilfe !!!391Peacemaker21.02.03 16:48
Re: Hilfe !!!407Surfine200121.02.03 16:53
Re: Hilfe !!!442AndySafe21.02.03 16:56
Danke408Surfine200121.02.03 17:05
Gehts auch ohne Datenumgebung?437Surfine200125.02.03 08:55
Re: Gehts auch ohne Datenumgebung?410Surfine200125.02.03 09:38
Re: Hilfe !!!408AndySafe25.02.03 18:47
401Surfine200125.02.03 19:55
Einen Teil geschafft 413Surfine200126.02.03 15:00
Re: Einen Teil geschafft 401AndySafe26.02.03 18:49

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