netfireman Geschrieben 12. April 2002 Teilen Geschrieben 12. April 2002 Hi, ich habe ein Programm, bei dem Man beim Start eine Datenbank öffnet, wie kann ich jetzt den inhalt von einer Tabelle dieser Datenbank in ein Textfeld übergeben?:confused: Ich habe schon etwas mit ADO verbindungen gehört, aber keine ahnung wie das geht Das Programm ist in VB 6 geschrieben und die Datenbank ist eine Access 2000 Datenbank. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tiana Geschrieben 12. April 2002 Teilen Geschrieben 12. April 2002 Hi, folgende Schritte: 1. Lege in einem Modul (mdlMain) folgende PublicVariabeln an: Public c As Command Public ssql As String Public conndb As New ADODB.Connection Public RSmeinRS As ADODB.Recordset 2. Schreibe in das Form_load deines Hauptformulares folgende Syntax, hierzu benutze ich immer (egal welche DB) eine ODBC-Datenquelle mit angabe von User und Passwort : Set conndb = New Connection conndb.CursorLocation = adUseClient conndb.Open "NameODBCDatenquelle", "User", "Passwort" Call subFillRS 3. Am besten schreibe eine eigene Sub, in der dein Recordset gefüllt wird: Sub subFillRS() ssql = "Select * from Tabelle" Set RSmeinRS = New ADODB.Recordset RSmeinRS.LockType = adLockOptimistic RSmeinRS.ActiveConnection = conndb RSmeinRS.Open (ssql) End Sub 4. Übergebe die Daten an dein Textfeld: Textfeld.text=RSmeinRecordset.fields("Spaltenname").value Noch Fragen??? Gruß, Tiana Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
netfireman Geschrieben 12. April 2002 Autor Teilen Geschrieben 12. April 2002 Danke, hat mir gut geholfen. Ich habe noch drei Fragen. 1. Wie gebe ich den Inhalt der Tabelle in ein DATACombo aus? 2. Wie gebe ich den Inhalt der Tabelle in die einzelnen Felder des Datagrib aus? 3. Wie kann ich die eingabe in einem Textfeld speicher? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Tiana Geschrieben 12. April 2002 Teilen Geschrieben 12. April 2002 Hi, Zu Frage 1: combo.Clear 'Löscht den Inhalt Do Until RsMeinRS.EOF = True Combo.AddItem RsMeinRS.Fields("Spaltenname").Value RsMeinRS.MoveNext Loop zu Frage 2: Keine Ahnung, arbeite nicht mit dem Datagrid zu Frage 3: Auf der sicheren Seite bist Du mit folgendem Weg: im mdlMain (Du erinnerst Dich) eine Varaiable mit dem Namen Flag anlegen (string) Das Ereignis tetxfeldOnChange weist dem Flag den wert "neu" oder wie auch immer zu. Wenn jemand auf z.B. einen Speichern- Button klickt folgendes ausführen: If Flag= neu then 'Insert ssql = "Insert INTO Tabelle (Feld1,Feld2) VALUES (' " & Textfeld.Text & " ', ' " & Textfeld2.text & "')" else 'z.B. eine Update anweisung, wenn bestehnde Daten geändert wurden End If conndb.Execute (ssql) Call subFillRecordset Wenn Du so verfährst umgehst du eventuelle Probleme, die auftreten können, wenn Du z.B. mit einem Recordset.refresh arbeitest. Allerdings sollte dann die erste Befehlszeile deiner Sub FillRecordset lauten: RSMeinRS.close set RSMeinRS=nothing Wenn Du mir deine Mail- Adresse gibst, kann ich Dir ja mal ein kleines DemoProgramm schicken, wo Du Code klauen kannst! Gruß, Tiana Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.