Access2007 Datenbank mit Kennwort erstellen

07/04/2010 - 16:04 von Manuel Kobloch | Report spam
Hallo liebe Community,

ich versuche von C# 3.5 aus eine Access 2007 Datenbank mit einem Kennwort zu
erstellen.

Dafür verwende ich folgenden Code

using Access = Microsoft.Office.Interop.Access;

...

Access.Application oAccess = new
Microsoft.Office.Interop.Access.Application();
oAccess.NewCurrentDatabase(m_dateiName);
oAccess.DoCmd.RunSQL("CREATE TABLE Test", false);
oAccess.DoCmd.RunSQL("ALTER TABLE Test add Gender char(1)", false);
oAccess.DoCmd.RunSQL("ALTER DATABASE PASSWORD Test NULL", false);
oAccess.CloseCurrentDatabase();
oAccess.Quit(Microsoft.Office.Interop.Access.AcQuitOption.acQuitSaveAll);

Alle Befehle, bis auf den mit dem RunSQL werden ausgeführt. Es kommt immer
die Meldung:

"Unzulàssige SQL-Anweisung "DELETE",
"INSERT", "SELECT", "PROCEDURE", oder "UPDATE" erwartet."

Was mache ich falsch? Die Meldung kommt auch, wenn ich den SQL direkt in
Access eingebe. Die Accessdatei wurde bei diesem Versuch im exklusiv-Modus
geöffnet.


Gibt es noch andere Methoden eine Access 2007 Datenbank mit Kennwort und
wenig Aufwand zu erstellen?

Vielen Dank für die Hilfe im vorraus

Grüße

Manuel
 

Lesen sie die antworten

#1 Manuel Kobloch
08/04/2010 - 09:29 | Warnen spam
Habe die Lösung des Problems gefunden. Der Quellcode muss so lauten:

using Access = Microsoft.Office.Interop.Access;
...

oAccess.NewCurrentDatabase("D:\meinOrdner\test.accdb");
oAccess.DoCmd.RunSQL("CREATE TABLE Test", false);
oAccess.DoCmd.RunSQL("ALTER TABLE Test add Gender char(1)",
false);
object datensàtzeBetroffen;
oAccess.CurrentProject.Connection.Execute("ALTER DATABASE
PASSWORD meinPasswort NULL", out datensàtzeBetroffen, 0);
oAccess.CloseCurrentDatabase();
oAccess.Quit(Microsoft.Office.Interop.Access.AcQuitOption.acQuitSaveAll);

viele Grüße

Manuel

"Manuel Kobloch" schrieb im Newsbeitrag
news:#
Hallo liebe Community,

ich versuche von C# 3.5 aus eine Access 2007 Datenbank mit einem Kennwort
zu erstellen.

Dafür verwende ich folgenden Code

using Access = Microsoft.Office.Interop.Access;

...

Access.Application oAccess = new
Microsoft.Office.Interop.Access.Application();
oAccess.NewCurrentDatabase(m_dateiName);
oAccess.DoCmd.RunSQL("CREATE TABLE Test", false);
oAccess.DoCmd.RunSQL("ALTER TABLE Test add Gender char(1)", false);
oAccess.DoCmd.RunSQL("ALTER DATABASE PASSWORD Test NULL", false);
oAccess.CloseCurrentDatabase();
oAccess.Quit(Microsoft.Office.Interop.Access.AcQuitOption.acQuitSaveAll);

Alle Befehle, bis auf den mit dem RunSQL werden ausgeführt. Es kommt immer
die Meldung:

"Unzulàssige SQL-Anweisung "DELETE",
"INSERT", "SELECT", "PROCEDURE", oder "UPDATE" erwartet."

Was mache ich falsch? Die Meldung kommt auch, wenn ich den SQL direkt in
Access eingebe. Die Accessdatei wurde bei diesem Versuch im exklusiv-Modus
geöffnet.


Gibt es noch andere Methoden eine Access 2007 Datenbank mit Kennwort und
wenig Aufwand zu erstellen?

Vielen Dank für die Hilfe im vorraus

Grüße

Manuel

Ähnliche fragen