Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VB und Access Datenbank mit ADO

Empfohlene Antworten

Veröffentlicht

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.:(

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

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?

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.