Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

SQL Tabellenverknüpfung speichern

Begonnen von cyberchris, Juli 15, 2010, 13:16:02

⏪ vorheriges - nächstes ⏩

cyberchris

Hallo,

ich habe Daten in einer SQL-Datenbank. Diese sind in meine Access-DB verknüpft.
Mit der Datenbank arbeiten mehrere Personen. Leider habe ich nur Zugriff auf den SQL Datensatz.
Es ist nicht möglich die Rechte für alle zu ändern und auch wird dieser Datensatz dort benötigt.

Wie kann ich den SQL-Datensatz (mit meiner Berechtigung) per VBA als Tabelle speichern?

danke
gruß Christoph

DF6GL

Hallo,

wenn ich richtig verstehe, willst Du die Daten aus der SQl-Server-Tabelle in einer  neuen lokalen Access-Tabelle speichern.


z. B.:


Select * into DeineAccessTabelle from DeineSQLTabelle

database

Hallo,

Access-Bordmittel Tabellenerstellungsabfrage geht nicht?

Per VBA gibt es verschiedene Möglichkeiten, diese reichen vom Absetzen eines SQL Statements per CurrentDB.Execute oder DoCmd.RunSQL sowie auslesen per DAO in ein Recordset und überleiten in eine neue Tabelle oder ähnliches per ADO.

Kommt drauf an, wie komplex die Sache ist...

ZitatLeider habe ich nur Zugriff auf den SQL Datensatz.
Es ist nicht möglich die Rechte für alle zu ändern und auch wird dieser Datensatz dort benötigt.
??? ??? ???

cyberchris

verstehe ich leider überhaupt nicht. sorry. Dafür habe ich zu wenig Ahnung.

database

Hallo,

Zitatverstehe ich leider überhaupt nicht. sorry.
...und ich das auch nicht:
ZitatLeider habe ich nur Zugriff auf den SQL Datensatz.
Es ist nicht möglich die Rechte für alle zu ändern und auch wird dieser Datensatz dort benötigt.

kannst du das mal auf Deutsch übersetzen - ?


Kannst du mit dem Tip von DF6GL nix anfangen?
Select * into DeineNEUEAccessTabelle from DeineSQLTabelle

Peter

cyberchris

Hallo,

habe das schon gelöst und aber meine Erweiterung hier garnicht mitgeteilt.
Soll in eine passwortgeschützte mdb geschrieben werden.

Hier ohne PW:
SELSECT .... INTO ... IN 'Verzeichnis und Datei' FROM ...

Mit Kennwort gehts nicht, auch wenn ich das über die Entwurfansicht mache und die Tabelle verknüpfe. Das Kennwort wird zwar abgefragt und gespeichert, gibt dann aber ein Fehler. Kennwort falsch

Mit Kennwort:
SELSECT .... INTO ... IN 'Verzeichnis und Datei' FROM ... '[;PWD=blabla]


cyberchris

oh sorry. jetzt wird mir einiges klar. Ich habe im falschen Thread geantwortet.
Ich meinte natürlich, dass ich mit der Hilfe in dem anderen Thread nicht weiterkomme.

Soll ich das im anderen Thread nochmals schreiben :-)
(da sollte das auch hin.

"verstehe ich leider überhaupt nicht. sorry. Dafür habe ich zu wenig Ahnung."

database

Hi,

ZitatSoll ich das im anderen Thread nochmals schreiben
nein, lass es jetzt hier weiterlaufen, setze aber den anderen Thread in deinem Startbeitrag auf 'gelöst'

Ich muss ehrlich gestehen, dass ich noch NIE ein Kennwort für eine Datenbankverbindung mit einem SQL-String mitgeschickt habe.
Versuche einfach einmal mittels eines Connectionstrings eine Verbindung zu dieser Datenbank aufzubauen.
Beispiele für verwendbare Connectionstrings findest du in diesem Link http://www.connectionstrings.com/access

ZitatDas Kennwort wird zwar abgefragt und gespeichert, gibt dann aber ein Fehler. Kennwort falsch
Naja, was erwartest du hier ... ich glaube nicht, dass sich die Datenbank irrt :)

Auf jeden Fall muss es dir erst mal gelingen einen brauchbaren Zugriff auf die Datenbank zu bekommen - alle weitere Mühe ist ohne den Zugriff ohne Wert.

Peter

cyberchris

also wenn ich die mdb ohne Kennwort habe funktioniert das schreiben in die mdb.

in eine kennwortgeschütze aber nicht. Gehe davon aus, dass das Passwort irgendwie falsch mitgegeben wird, bzw. der code nicht korrekt ist. Das Kennwort auf jeden Fall!
Habe auch mal gegooglet und einen Thread mit diesem Problem gefunden; jedoch ohne Antwort.

Wie kann man das in einen connection string umbauen?

SELSECT .... INTO ... IN 'Verzeichnis und Datei' FROM ... '[;PWD=blabla]

database

Guten Morgen,

sieh bitte mal hier rein - donkarl hat da ein Codebeispiel

www.donkarl.com?FAQ6.19

Grüße
Peter

cyberchris

leider kann ich den code so nicht einbauen, da ich das in einer tabellenerstellungsabfrage benötige und hierzu sql benötigt wird, wie in meinem letzten Beitrag beschrieben ist.

database

Na aber hallo,

funktioniert wenigstens der fehlerfreie Zugriff auf die Art wie donkarl vorschlägt?

Zitatleider kann ich den code so nicht einbauen, da ich das in einer tabellenerstellungsabfrage ....
Wenn JA, was sollte dich daran hindern es dennoch so zu tun wie donkarl vorschlägt ??? ??? ???

'Datenbank mit Kennwort öffnen
Set db = acc.DBEngine.OpenDatabase(strDb, False, False, strPWD)


...und dann im Anschluß dein INSERT INTO via....

db.Execute "SELECT INTO  ....  "

Dein ganzes Problem scheint am Zugriff zu scheitern....?

HTH

Peter

cyberchris

ich weiß nicht wie ich das zusammenbauen muss.

Hier mal mein Versuch (geht aber nicht)

strDb = "\\..."
strPWD = "test"
Set db = acc.DBEngine.OpenDatabase(strDb, False, False, strPWD)

db.Execute SELECT dbo_PMM_PROT.PMID, dbo_PMM_PROT.FIRMENNR, dbo_PMM_PROT.ZIFFER, dbo_PMM_PROT.KLASSE, dbo_PMM_PROT.BEZEICHN, dbo_PMM_PROT.KDIENST, dbo_PMM_PROT.KDATUM, dbo_PMM_PROT.BELEGART, dbo_PMM_PROT.ADATUM, dbo_PMM_PROT.GUID, dbo_PMM_PROT.ARCUSER, dbo_PMM_PROT.DFORMAT INTO PMM_PROTOKOLL FROM dbo_PMM_PROT;

database

#14
Hallo,

ZitatstrDb = "\\..."

mal langsam jetzt ... ist das ein SQL-Sever oder eine Access-Datenbank?

...und wenn ja welche Version bitte?