Tabellen importieren - Warnung: "potentielles Sicherheitsrisiko"

30/12/2008 - 11:54 von Stefan | Report spam
Hallo,

seit meine DB auch auf Access 2007 Runtime zu laufen hat, gibt es da
mindestens einen Haken beim Update meines Backends. Für ein
komfortables Update habe ich eine kleine Access-Datei angelegt, die
die notwendigen Dateien kopiert und dann das Update des Backends
startet. Hierzu wird eine neue (die zukünftige) Backend-Datei
gestartet. Diese holt sich dann aus dem alten Backend alle Tabellen
per

DoCmd.TransferDatabase acImport, "Microsoft Access", strdbPath &
strdbName, acTable, Tabellennamen(i), Tabellennamen(i)

und führt dann eine Liste an Update-Anweisungen (SQL) aus.
Damit kann ich also immer wieder ein Backend mit neuem VBA-Update-Code
verteilen und die Tabellen anpassen.

Leider warnt nun aber Access 2007 Runtime bei jeder der 50 zu
importierenden Tabellen, dass ein "potentielles Sicherheitsrisiko"
erkannt worden sei - 50x o.k. klicken!

Meine Fragen:
1. Kann man den Import der Tabellen durchführen und diese Warnung
vermeinden - z.B. durch eine andere Import-Möglichkeit?

2. Besser wàre, ich könnte das Backend direkt von der Setup-Routine
(mde) aus per SQL updaten. Dann müßte das Backend keinen VBA-Code mehr
enthalten. Kann man von einer Access-DB aus eine andere per SQL-
Befehlen veràndern?

Ach ja, ich entwickle unter Access 2000 - die DB muss unter Access
2000 und 2007 laufen.

Vielen Dank und einen guten Rutsch ins neue Jahr!
Stefan
 

Lesen sie die antworten

#1 Thomas Möller
30/12/2008 - 12:11 | Warnen spam
Hallo Stefan,

Stefan schrieb:
2. Besser wàre, ich könnte das Backend direkt von der Setup-Routine
(mde) aus per SQL updaten. Dann müßte das Backend keinen VBA-Code mehr
enthalten. Kann man von einer Access-DB aus eine andere per SQL-
Befehlen veràndern?



das geht. Dazu kannst Du DDL-Befehle verwenden, z.B.

ALTER TABLE DeineTabelle ADD COLUMN DeinNeuesFeld CHAR(20);

Die Syntax der ALTER TABLE-Befehle findest Du in der Hilfe.


Solche SQL-Statements kannst Du dann mit der Execute-Methode ausführen.
Dazu öffnest Du vorher das BackEnd:


Dim db As DAO.Database
Dim strSQL As String

Set db = OpenDatabase("C:\DeinPfad\DeinBackEnd.mdb")

strSQL = "ALTER TABLE..."
db.Execute strSQL

db.Close
Set db = Nothing


HTH
Thomas

Homepage: www.Team-Moeller.de

Ähnliche fragen