Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1204to1208
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datenbankbeziehungen

Datenbankbeziehungen
Markus
Hallo an alle,
ich habe ein etwas umfassendes Problem.
Ich habe eine Access Datenbank und eine Excel Mappe, diese befinden sich im selben Ordner.
In der Datenbank befinden sich Tabellen und Abfragen.
In Excel habe ich eine Datenbankverbindung auf diese ganzen Daten in Access geschaffen, um damit zu arbeiten.
Mein Problem ist nun wenn ich den Ordner auf einem anderen Rechner kopiere, dann stimmen die Pfade der Verbindung ja folglicherweise nicht mehr und werde deshalb immer aufgefordert die Verbindungen anszupassen.
Geht dies automatisch in einem VBA Code bzw. Kann ich ein einem VBA code in Excel das automatisieren?
Gruß Markus

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Datenbankbeziehungen
28.03.2011 11:18:56
Tino
Hallo,
"Ich habe eine Access Datenbank und eine Excel Mappe, diese befinden sich im selben Ordner."
Lese doch einfach den Pfad der geöffneten Datei aus (ThisWorkbook.Path) und
bauen den in Deinen Code ein.
Wie steht es eigentlich um Deine letzte Anfrage?
Gruß Tino
AW: Datenbankbeziehungen
28.03.2011 11:38:38
Markus
Hallo,
erstmal Danke Tino für die antwort.
muss erst ma sehen wie ich die automatische Anpassung an den Pfad der Datenbank beim öffnen in einen Code packe sodas alle datenquellen angebasst werden.
Zur Letzten Frage bin ich leider auch noch nicht weiter gekommen, auch ween ich Clng voranschreibe mir dennoch die Fehlermeldung hochkommt. D.h. ich habe ja in Excel ein Text in der Zelle stehen in Access ist diese aber als Zahl deklariert.
Gruß Markus
Anzeige
AW: Datenbankbeziehungen
28.03.2011 12:22:45
Tino
Hallo,
ist ja klar wenn Du Text in ein Zahlenfeld schreiben willst,
Text kannst Du auch nicht in eine Zahl umwandeln.
Wie geschrieben Du müsstest demnach die Datenbank anpassen
auf Text, bei Zahlen eben auf Zahlen und bei Datum auf Datum.
Gruß Tino
AW: Datenbankbeziehungen
28.03.2011 12:35:27
Markus
Hallo,
Sorry hab mich misverständlich ausgedrückt
habe schon in EXCEL eine "zahl" stehen aber die nimmt mir bei dem übergeben an Access mit dem Code nicht an, nur wenn ich in Access das Datenfeld als TEXT deklariere.
Gruß Markus
AW: Datenbankbeziehungen
28.03.2011 12:42:32
Tino
Hallo,
es gibt verschiedene Zahlen, Ganze o. Dezimalzahlen.
Userbild
Schau mal in der Hilfe nach, da steht für was man was verwenden kann.
Bsp. Long
"Datentyp Long (lange Ganzzahl) werden als 32-Bit-Zahlen (4 Bytes) mit Vorzeichen
im Bereich von -2.147.483.648 bis 2.147.483.647"
Gruß Tino
Anzeige
AW: Datenbankbeziehungen
28.03.2011 13:00:52
Markus
Hallo,
genauso hab ich meine Datenbank aufgebaut, dennoch erfolgt keine übergabe an Access.
Gruß Makrus
dann weis ich auch nicht weiter...
28.03.2011 13:28:35
Tino
Hallo,
kann Dir jetzt auch nicht sagen wo bei Dir der Wurm drin steckt,
lade besser ein Bsp. hoch. (Access u. Excel als zip File)
Bin jetzt nicht mehr online.
Gruß Tino
AW: dann weis ich auch nicht weiter...
29.03.2011 10:56:55
Tino
Hallo,
hier Deine Datei, nach meiner Meinung bist Du in den Spalten und Zeilen verrutscht.
https://www.herber.de/bbs/user/74178.zip
Tipp:
setze zur Entwicklungszeit den Verweis auf Microsoft DAO 3.6 Object Library.
Deklariere RS als Recotset, dann ist es etwas leichter zu programmieren.
Wenn Dein Projekt fertig ist, stelle die Deklarierung wieder um und entferne den Verweis.
Gruß Tino
Anzeige
AW: Datenbankbeziehungen
28.03.2011 15:57:43
Kawensmann
Hallo,
zu dem Problem mit den Pfaden als Idee mal dieses:
Sub UpdateSQL()
Dim qt As QueryTable
Dim sh As Worksheet
For Each sh In ActiveWorkbook.Sheets
For Each qt In sh.QueryTables
qt.CommandText = Replace(qt.CommandText, "AlterPfad", "NeuerPfad")
Next
Next
End Sub

zu den anderen Problemem:
1. öffnest du mit
Set Datenbank = Datenbank.OpenDatabase(strPath & "\MDDdatenbank.mdb", True, True)
die Datenbank schreibgeschützt, das zweite "True" sollte also wohl ein "False" sein
2. deine Laufvariable a fängt bei 2 an und versucht so, auch die Überschrift in die DB zu übertragen, und die ist ja nun mal Text ...
Gruß
Kawensmann
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige