Anzeige:
Ergebnis 1 bis 9 von 9

Thema: Access 2k3 - ODBC - mysql

  1. #1
    Registrierter Benutzer
    Registriert seit
    04.02.2006
    Beiträge
    5

    Access 2k3 - ODBC - mysql

    Hallo ihr Profis,

    habe da ein Problem:

    Ich habe ein kleine Rezeptdatenbank für Kochrezepte erstellt.
    Abfragen klappen direkte Einträge in die Tabelle auch.
    Jedoch wenn ich mir ein Foramular erstelle und von hier aus Eingaben machen möchte erhalte folgende Meldungen:

    ODBC:Einfügen in einer verknüpften Tabelle '...' fehlgeschlagen.

    Woran liegt das? Was mache ich verkehrt?
    Wenn ihr mehr infos benötigt so lasse ich euch diese natürlich gerne zukommen.

    Gruß aus HH

    Armin

  2. #2
    Registrierter Benutzer Avatar von mwanaheri
    Registriert seit
    28.10.2003
    Ort
    Bayreuth
    Beiträge
    569
    Ich tippe mal, dass das 'verknüpfte Tabelle' den Haken birgt. Versuchst du, etwas in einen View einzufügen?
    Wie sieht die Tabelle aus, in die du einfügen willst?
    Wie sieht das aus, was du einfügen willst?
    Das Ziel ist das Ziel.

  3. #3
    Registrierter Benutzer
    Registriert seit
    04.02.2006
    Beiträge
    5
    Habe die DB mal in den Anhang gepackt.

    Eigentlich hatte ich vor direkt ind die Tabellen reinzuschreiben.

    Gruß

    Armin

  4. #4
    Registrierter Benutzer Avatar von mwanaheri
    Registriert seit
    28.10.2003
    Ort
    Bayreuth
    Beiträge
    569
    Das ist schon mal schön (die Tabellenstruktur hätte auch gereicht),
    jetzt wäre noch interessant zu wissen,
    - in welche Tabelle du speichern willst
    - wie dein Einfügebefehl (sql) aussieht
    Das Ziel ist das Ziel.

  5. #5
    Registrierter Benutzer
    Registriert seit
    04.02.2006
    Beiträge
    5
    Ist bei jeder Tabelle dasselbe.
    Habe mir wie gesagt in Access ein Formular gebaut und wollte von hier aus die Felder befüllen (kein sql Befehl). *blutigeranfängerbin* (zumindest sql)

    Gruß

  6. #6
    Registrierter Benutzer Avatar von mwanaheri
    Registriert seit
    28.10.2003
    Ort
    Bayreuth
    Beiträge
    569
    Tja, zu Access kann ich leider gar nichts sagen. Da offenbar das Lesen klappt, wird die Verbindung zur Datenbank wohl hergestellt. Nun könnte ich höchstens noch tippen, dass etwas mit den Rechten nicht stimmt, dass du also lesen, aber nicht schreiben kannst. Ziemlicher Mist, wenn du keine ausführlichere Fehlermeldung kriegst.
    Das Ziel ist das Ziel.

  7. #7
    Registrierter Benutzer
    Registriert seit
    04.02.2006
    Beiträge
    5
    Naja trotzdem vielen Dank für die Hilfe!
    Werde es weiterhin probieren.

    Gruß

    Armin

  8. #8
    the_Sisyphos
    Gast

    Verknüpfte (ODBC) Tabellen in Access schreibgeschützt

    Beim arbeiten mit verlinkten/verknüpften Tabellen, zum Beispiel auf eine Tabelle in einer Oracle, AS400 oder MySQL Datenbank, benötigt MS Access einen Index den er verwaltet. Ist in der Tabelle kein Primärschlüssel angegeben, fragt Access beim verlinken auf die Tabelle ab, welche Spalte als (Primär-)Schlüssel verwendet werden soll. Häufig überliest man die Abfrage und denkt das Access einfach einem alle Spalten der Tabelle als Information anzeigt. Wählt man jedoch keine Spalte aus bleibt die Tabelle schreibgeschützt da Access nicht zuordnen kann in welche Spalte Werte eingefügt wurden. Will man keinen eindeutigen Schlüssel in die Tabelle einbauen bleibt einem noch die Möglichkeit ein Timestamp Feld in die Tabelle einzubauen anhand der Access den zuletzt eingefügten Datensatz ermitteln kann.

    Notwendig ist dieser PrimaryKey daher da diese Verknüpfte Tabelle theoretisch ja auch außerhalb von einem anderen Benutzer etwa verändert werden kann und Access wissen muß welche Zeilen sich eventuell geändert haben. Zudem arbeitet Access intern mit einer Art Array Strucktur weshalb sich die Access DB auch gerne mal auf riesige größen aufplustert

    Sollte dieser Schritt immer noch nicht helfen so solltest Du schauen wie bei Deinem ODBC Treiber in der Systemverwaltung das COMMIT verfahren eingestellt ist. Viele Relationale Datenbanken können mit Transaktionen arbeiten. Wobei Datensätze erst nach eienm COMMIT endgültig geschrieben werden. Da Access mitunter durch den ODBC Treiber dazwischen nicht weiß wann alles OK ist, muß man dem ODBC Treiber sagen er soll automatisch die Transaktion etwa nach jeder Zeile abschließen. Solange Access jedoch nicht weiß ob geschriebene Datensätze auch sicher verwaltet werden wird es die Tabelle ebenfalls nur Read-Only öffnen.

    Als letzte Möglichkeit bleiben noch sogenannte VIEWS. Oracle, PostgreSQL und auch neuere MySQL Datenbanken können Dynamische Tabellen anzeigen. Für einen User sehen diese wie normale Tabellen aus, sind jedoch im Grunde auf dem Server ausgeführte SELECT Anweisungen. Diese Dienen normalerweise dazu allgemeingültige Listen etwa vorsortiert auszugeben wie etwa Landeskennzeichen oder um verteilte Tabellen Serverseitig zusammenzufassen wie etwa Namen und Anrede. In diese Views kann man, da sie Datenbankseitig ja nichts anderes als SELECT Anweisungen sind nicht hineinschreiben. Beim Verknüpfen sieht man nun leider nicht ob es sich nur um eine View oder um eine echte Tabelle handelt. Sollte aus versehen eine View gewählt worden sein muß man die Verknüfung auf die zugrundeliegende Datenbanktabelle ändern.
    Geändert von the_Sisyphos (01-03-2006 um 16:11 Uhr)

  9. #9
    Registrierter Benutzer
    Registriert seit
    04.02.2006
    Beiträge
    5
    Danke für die guten und hilfreichen Ratschläge.
    Hab mir einiges aufgeschrieben.
    Aber leider hat in diesem Fall nix geholfen.
    Schlüssel sind da.
    Ne View ist es auch nicht und beim mySQL ODBC Treiber kann man kein commit einstellen.

    Gruß


    Armin

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •