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-Key: 81575

Url: https://administrator.de/contentid/81575

Printed on: April 18, 2024 at 13:04 o'clock

Member: SvenGuenter
SvenGuenter Feb 25, 2008 at 14:13:30 (UTC)
Goto Top
zeige doch mal ie sql statements dann kann man auch mehr sagen
Member: ooAlbert
ooAlbert Feb 25, 2008 at 16:18:10 (UTC)
Goto Top
hier mal die drei tabellen die ich im DBdesigner erstellte:
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)
);
Member: SvenGuenter
SvenGuenter Feb 25, 2008 at 16:55:37 (UTC)
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
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
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.