ADODC-Objekt dynamisch

Primax

Mitglied
Hallo zusammen,
ich habe ein Problem! (mal wieder!)
Ich habe eine DB, ein ADODC und ein Datagrid.
Was ich möchte ist:
Alles soll noch funktionieren, wenn sich der Pfad der Datenbank ändert.

Normalerweise wird das ADODC an die Datenbank gebunden über den ConnectionString! Wenn es geht möchte ich das gerne dynamisch machen! (über eine Variable!)

Oder kann ich mit dem Datagrid direkt auf einem im Code erstellten Recordset gehen?

Hat jemand eine Idee, wie ich die ganze Sache dynamisch bekomme? Was ich nicht möchte ist das ganze im Code erstellen, weil es sonst Probleme mit geladenen und nichtgeladenen Form's gibt, wenn die Verbindung zur DB geschlossen oder geöffnet ist!


Grüße Primax
 
Ich check nicht ganz, was du genau möchtest, aber vielleicht hilft dir die grobe Zusammenstellung hier:

Code:
With Adodc1
.connectionstring="Dein code"
End With

So kannst du den ConnectionString des Steuerelements verändern.

Habe momentan kein VB hier, aber ich hoffe, es klappt ;)


Gruß
daDom
 
Problem behoben

Das hat sich mittlerweile erledigt!
Danke trotzdem.

P.S.: ich hatte probleme beim erstellen der Verbindungen zwischen ADO, Datagrid und DB. Da hat anscheinend einiges nicht funktioniert, aber nun läufts!
 
Hallo Primax,
es ist für mich auch sehr aktuell und interressant, dein Problem. Das habe ich auch!.
Ich muss bis jetzt für die Anbindung von ADODC an die Tabelle immer zuerst beim Form_load oder Form_:intitialize den ADODC ConnectionString angeben
und außerdem das gleiche nochmal im Eigenschaftsfenster bei ADODC-ConnectionString reinschreiben. (Hier ist nicht Dynamisches möglich!).
D.h wenn die Datanbank mit Passwort versehen ist, kann ich beim ändern von Password gar nicht in Eigenschaftsfenter von ADODC eintragen.
Wie hast du das Problem gelöst?.
Für deine Hilfe danke ich ersmal im Vorraus

Dajoto
 
ADODC dynamisch verwalten

Hallo dajoto,
ich hänge Dir am besten mal einen Auszug aus meinem Code an!

Die String-Variable habe ich in einem StartUp-Form mit folgendem Text gefüllt:
DB_ConnString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Programm_Pfad & Datenbankname

Entweder du schreibst dann folgenden Code in das FormLoad-Ereignis, oder aber du führst diesen Code beim klicken auf den Button aus, der das Form mit der ADODC-Anbindung öffnet. So habe ich es gemacht, ich öffne das Form auf dem die ADODC-Anbindung läuft mit einem klick im Menü!

frm_Moduldaten.Adodc_Module.ConnectionString = DB_ConnString
frm_Moduldaten.Adodc_Module.CommandType = adCmdText
frm_Moduldaten.Adodc_Module.RecordSource = "select * from M_Module"
Set frm_Moduldaten.DG_Tabelle.DataSource = frm_Moduldaten.Adodc_Module

Zur Erklärung:
auf dem form frm_Moduldaten befindet sich ein ADODC-Objekt und ein Datagrid (DG_Tabelle).
Im ADODC-Objekt steht in den Einstellungen bei Connection-String nichts! Das Datagrid dient nur zur Darstellung der Tabelle!

Bei RecordSource ist eine SQL-Anweisung hinterlegt, die einfach alle (*) Daten der Tabelle M_Module aus der Datenbank holt.

Ich hoffe es hat Dir geholfen, wenn nicht, sag bescheid!

Grüße

Primax
 

Neue Beiträge

Zurück