Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Access Modul umbenennen

Frage Microsoft Microsoft Office

Mitglied: SamTrex

SamTrex (Level 1) - Jetzt verbinden

16.05.2011 um 16:27 Uhr, 6456 Aufrufe, 6 Kommentare

Ich möchte ein Modul in Access via VBS umbenennen.

Hallo Gemeinde...

Das Problem ist wie folgt:
Ich habe eine Datenbank mit einem Modul "Global" - hier sind Pfade hinterlegt die auf den Server zeigen ....
Jetzt möchte ich dieses Modul gerne gegen ein anderes Modul austauschen.

Das ganze mit einem VB-Script!
Ich Google schon den halben Nachmittag, kann aber nichts brauchbares finden.

Habe folgende Wege probiert:
adodb.connection
adox.catalog

Auf die Tabellen zu kommen ist kein Problem! Aber an die Module komm ich zum verrecken nicht ran....
Könnte es über das access.application Objekt gehen. Habe da aber gar keine Idee....

Ein Tipp würde mir schon reichen....

Danke.
Mit freundlichen Grüßen Sam
Mitglied: Biber
16.05.2011 um 18:09 Uhr
Moin SamTrex,

ich denke, da liegt ein Missverständnis vor.

Das Access-Modul "<Global>" (so wird es z.B. im Objektkatalog in der Modulansicht angezeigt) ist kein 57 Zeilen langes VBA-Skript, sondern ein virtuelles Konstrukt, eine gedankliche Zusammenfassung aller Konstanten, Properties und (einiger weniger) Methoden und Prozeduren, die mit dem Schlüsselwort Global deklariert wurden.

Unter anderem sind dort jede Menge Access-VBA-Konstanten definiert, aber auch "global verfügbare" Prozeduren/Methoden/Funktionen wie GetWeekDay() oder Year().

Dem entsprechend kannst du dieses "Modul namens Global" nicht austauschen, umbenamsen oder grün einfärben.
Sondern musst einzeln alle "Global" deklarierten Variablen dort umbenennen, wo du sie definiert hast.
Wenn du sie also in einem Modul "MeineConnections" als "Global dbverbindung1" oder "Global servernameProduktiv" stehen hast, dann kannst und musst du in diesem Modul ändern oder dieses Modul komplett ersetzen, wenn das mehr deiner Mentalität entspricht.

Grüße
Biber
Bitte warten ..
Mitglied: SamTrex
16.05.2011 um 22:25 Uhr
Hallo Biber,
danke für die rasche Antwort!

Ich glaube ich habe mich nicht klar ausgedrückt ....
Ich habe ein Modul welches ich Global getauft habe.
-> http://www.lenzing.it/_temp/access.png

Dieses will ich umbenennen....

Danke....
Bitte warten ..
Mitglied: Biber
16.05.2011 um 22:55 Uhr
Moin SamTrex,

wenn es doch nur ein Objekt vom Typ Access.Module aus der Collection Access.Modules ist, dann hat es doch ganz normal das Property Name und der ist doch niemalsnich schreibgeschützt..?!?

Oder was genau ist das Problem? Das Finden dieses Objekts ? *verständnislos schwimm*

Grüße
Biber
Bitte warten ..
Mitglied: SamTrex
17.05.2011 um 08:05 Uhr
Moin Biber,
das Problem ist das ich an die Collection gar nicht erst dran komme!
Wenn ich es intern aus Access VBA machen wollte - dazu habe ich im Netz etwas gefunden.
Ich muß es aber aus einem externen VB-Script tun. Und irgendwie habe ich da einen Blockade wie ich das machen soll .....

Für die Tabellen war das kein Problem:
01.
........ 
02.
 
03.
'HB-Frontend-Lokal einbinden 
04.
	set conn = CreateObject("ADODB.Connection") 
05.
	set catalog = createobject("ADOX.Catalog") 
06.
	conn.Provider = "Microsoft.Jet.OLEDB.4.0" 
07.
	conn.Open INSTDIR & "\Handbuecher_Lokal.mdb" 
08.
	catalog.activeconnection = conn 
09.
	 
10.
	for i = 0 to catalog.tables.count -1 
11.
		if ucase(left(catalog.tables(i).name, 4)) = "TBL_" then 
12.
			tbl_name = catalog.tables(i).name 
13.
	 		catalog.tables(i).name = catalog.tables(i).name & "_bak" 
14.
	 		....... 
15.
	 	end if 
16.
	next 
17.
	 
18.
'Datenbanken trennen 
19.
	conn.close 
20.
 
21.
.....
Die Version mit
01.
"ALTER TABLE " & catalog.tables(i).name & " RENAME TO " & new_tbl_name
hat leider nicht funktioniert.... aber so geht es ja.

catalog.modules gibt es leider nicht .... und über conn. komme ich auch nicht daran ....

Danke
Mit freundlichen Grüßen Sam



Wer die ganze Story lesen möchte:

Ich habe eine Datenbank mit Front- & Backend. Nun möchte ich die Datenbank aber auch auf dem Notebook nutzen, auch wenn ich kein Netz habe. Der Gedanke ist nun folgender: Ich tausche im Frontend die Tabellenverknüpfungen durch die echten Tabellen aus - das klappt (mache das mit einer SELECT INTO Abfrage). Jetzt gibt es da noch das Modul "Global" in welchem die Pfade stehen - man kann aus der DB heraus Dateien aufrufen - die auf den Server zeigen. Nun wollte ich einfach ein 2. Modul für den "Offlinebetrieb" dazu packen und dieses gegen das "Global"-Modul tauschen.
Bitte warten ..
Mitglied: Biber
17.05.2011 um 09:01 Uhr
Moin SamTrex,

okay.... das Ziel wird langsam klarer.

Also - klar, die Access.Module kannst du natürlich weder sehen noch ändern, wenn du irgendeine AdoDB-Connection gegen eine "Datenbank" aufmachst.
Dazu müsstest du (wahrscheinlich) ein CreateObject() auf das Object Access.Application aufmachen und in dessen Hierarchiebaum abwärts wackeln...

->Möchte ich aber gar nicht weiter verfolgen eigentlich.

Weil... für mich wäre doch die Konsequenz, wenn du da halbwegs data driven dynamisch die jeweils "gültigen" Quellen/Servernamen/Tabellennamen zuspielen willst -> Pack es raus aus den Modulen in Parameter- oder Ini-Dateien.

Ist doch eh kein Stil unter erwachsenen Codern, Datei und Servernamen fest in einer Appz zu verdrahten.
Du wirst doch wohl ein paar Namen aus einer Paar-Zeilen-Plaintextdatei auslesen können, oder?

Na also...

Grüße
Biber
Bitte warten ..
Mitglied: SamTrex
17.05.2011 um 09:15 Uhr
Moin Biber,
ich muß ehrlich sagen das ich beim lesen deiner Antwort schmunzeln muß....
Die Idee mit der INI ist so banal wie einfach ....
Bin ich gar nicht drauf gekommen - natürlich kann ich das ;) - wobei ich mich noch nicht als "erwachsenen Coder" bezeichnen würde.
Ich hab immer irgend ein Problem und sehe zu wie ich es lösen kann .... oft stellt sich dabei heraus - wie auch jetzt - das es auch ganz einfach geht.
(Ich sag jetzt mal nicht wie ich das am Anfang mit den Tabellen versucht habe .... *schmuzel*)

Vielen Dank Biber!

Gruß Sam
Bitte warten ..
Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
LAN, WAN, Wireless
Freifunk über vorhandene Access Points ausstrahlen (2)

Frage von Uwoerl zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Direct Access mit VPN aufbau (6)

Frage von geocast zum Thema Windows Netzwerk ...

Microsoft Office
gelöst Access 2007 (2)

Frage von Everest zum Thema Microsoft Office ...

Microsoft Office
Access ein Script alle X Minuten ausführen und bei Bedarf stoppen (5)

Frage von thomas1972 zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Grafikkarten & Monitore
Win 10 Grafikkarte Crash von Software? (13)

Frage von Marabunta zum Thema Grafikkarten & Monitore ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (9)

Frage von JayyyH zum Thema Switche und Hubs ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...