none
Unterbericht mit AUsschluss des aktuellen Datensatzes

    Frage

  • Das Subject ist sicherlich nicht sehr informativ - ich hoffe aber, es weckt die Neugier meine Frage zu benatworten.

    Ich habe eine Tabelle AUfträge, in der jeweils auf einen Kunden in der Tabelle Kunden verwiesen wird.

    In einem Bericht gebe ich nach bestimmten Kriterien Datensätze aus der TAbelle Aufträge aus.

    Der Bericht soll jetzt zusätzlich in Details für jeden Datensatz einen Unterbericht erhalten, der wiederum alle VORAUFTRÄGE für diesen Kunden enthält AUSSER dem aktuellen Auftrag.

    Die Verknüpfung zum unterbericht würde logischerweise über das Feld <KundenNr> erfolgen - der Unterbericht würde dann entsprechend ALLE Aufträge dieses Kunden enthalten.

    Aber wie setze ich den AUSSCHLUSS des übergeordneten Auftrags aus dieser Liste um ?

    Ich denke momentan an eine Parameterabfrage, aber dazu müsste ich wahrschleinlich einiges an Code in den Bericht einfügen .

     

    geht das auch eleganter ?

     

    Freitag, 20. Januar 2012 08:39

Antworten

  • Hallo!

    Du könntest die Datenquelle des Unterberichts so gestalten, dass du den Unterbericht mit der Auftags-ID aus dem Hauptbericht verknüpfen kannst.

    SQL für den Unterbericht könnte ungefähr so aussehen:

    SELECT 
       X.idAuftrag As IdAusHauptBericht, 
       A.idAuftrag, A.Auftragsnummer
    FROM 
      Auftraege AS X 
      INNER JOIN 
      Auftraege AS A 
      ON X.fiKUnde = A.fiKUnde
    WHERE 
      A.idAuftrag < X.idAuftrag AND  A.idAuftrag > X.idAuftrag
    
    

    Verknüpfen müsstest du dann den Unterbericht über das Feld "IdAusHauptBericht".

    mfg
    Josef


    Code-Bibliothek für Access-Entwickler
    AccUnit - Testen von Access-Anwendungen
    Freitag, 20. Januar 2012 09:41

Alle Antworten

  • Hallo!

    Du könntest die Datenquelle des Unterberichts so gestalten, dass du den Unterbericht mit der Auftags-ID aus dem Hauptbericht verknüpfen kannst.

    SQL für den Unterbericht könnte ungefähr so aussehen:

    SELECT 
       X.idAuftrag As IdAusHauptBericht, 
       A.idAuftrag, A.Auftragsnummer
    FROM 
      Auftraege AS X 
      INNER JOIN 
      Auftraege AS A 
      ON X.fiKUnde = A.fiKUnde
    WHERE 
      A.idAuftrag < X.idAuftrag AND  A.idAuftrag > X.idAuftrag
    
    

    Verknüpfen müsstest du dann den Unterbericht über das Feld "IdAusHauptBericht".

    mfg
    Josef


    Code-Bibliothek für Access-Entwickler
    AccUnit - Testen von Access-Anwendungen
    Freitag, 20. Januar 2012 09:41
  • Das klingt vernünftig.

    Ich werde es die Tage mal umsetzen und probieren

     

    Sonntag, 22. Januar 2012 06:49