vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

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

Suche Visual-Basic Code
Daten ... Textboxen ... und ein Problem... 
Autor: Capt. Kirk
Datum: 05.12.03 22:10

Hallo Leute,

ich hab ein kleines Problem ...

Ich hab ein Formular mit 1 Combobox (Name), und 2 Textboxen (Ort, PLZ).
Diese 3 Sachen (Name, PLZ, Ort) sind Datenfelder in einer Access-DB.
Die Combobox mit den Namen ist mit folgendem Code befüllt ...

Private Sub Form_Load()
Dim DB As Database
Dim Rs As Recordset

Set DB = DBEngine.OpenDatabase("c:\daten.mdb")
Set Rs = DB.OpenRecordset("daten")

Combo1.Clear
If Rs.RecordCount > 0 Then
While Not Rs.EOF
Combo1.AddItem Rs.Fields("Name").Value
Rs.MoveNext
Wend
End If

Rs.Close
DB.Close
End Sub

Die Namen aus der Datenbank werden in der Combobox auch angezeigt.

Wie bekomme ich nun die anderen beiden Datensätze in den Textfelder angezeigt,
wenn per Combobox eine Auswahl getroffen wird ?

Ich hoffe, jemand hat einen Tipp

Viele Grüße
Capt. Kirk
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten ... Textboxen ... und ein Problem... 
Autor: Ne kölsche Jung
Datum: 06.12.03 20:50

Hallo Capt. Kirk

Teste mal den Code.

MfG Jürgen

Option Explicit
 
Dim db As Database
Dim rs As Recordset
 
Private Sub Combo1_Click()
    rs.AbsolutePosition = Combo1.ListIndex
    Text1.Text = rs!Address
    Text2.Text = rs!City
End Sub
 
Private Sub Form_Load()
    Dim Count As Integer
    Dim sql As String
 
    Show
    Combo1.Clear
 
    Set db = Workspaces(0).OpenDatabase("C:\Programme\Microsoft Visual" & _
      "Studio\VB98\BIBLIO.MDB")
 
    '--Redordset nach Namen sortieren. Adresse und Stadt müssen vorhanden sein
    sql = "SELECT Name, Address, City FROM Publishers " & _
          " WHERE Address > '' and City > '' " & _
          " ORDER BY Name ASC;"
    Set rs = db.OpenRecordset(sql)
 
    With rs
 
        '--Nur 30 Datensätze einlesen.
        'Leider alle am Anfang den geichen Buchstaben. Aber ist nur ein Test
        While Not .EOF
            '--Zum Testen in Form anzeigen
            Me.Print !Name & " " & !Address & " " & !City
 
            '--Name in ComboBox eintragen
            Combo1.AddItem !Name
            .MoveNext
            Count = Count + 1
            If Count >= 30 Then Exit Sub
        Wend
    End With
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten ... Textboxen ... und ein Problem... 
Autor: Capt. Kirk
Datum: 06.12.03 23:39

Hi!!!
vielen Dank für den Code... hat einwandfrei geklappt und ich hab in auf meine
Datenbank angepasst .... Ist es z.B. auch möglich, dass ich in das Combofeld
den Begriff schreibe, mit "Enter" bestätige und dann das richtige Ergebnis angezeigt
wird? ........ Jetzt funktioniert es ja mit dem Click-Ereignis.

Habs schon ein wenig probiert... hat aber nicht soooo geklappt

Grüße
Kirk
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten ... Textboxen ... und ein Problem... 
Autor: Ne kölsche Jung
Datum: 07.12.03 01:02

Hallo Capt. Kirk

Habe den Code etwas umgeschrieben
Die ComboBox muss die Eigenschaft haben Style = vbComboDropDown.
Dann kannst Du in die ComboBox schreiben und mit KeyPress die Return-Taste
abfragen.

Tschaui, und grüsse Scotti von mir, Jürgen
Option Explicit
 
Dim db As Database
Dim rs As Recordset
 
Private Sub Combo1_Click()
    rs.AbsolutePosition = Combo1.ListIndex
    Text1.Text = rs!Address
    Text2.Text = rs!City
End Sub
 
Private Sub Combo1_KeyPress(KeyAscii As Integer)
    If KeyAscii = vbKeyReturn Then
        DatenEinlesen Combo1.Text
    End If
End Sub
 
Private Sub Form_Load()
    Show
    Set db = Workspaces(0).OpenDatabase("C:\Programme\Microsoft Visual" & _
      "Studio\VB98\BIBLIO.MDB")
End Sub
 
 
Private Sub DatenEinlesen(ByVal Suche As String)
    Dim Count As Integer
    Dim sql As String
 
    Combo1.Clear
    Cls
 
    '--Redordset nach Namen sortieren. Adresse und Stadt müssen vorhanden sein
    sql = "SELECT Name, Address, City FROM Publishers " & _
          " WHERE Name LIKE '*" & Suche & "*'" & _
          "AND Address > '' and City > '' " & _
          " ORDER BY Name ASC;"
    Set rs = db.OpenRecordset(sql)
 
    With rs
 
        '--Nur 30 Datensätze einlesen.
        'Leider alle am Anfang den geichen Buchstaben. Aber ist nur ein Test
        While Not .EOF
            '--Zum Testen in Form anzeigen
            Me.Print !Name & " " & !Address & " " & !City
 
            '--Name in ComboBox eintragen
            Combo1.AddItem !Name
            .MoveNext
            Count = Count + 1
            If Count >= 30 Then Exit Sub
        Wend
 
        If .RecordCount > 0 Then
            Combo1.ListIndex = 0
        Else
            Me.Print "KEINE DATEN GEFUNDEN."
        End If
    End With
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten ... Textboxen ... und ein Problem... 
Autor: Capt. Kirk
Datum: 07.12.03 10:09

Funzt einwandfrei!!!!!!!!!!!!!!!!!!!!
Vielen Dank kölsche Jung!!

Grüße
Capt. Kirk

PS: Grüsse an Scotty richt ich aus
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten ... Textboxen ... und ein Problem... 
Autor: Capt. Kirk
Datum: 08.12.03 09:10

Hi nochmal,
ist es auch möglich die Combobox zu ändern? wenn ich „a“ eingebe klappt ein
Fenster auf, wo alle Einträge beginnend mit „a“ aufgelistet werden ...

Grüße
Capt. Kirk ... und Scotty
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Daten ... Textboxen ... und ein Problem... 
Autor: Ne kölsche Jung
Datum: 08.12.03 15:20

Hallo Kirk

Wir befinden uns im Forum >Suche VB-Code<, aber ein bischen sollst Du auch tun.
Wenn man ein Problem selber lösen kann, macht das programmieren noch mehr Spass. Und man vergisst auch das dazu gelernte nicht so schnell.
Aber es hat mir trozdem Freude gemacht Dir zu helfen.
Wenn Du wirklich mal nicht weiter weisst poste dein Problem und Dir wird geholfen.

Mfg Jürgen

Nemm jede Jeck su wie he es, denn jede Jeck es anders.
Der Karnerval naht.

Option Explicit
 
Dim db As Database
Dim rs As Recordset
 
 
Private Sub List1_Click()
    '--Damit die Change-Eigenschaft nicht aufgerufen wird
    Text1.Enabled = False
 
    With rs
        .AbsolutePosition = List1.ListIndex
        Text1 = !Name
        Text2 = !Address
        Text3 = !City
    End With
 
    List1.Visible = False
    Text1.Enabled = True
End Sub
 
Private Sub Text1_Change()
    If Text1 = "" Then
        List1.Visible = False
    Else
        DatenEinlesen Text1.Text
    End If
End Sub
 
Private Sub Form_Load()
    Set db = Workspaces(0).OpenDatabase("C:\Programme\Microsoft Visual" & _
      "Studio\VB98\BIBLIO.MDB")
End Sub
 
 
Private Sub DatenEinlesen(ByVal Suche As String)
    Dim Count As Integer
    Dim sql As String
 
    List1.Clear
 
    '--Redordset nach Namen sortieren. Adresse und Stadt müssen vorhanden sein
    sql = "SELECT Name, Address, City FROM Publishers " & _
          " WHERE Name LIKE '*" & Suche & "*'" & _
          "AND Address > '' and City > '' " & _
          " ORDER BY Name ASC;"
    Set rs = db.OpenRecordset(sql)
 
    With rs
 
        While Not .EOF
            '--Name in ListBox eintragen
            List1.AddItem !Name
            .MoveNext
        Wend
 
        If .RecordCount > 0 Then
            With List1
                .Left = Text1.Left
                .Top = Text1.Top + Text1.Height
                .Width = Text1.Width
                .ZOrder 0
                '.Height = 8 * Screen.TwipsPerPixelY  '8 Einträge sichtbar
                .Visible = True
            End With
        Else
            Cls
            Me.Print "KEINE DATEN GEFUNDEN."
            List1.Visible = False
        End If
    End With
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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-2024 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