ooalbert
Goto Top

Access 2003 und DBdesigner ?

Hi,

ich habe mit dem DBdesigner mir einige Tabellen gezaubert und würde das nun gern in eine AccessDB-2003 übertragen. Das problem ist jetzt, das der ODBC zugriff immer eine fehlermeldung generiert, das irgendwelche SQL statments inkorrekt sind ...
Hol ich über die selbe odbc-verbindung per reverse etwas aus der AccessDB klappt das aber.

DBdesigner macht mir ja auch eine SQL-Datei, aber die kann Access überhauptnicht importieren.

Content-ID: 81575

Url: https://administrator.de/forum/access-2003-und-dbdesigner-81575.html

Ausgedruckt am: 13.04.2025 um 04:04 Uhr

SvenGuenter
SvenGuenter 25.02.2008 um 15:13:30 Uhr
Goto Top
zeige doch mal ie sql statements dann kann man auch mehr sagen
ooAlbert
ooAlbert 25.02.2008 um 17:18:10 Uhr
Goto Top
hier mal die drei tabellen die ich im DBdesigner erstellte:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
CREATE TABLE Gegenstand (
  i_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  Mitglieder_p_id INTEGER UNSIGNED NOT NULL,
  i_name TEXT NULL,
  typ TEXT NULL,
  subtyp TEXT NULL,
  p_id INTEGER UNSIGNED NULL,
  menge INTEGER UNSIGNED NULL,
  ts INTEGER UNSIGNED NULL,
  PRIMARY KEY(i_id),
  INDEX Gegenstand_FKIndex1(Mitglieder_p_id)
);

CREATE TABLE Geld (
  m_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  Mitglieder_p_id INTEGER UNSIGNED NOT NULL,
  ts INTEGER UNSIGNED NOT NULL,
  p_id INTEGER UNSIGNED NOT NULL,
  PRIMARY KEY(m_id),
  INDEX Geld_FKIndex1(Mitglieder_p_id)
);

CREATE TABLE Mitglieder (
  p_id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
  p_name TEXT NULL,
  vorname TEXT NULL,
  geb_datum DATE NULL,
  PRIMARY KEY(p_id)
);
SvenGuenter
SvenGuenter 25.02.2008 um 17:55:37 Uhr
Goto Top
Hiho die erste Sache die mir ins auge springt ist der INTEGER UNSIGNED. Den Gibt es in Access nicht. Da musst du den Long Integer nehmen.

Hier auch der Link zu Knowledge Base


LINK_zur_KnowledgeBase
Das ist mit Sicherheit ein Fehler warum das nicht klappt.


hier noch ein kleiner hinweis zu einem Fehler deinerseits
1
2
3
4
5
6
7
8
CREATE TABLE MITGLIEDER
(
p_id  autoincrement, 
p_Name TEXT(25),
vorname text(25), 
geb_datum DATETIME, 
Constraint Mitglieder_PK Primary Key (p_id)
);

So Funktioniert der Tabellenaufbau in Access. btw. du solltest wenn du TEXT verwendest immer mit angeben wieviel Zeichen du haben willst da access sich sonst 255 Zeichen reserviert.

Evtl eine kurze Erklärung noch. Wenn du einen Autoincrement machst wird automatisch ein Long Integer genommen wenn dann noch ein Constrainit Primary Key kommt wird auch automatisch bei Access die Not Null option gesetzt.


Falls du einen Index zwingend brauchst dann noch folgenden ZUsatz
1
CREATE INDEX pid_IDX ON Mitglieder(p_id);

Gruß

Sven


P.S Falls es dann immer noch nciht klappt schreibe das hier dann schaue ich mir die Creates mal genauer an.