vlt hat einer von euch eine Lösung für mein Problem.
Per ODBC greife ich von Access auf verschiedene Tabellen auf einem SQL-Server zu. Jedoch ist der Zugriff auf einige Tabellen jedoch nur mit einem anderen User möglich.
Jetzt habe ich eine SQL Pass-Through Query erstellt, die 2 Tabellen (unterschiedlicher User) verknüpft. Ich weiß jedoch nicht, ob das Problem der unterschiedlichen User folgendes Problem verursacht.
Es ist nämlich so, dass ich auf diese Pass-Through Query noch eine Abfrage laufen lasse. Starte ich diese manuell in der „Query-Übersicht“ läuft diese Abfrage auch so, wie sie es soll.
Jedoch will ich sie durch einen Button-Klick auf einer Form laufen lassen. Das Makro benutzt den Befehl DoCmd.OpenQuery „Meine_Query“. Nun kommt die Fehlermeldung:
Run-time error ‚3146‘:
ODBC–call failed.
[Microsoft][ODBC SQL Server Driver][SQL SERVER]SELECT permission denied on object ‚TABELLE_MIT_SPEZ_USER‘, database ‚DB‘, owner ‚SPEZ_USER‘.(#229)
Versuche ich nun, die Query in der „Query-Übersicht“ zu öffnen, kommt nun die Fehlermeldung wie oben. Auch die SQL Pass-Through Query lässt sich nicht mehr öffnen. Beende ich Access und starte es neu, funktioniert dies zumindest wieder, aber das Problem bei der Abfrage über VBA bleibt.
Übrigens funktioniert der Befehl DoCmd.RunSQL „Select auf SQL PASS THROUGH“ ebensowenig…
Ich weiß vlt eine lange Beschreibung eines Fehlers, aber ich weiß echt nicht, an was es liegen könnte, deshalb etwas mehr als weniger
Vielen Dank für eure Hilfe und Einfälle.
wie sehen deine Einstellungen unter Start ->
Systemsteuerung -> Datenquellen (ODBC)
für diese speziellen Tabellen aus?
Also habe mal geschaut. Zum Thema ODBC… Greife über File DSN zu (per SQL Server authentification). Dann sind die client configurations TCP/IP und „Use dynamically determine“ markiert. Vlt liegt hier schon ein Fehler? Weiterhin sind die Einstellungen „Use ANSI quoted identifiers“ und „Use ANSI nulls, paddings and warnings“ markiert.
über welche Access-Version reden wir? Du nutzt den MS
SQL-Server Version?
Benutzen tue ich MS Access 2003 und MS SQL Server 2005.
Den Schritt über File get external Data bin ich nicht gegangen. Ist das nicht das selbe wie über den Rechtsklick in der Übersicht Tabelle.?? So habe ich jedenfalls die Verbindung aufgebaut…
So nu noch was komisches: Die Abfrage über den VBA-Code hat heut morgen funktioniert, aber auch nur einmal… =(
die Tabelle ist NICHT in einem Netzwerk auf einem Server?
Doch doch, sie ist schon auf einem Server im Netzwerk
es greift KEIN anderer User gleichzeitig auf die Tabellen zu?
Ich glaube, dass ist der Punkt. Es ist eine riesen Tabelle und diese wird auch verwendet. Ich glaube zwar meist nur lesend, aber es kommt auch ab und zu vor, dass sie schreibend verwendet wird…
Bei der betroffenen tabelle habdelt es sich um ein Archiv, wo regelmäßig alte Daten reingeschrieben werden.
Wahrscheinlich ist deshalb der Zugriff nicht immer möglich^^