Office: (Office 2003) mehrere Abfragen verschachteln (SQL)?

Helfe beim Thema mehrere Abfragen verschachteln (SQL)? in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; von Josef P. Wie viele Tabellenzugriff (nicht Abfragenzugriffe) sind bei dir im Spiel? Hm,wie kann ich das denn festellen?*rolleyes.gif* Ich habe... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Moerio, 11. Oktober 2009.

  1. mehrere Abfragen verschachteln (SQL)?


    Hm,wie kann ich das denn festellen?*rolleyes.gif*


    Ich habe mal meine Abfragen bis zu der Stelle an der der Fehler kommt in ein Word Dokument gepackt und angehängt.
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  2. [OT]
    @Rainer: bist du sicher, dass die Beziehungen im Access-BE existieren? Bei mir werden diese auch angezeigt, wenn ich per VBA-Code die Verknüpfung erstelle.
    Code:
    Oder handelt es sich bei dir möglicherweise gar nicht um ein Access/Jet/ACE-Backend sondern um verknüpfte Tabellen aus einem aktivem DBMS?
     
    Josef P., 13. Oktober 2009
    #17
  3. Diese kleine Perle habe ich Access Secrets (einem Newsletter) entnommen. Ein Autor ist nicht angegeben.
     
  4. mehrere Abfragen verschachteln (SQL)?

    \@ Josef P.

    Ja, dort werden Sie ja im Access-Beziehungsfenster angezeigt. Zwar nicht alle, aber die meisten. Das nicht alle angezeigt werden, liegt daran weil ich das Entwicklungs-BE ständig erweitere und immer wieder Tabellen hinzu kommen.

    Neue Tabellen werden nicht angezeigt, aber die Beziehungen funktionieren einwandfrei (Lösch-/Updateweitergabe).

    Erst wenn ich das BE mal wieder komplett neu erstelle mit dem aktuellen Modellstand werden wieder alle Beziehungen korrekt angezeigt.

    Aber von den Beziehungen die das BE-Beziehungsfenster ausweist wird keine einzige im FE angezeigt.

    Wie schon vorher geschrieben handelt es sich um *.accdb, respektive *.mdb Dateien.

    Die BE's werden zwar mit DeZign erstellt, aber hatten wir ja schonmal das hier nur das Thema ist, dass DeZign nicht die akutellste Jet verwendet. Erzeugt zwar *.accdb Dateinen die Access intern aber als *.mdb interpretiert.

    Gruß

    Rainer
     
  5. [OT: Beziehungen]
    @Rainer: Da scheint irgendetwas defekt zu sein, ich schaffe es zumindest bei mir nicht, dass die Beziehungen aus dem BE nicht im FE angezeigt werden. Spätestens wenn ich auf "alle Beziehungen" klicke werden die Beziehungen angezeigt ... sogar jene, die ich erst nach dem Verknüpfen der Tabellen im BE erstellte.
    Anm.: Ich testete sowohl mit accdb als auch mit mdb. Außerdem erstelle ich die Beziehungen testweise noch per SQL-Anweisung.
    Verwendete Access-Version: 12.0.6514:5000 (SP2)
     
    Josef P., 13. Oktober 2009
    #20
  6. Version 12.0.6423.1000 (SP2) MSO 12.0.6425.1000

    Die Frage wäre nur was und wie kann ich das beheben?

    Gruß

    Rainer
     
  7. Zur Problemlösung kann ich leider nix beitragen aber ich muß dem Threadstarter Moerio unbedingt 'ne Frage stellen:
    gibt es jemanden der die 14-fach aufeinander aufbauenden Abfragen logisch nachvollziehen kann?
     
    achtelpetit, 13. Oktober 2009
    #22
  8. mehrere Abfragen verschachteln (SQL)?

    Meinst Du die Ergenbisse die bei der jeweiligen Abfrage raus kommen, oder
    die Vorgehensweise?
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  9. Hi,

    @Moerio:
    Da die "Vor-Abfragen" ja in Subselects umgewandelt werden, könnte es vielleicht durchaus sein, dass die "ausgejointen" Tabellen in der fraglichen Abfrage die 255 Tabellezugriffe überschreiten. Irgendwo ist halt einfach Sense....

    Du könntest aber vielleicht deine Daten in einer Tabelle ablegen, die in einer temporären (!) Datenbank liegt. Die 14 Abfragen würden also notfalls auf die Tabellenausgabe der jeweils vorigen zugreifen. Da schreibst du die Daten in eine (oder mehrere) Tabellen, die nur zeitweilig existieren. Darauf könntest du dann deine Auswertungen fahren. SObald die Auswertung erledigt ist (Formular/Bericht geschlossen), würde diese temporäre Datenbank automatisch gelöscht.

    Wäre das eine Lösung? Dann such doch mal hier im Forum nach clsTempDB. Das ist eine Klasse, die so eine temporäre DB erstellt und als DAO.Database zurückgibt. Wenn du deine SQLs so umbaust, dass die Daten in die tempDB geschrieben und (ggf) von dort gelesen werden, hast du einen netten kleinen Helfer für dein Problem.
     
    Atrus2711, 13. Oktober 2009
    #24
  10. \@Atrus2711

    Das hört sich doch mal nach einem Lösungsweg an.
    Ich hab mir die Klasse in meiner Datenbank als Klassenmodul abgelegt und mal über einen Button mit dem Code

    Dim oDB as clsTempDB
    Set oDB = New clsTempDB
    MsgBox oDB.Fullname
    Set oDB = Nothing

    gestartet.

    Ich bekomme dann auch die MsgBox mit der Pfadangabe und dem Datenbanknamen angezeigt.
    Ist das richtig das ich in dem Datenbankpfad keine temporäre Datenbank sehen kann?
    Oder muß Sie für den Zeitraum in dem sie genutzt wird auch im Explorer sichtbar sein?


    Wie komme ich denn nun meine Tabellen in der temporären Datenbank abgelegt?
    Tabellenerstellungabfrage?

    Gruß
    Moeiro
     
  11. Hi,

    Die DB killt sich selbst, wenn nichts mehr auf sie verweist. Geh das mal im Einzelschrittmodus durch. Du wirst sehen, dass die DB beim Set = New entsteht (im DB-Ordner im Explorere sichtbar), während der MsgBox bestehen bleibt und nach dem Set = Nothing gelöscht wird. Wenn du das alles einfach durchlaufen lässt, lebt die DB quasi nur so lange, wie du die MsgBox stehen lässt. Daher ja: temporär, das kommt von Tempo, also schnell *g* (natürlich eher: zeitweilig).

    Die temporäre Datenbank ist eine DAO.Database, also sowas ähnliches wie Currentdb (aber halt nicht Current, sondern fremd). Da kannst du dann arbeiten:
    • mit Aktionsabfragen (Tabellenerstellungsabfrage etc):
    • mit DAO-DDL (CreateTable, Create Index etc)
    Da du dann aber mit zwei Datenbanken arbeitest (temporäre und "Hauptdatenbank"), musst du eine Datenbank immer voll qualifizieren. Die Anlage zeigt dir, wie (Formularbutton).

    Obacht: der Explorer braucht 1-2 Sekunden, bis er die Datei(en) anzeigt. Ggf. mal mit F5 aktualisieren.
     
    Atrus2711, 13. Oktober 2009
    #26
  12. Hallo,

    ich habe das Besipiel mal in meine Datenbank eingebaut
    und mit

    'Tabellenerstellungsabfrage (push: von hier nach da drücken)
    CurrentDb.Execute "SELECT tblMachines.ID_MachinePK, tblMachines.datMC_Implement, tblMachines.datMC_Dissmantle, tblCapCallDate.datCapCallDate, IIf([datCapCallDate]>[datMC_Implement] And [datCapCallDate]
     
  13. mehrere Abfragen verschachteln (SQL)?

    Hat dein eigener Code funktioniert?

    Mein zweiter war nur eine Variante, um zu demonstrieren, dass man beim Hantieren mit 2 Datenbanken immer zwei Möglichkeiten hat:
    1. von der Hauptdatenbank ausgehend in die Temp schreiben (push dahin)
    2. von der TempDB aus Daten aus der Hauptdatenbank lesen (pull daher).

    "Wegschreiben" oder "herholen". Wie du es gerade brauchst. Wie bei einer Tür: es steht Drücken dran, aber von der anderen Seite musst du trotzdem ziehen.... *Smilie
     
    Atrus2711, 14. Oktober 2009
    #28
  14. Ja,klappt Super.
    Hab schon 4 Abfrage Ergebnisse in Temporäre Tabellen umgewandelt.

    Was muß ich eigendlich in meinem Bericht für eine Datenquelle auswählen?

    Ich denke mal einen SQL String mit dem Verweis auf die letzte temporäre Tabelle in der TempDB?Oder?

    Gruß
    Moerio
     
    Zuletzt von einem Moderator bearbeitet: 7. Januar 2021
  15. Auch da kommt die IN-Klausel als Datenherkunft zum Zug:

    Code:
    oder (weiß nicht mehr genau, ob vielleicht sogar beides geht)

    Code:
    Guck mal nach IN-Klausel.
     
    Atrus2711, 14. Oktober 2009
    #30
Thema:

mehrere Abfragen verschachteln (SQL)?

Die Seite wird geladen...
  1. mehrere Abfragen verschachteln (SQL)? - Similar Threads - Abfragen verschachteln SQL

  2. Abfrage: Anzahl von Kriterium >0

    in Microsoft Access Hilfe
    Abfrage: Anzahl von Kriterium >0: Hallo, [ATTACH] Ich versuche gerade, die Anzahl der belegten Plätze auf einem LKW per Abfrage zu ermitteln. Dabei wäre dann FSPal > 0. Leider zeigt er mir die Anzahl der Plätze an. [ATTACH]...
  3. Teil des Zellinhaltes abfragen in VBA

    in Microsoft Excel Hilfe
    Teil des Zellinhaltes abfragen in VBA: Guten Tag, ich möchte in Zelle E1 den linken 4-stelligen Teil in Zelle A3 abfragen. Habs versucht mit IF (LEFT(R[2]C[-3],4) = "8396") then ... Else ... End If Wer kann...
  4. Verliert irgendwann die Selektive Abfrage von UFO

    in Microsoft Access Hilfe
    Verliert irgendwann die Selektive Abfrage von UFO: Guten Tag Ich habe ein HF mit darin befindlichem UF. Die Abfrage der Teilnehmer im Uf bezieht sich immer auf den Kurs-Typ im HF Solang ich das Formular neu erstelle, funktioniert das...
  5. automatische Abfrage URL via Artikelnummer

    in Microsoft Access Hilfe
    automatische Abfrage URL via Artikelnummer: Guten Tag Bei der Aktualisierung der Homepage und aufgrund eines Plugin-Wechsels des Üebersetzungstools hat wordpress alle Permalinks der Produkte verändert. Unserem Webmaster war nicht bekannt,...
  6. Vorkommen von Kunden in mehreren Tabellen per Abfrage filtern

    in Microsoft Access Hilfe
    Vorkommen von Kunden in mehreren Tabellen per Abfrage filtern: Hallo Community, ich habe folgendes Problem beim Nutzen einer Access-Datenbank. Zunächst die Datenstruktur: [ATTACH] Dies sind die Tabellen meiner Datenbank. In der Tabelle "Adressliste"...
  7. mit String aus Formular Übereinstimmung in Abfrage prüfen

    in Microsoft Access Hilfe
    mit String aus Formular Übereinstimmung in Abfrage prüfen: Hallo liebe Mitglieder Ich verzweifle wieder einmal fast und wende mich an Euch. Ich möchte gern aus einem Formular heraus (Click) prüfen, ob übereinstimmende Datensätze in einer Abfrage vorhanden...
  8. "And" und "Or" in If-Abfrage verschachteln

    in Microsoft Excel Hilfe
    "And" und "Or" in If-Abfrage verschachteln: Hallo liebe Community, leider komme ich mit der Suchfunktion nicht so wirklich weiter. Ich möchte eine If-Abfrage starten. Bisher musste immer nur ein Feld überprüft werden, wenn die Bedingung...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden