MS Access DB "Problem"

Dieses Thema MS Access DB "Problem" im Forum "Windows XP Forum" wurde erstellt von archdruid, 10. Aug. 2007.

Thema: MS Access DB "Problem" hallo zusammen, ich stehe momentan etwas auf dem Schlauch,..ja ich weiss sollte man runter geht damits besser geht...

  1. hallo zusammen,

    ich stehe momentan etwas auf dem Schlauch,..ja ich weiss sollte man runter geht damits besser geht ;D , ich schreibe gerade an einer DB unter MS Access 2003.

    Ich habe folgende Haupttabelle:
    Code:
    CASNr | Chemikalienname | Synonym1 | Synonym2 | Synonym3 | Banned | Restriction1 | Restriction2 | Restriction3 | ......
    Zahl   FreiText   FreiText   FreiTExt   FreiText true/false zahl      zahl      zahl
    
    Nun gibt es eine weitere Tabelle die mir den Text zu den Restriction1 Staties speichern soll

    Code:
    ResID  | Bezeichnung
    autowert | freitext
    
    die haupttabelle wird über ein Formular gefüllt, bei dem ich die Restrictionstaties als text auswähle aber in der tabelle die ResId speichere. So lange ich mir die eingetragenen Datensätze über das eingabe formular ansehe sehe ich den eingetragenen text.

    nun benötige ich aber für verschiedene abfragen die möglichkeit mir im resultset nicht nur die resid anzugeben sondern den text.

    Also habe ich mir folgende Abfrage überlegt, welche aber nicht funktioniert.
    Code:
    SELECT ch.CASNr, ch.CHemikalienname, ch.Synonym1, ch.Synonym2, ch.Synonym3, ch.Banned,
    (SELECT res.Bezeichnung FROM Restriction AS res, Chems As ch WHERE res.RestrictionID = ch.Restriction1) AS Restriction1, (SELECT res.Bezeichnung FROM Restriction AS res, Chems As ch WHERE res.RestrictionID = ch.Restriction2) AS Restriction2, (SELECT res.Bezeichnung FROM Restriction AS res, Chems As ch WHERE res.RestrictionID = ch.Restriction3) AS Restriction3, (SELECT res.Bezeichnung FROM Restriction AS res, Chems As ch WHERE res.RestrictionID = ch.Restriction4) AS Restriction4
    FROM Chems AS ch, Restriction AS res, Reason AS rea
    WHERE ch.CASNr Like 50000;
    
    Normalerweise kann ich ja jedes Feld im Resultset durch eine eigene Select-Anweisung erzeugen. Diese abfrage liefert mir momentan folgenden fehler
    Code:
    Höchstens ein Datensatz kann von dieser Unterabfrage zurückgegeben werden. (Fehler 3354)
    obwohl ein recordset exestiert.

    momentan bestehen von jedem restrictionfeld der haupttabelle eine beziehung zur hilfstabelle, da ich ja für jedes feld die möglichkeit brauche auf gleichheit zu prüfen.

    Ich denke fehlt momentan mal wieder nur der entscheidende hinweis, dann wird sich alles klären , aber diesen suche ich gerade mal wieder bis zur vergasung ;) hoffe das mir einer helfen kann.

    thanks and regards
     
  2. hiho,

    naja habe jetzt ne lösung gefunden, diese ist zwar irgendwie auch noch nicht das gelbe vom ei aber sie funktioniert.

    mein workaround besteht aus vielen hintereinander gereihten update anweisungen, jede aktualisiert lediglich nur eines der in frage kommenden Felder. Aufgerufen werden diese updates, über eine vba button.

    habe dann zwar eine art endlosschleife, diese lässt sich aber umgehen wenn ich folgende optionen deaktiviere:

    Code:
    Extras -> Optionen -> Bearbeiten/Suchen -> Bestätigen -> Datensatzänderungen und Aktionsabfragen
    regards
     
Die Seite wird geladen...

MS Access DB "Problem" - Ähnliche Themen

Forum Datum
W8.1 INACCESSIBLE_BOOT_DEVICE nach USB-Problem Windows 8 Forum 7. Mai 2015
Probleme mit Access Runtime und einem Programm Windows 7 Forum 24. Mai 2014
MS Access Problem mit Benutzerberechtigungen Windows XP Forum 16. Juni 2011
Access-Problem Windows XP Forum 17. Mai 2009
Access: Verknüpfungprobleme Windows XP Forum 20. März 2009