vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
TOP-Angebot: 17 bzw. 24 Entwickler-Vollversionen zum unschlagbaren Preis!  
 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

VB & Datenbanken
Re: DataList zur Laufzeit an Recordset-Objekt binden 
Autor: Timon
Datum: 02.12.07 12:26

Hallo zusammen,

seid Ihr alle zurzeit beim Advent-Feiern? Is igendwie so ruhig im Forum. Naja, da leider noch keine Vorschläge kamen habe ich die Nacht mit Büchern, Internet und rumprobieren herumgeschlagen und nun eine zwar nicht ganz perfekte aber funktionelle Lösung für mein Problem gefunden:

Mit einem Umweg über eine Datenklasse und ein ADODC-Element funktionierts!

Das entscheidende ist, dass zur Entwurfszeit die Listbox1 an ein ADODB Element gebunden werden muss (beide Steuerelemente auf Form aufziehen, bei Listbox die Rowsource auf adodb1 setzen).

Dann lege ich eine Klasse an (kümmert sich um die Verbindung), lege die DataSourceBehavior Eigenschaft der Klasse auf vbDataSource fest und scheibe in die Klasse folgenden Code:

Public VConn As adodb.Connection
Public rsHerst As adodb.Recordset
 
Private Sub Class_Initialize()
    'hier wird nur die Connection (VConn) und das Recordset (rsHerst) geladen:
    db_name = "laden"
    db_server = "localhost"
    db_port = ""    'default port is 3306
    db_user = "test"
    db_pass = ""
    Set VConn = New adodb.Connection
    VConn.ConnectionString = "Provider=MSDASQL.1;Password=;Persist Security" & _
      "Info=True;User ID=;Extended Properties=" & _
    Chr$(34) & "DRIVER={MySQL ODBC 3.51 Driver};DESC=;DATABASE=" & db_name & _
    ";SERVER=" & db_server & ";UID=" & db_user & _
    ";PASSWORD=" & db_pass & ";PORT=" & db_port & ";OPTION=16387;STMT=;" & Chr$( _
    34)
    VConn.Open
    Set rsHerst = New adodb.Recordset
    Set rsHerst.ActiveConnection = VConn
    rsHerst.CursorLocation = adUseClient
    rsHerst.CursorType = adOpenDynamic
    rsHerst.LockType = adLockPessimistic
    rsHerst.Open "SELECT * FROM tblhersteller"
 
End Sub
 
Private Sub Class_Terminate()
    Set rsHerst = Nothing
    VConn.Close
End Sub
Im normalen Formular kommt folgender Code zum Einsatz:

Private Sub Form_Load()
Set datClass = New datKlasse
Set Adodc1.Recordset = datClass.rsHerst
End Sub
 
Private Sub Command1_Click()
'Zeigt die Namen der Hersteller in der Liste an
DataList1.ListField = "HerstName"
End Sub
 
Private Sub Command2_Click()
'Zeigt die Telefonnummern der Hersteller in der Liste an
DataList1.ListField = "HerstTel"
End Sub
Falls jemand noch eine bessere Variante kennt BITTE BITTE melden, ich würd mich echt freuen!

Schönen Adventssonntag,
Timon
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
DataList zur Laufzeit an Recordset-Objekt binden1.168Timon01.12.07 18:17
Re: DataList zur Laufzeit an Recordset-Objekt binden645wb-soft01.12.07 19:13
Re: DataList zur Laufzeit an Recordset-Objekt binden572Timon01.12.07 19:37
Re: DataList zur Laufzeit an Recordset-Objekt binden623Timon01.12.07 23:02
Re: DataList zur Laufzeit an Recordset-Objekt binden833Timon02.12.07 12:26

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