Access-o-Mania

Access-Forum (Deutsch/German) => Formular => Thema gestartet von: TomTom2903 am Juni 11, 2013, 17:48:44

Titel: Endlosformular auf bestimmte Anzahl von Datensätzen begrenzen
Beitrag von: TomTom2903 am Juni 11, 2013, 17:48:44
Hallo,
habe eine Frage zu Endlosformularen.

Das Endlosformular basiert auf einer Abfrage.
Ich möchte in diesem Endlosformular allerdings nur eine bestimmte Anzahl von Datensätzen ausgeben. Z.B. 10.
Das Endlosformular ist als Unterfomular in einem Bericht eingebunden und soll die Top 10 Artikelrunner anzeigen.

Die Verknüpfung von Hauptformular zu Unterformular geht über die Kundennummer.
Die Querry kann ich daher nicht mit einem "Select Top10 " Befehl ausstatten, da ich sonst die Falsche Datengrundlage habe.
Also nur die Top 10 Artikel über alle Kunden. Brauche aber ja erstmal alle Artikel mit Kunden.

Die Filterung läuft im Anschluss über die Kundennummer (Bezug Hauptformular - Unterformular)

Daher möchte ich das am Endlosformular fest machen. Das muss doch gehen?!
Hat jmd ne Ahnung wie?  ???

Danke für eure Hilfe
TomTom


Titel: Re: Endlosformular auf bestimmte Anzahl von Datensätzen begrenzen
Beitrag von: MzKlMu am Juni 11, 2013, 18:31:10
Hallo,
ein Endlosformular als Ufo in einem Bericht, wirklich in einem Bericht?
Da solltest Du besser einen Unterbericht verwenden.

Der Unterbericht (auch das Unterformular) hat ja eine eigene Datenherkunft. Und dort kannst Du doch TOP 10 verwenden. Das ergibt doch keine falsche Datengrundlage, wieso auch?
Hauptbericht und Unterbericht haben ja verschiedene Datenquellen.
Titel: Re: Endlosformular auf bestimmte Anzahl von Datensätzen begrenzen
Beitrag von: database am Juni 11, 2013, 20:16:49
Hallo,

anknüpfend an MzKlMu's Empfehlung darf ich noch hinzufügen:

Wenn du einen Bericht für die unterschiedliche Darstellung der Daten verwendest, kannst du die Änderung (Alle / Top 10) nur von der Stelle aus
bewerkstelligen von der aus du den Bericht aufrufst. Die Datendarstellung zur Anzeigezeit ändern geht eigentlich nicht.
Daher müsstest du dafür 2 unterschiedliche Aufrufe erstellen bzw. 2 idente Berichte mit unterschiedlichen UFo-Abfragen

Wenn du die Daten jedoch 'nur sehen willst' kannst du das in einer HaFo / UFo - Konstruktion realisiern, indem du standardmäßig die Datenherkunft des UFo so ausrichtest,
dass immer alle Artikel angezeigt werden. Mittels einer Umschaltfläche änderst du die Datenherkunft (SQL) des UFos zur Laufzeit und aktualisierst diese um dann die Top 10 agezeigt zu bekommen.
Nimmst du die Auswahl wieder zurück - durch ein Umschalten selbiger Umschaltfläche - weist du dem UFo wieder die Original-Datenherkunft zu und es werden wieder alle DS angezeigt.
Das Ereignis 'Beim Öffnen' des HaFo richtest du so, dass dem UFo die Original-Datenherkunft standardmäßig immer zugewiesen wird um auch dann den 'Standard' zu erhlten,
wenn das Formular einmal mit der Top 10 - Ansicht geschlossen werden sollte.

ZitatDie Verknüpfung von Hauptformular zu Unterformular geht über die Kundennummer
...und weil das so ist, beziehen sich ALLE Datensätze des UFo auf die, im HaFo aktuell angezeigte Kundennummer und somit auch die Top 10

Titel: Re: Endlosformular auf bestimmte Anzahl von Datensätzen begrenzen
Beitrag von: TomTom2903 am Juni 11, 2013, 21:06:10
Mist!!!
Sorry... Schreibe hier über einen Bericht.

Lese mir morgen eure Antworten nochmal durch und melde mich dann!

Danke schon mal für eure Antworten...
Titel: Re: Endlos-BERICHT auf bestimmte Anzahl von Datensätzen begrenzen
Beitrag von: TomTom2903 am Juni 12, 2013, 09:29:45
Hallo,
habe jetzt mal eine Beispieldatenbank hochgeladen.
Ich möchte im Report, für jeden Kunden, maximal 10 Datensätze angezeigt bekommen.

So wie ich das jetzt versuche, wird die Datenbasis auf 10 Stück begrenzt und damit nicht das erwünschte Ergebnis erzielt.  ???

Hat jmd eine Idee wie das funktioniert?

Bin für Hilfe wirklich dankbar.

@Admin: Eigentlich gehört das Thema ins Forum Berichte...  :)

[Anhang gelöscht durch Administrator]
Titel: Re: Endlosformular auf bestimmte Anzahl von Datensätzen begrenzen
Beitrag von: MzKlMu am Juni 12, 2013, 09:48:40
Hallo,
Du sprichst die ganze Zeit von Unterbericht/Formular und dann verwendest Du keinen.  :o  ???
Dein Vorhaben lässt sich nur mit einem Unterbericht lösen.
Titel: Re: Endlosformular auf bestimmte Anzahl von Datensätzen begrenzen
Beitrag von: TomTom2903 am Juni 12, 2013, 12:13:39
Zitat von: MzKlMu am Juni 12, 2013, 09:48:40
Hallo,
Du sprichst die ganze Zeit von Unterbericht/Formular und dann verwendest Du keinen.  :o  ???
Dein Vorhaben lässt sich nur mit einem Unterbericht lösen.

Hallo,
hatte ja geschrieben das ich mich vertan habe... Also ich meine hier natürlich einen Bericht.

Ich habe das mit einem Unterbericht auch schon zig mal probiert. Komme aber nicht weiter. Immer das falsche Ergebnis.
Habe daher mein Beispiel nochmals neu gemacht.
Vielleicht kannst du mir ja helfen oder hier im Forum jmd anderst!
Bin langsam wirklich ratlos...
Tom

[Anhang gelöscht durch Administrator]
Titel: Re: Endlosformular auf bestimmte Anzahl von Datensätzen begrenzen
Beitrag von: DF6GL am Juni 12, 2013, 15:11:43
Hallo,

mit TOP 10 klappt das nicht... 


Erzeuge im Detailbereich des UBs ein Textfeld ("txtLfnr") mit Steuerelementinhalt  "=1"  und Laufende Summe auf "über Gruppe".


und verwende zusätzlich diesen Code:


Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
If Me!txtLfnr > 10 Then Cancel = True
End Sub



Titel: Re: Endlosformular auf bestimmte Anzahl von Datensätzen begrenzen
Beitrag von: TomTom2903 am Juni 12, 2013, 17:25:53
Zitat von: DF6GL am Juni 12, 2013, 15:11:43
Hallo,

mit TOP 10 klappt das nicht... 


Erzeuge im Detailbereich des UBs ein Textfeld ("txtLfnr") mit Steuerelementinhalt  "=1"  und Laufende Summe auf "über Gruppe".


und verwende zusätzlich diesen Code:


Private Sub Detailbereich_Format(Cancel As Integer, FormatCount As Integer)
If Me!txtLfnr > 10 Then Cancel = True
End Sub


Super! Hat funktioniert.
Zur Info @all: Ergebnis sieht man nur in der Seitenansicht und nicht in der Berichtsansicht.

Danke nochmal Franz!