Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Top Werte in eine Tabelle über Formular eingeben

Begonnen von fraggy, August 27, 2018, 13:07:56

⏪ vorheriges - nächstes ⏩

fraggy

Hallo,
ich muss aus mehreren Tabellen immer die Top X Werte per Abfrage filtern.
Der Code dazu sieht so ungefähr aus.

SELECT Top 10 Standort.VkGr, *
FROM Standort;

Kann ich die Top X Werte auch über ein Formularfeld pro Tabelle steuern?
Hintergrund ist, dass ich die Anzahl der Top Werte wöchentlich anpassen muss und ich nicht in jeder einzelnen Tabelle den Code umschreiben möchte sondern alles mit mehreren "Eingabefeldern" in einem Formular steuern.
Geht sowas?
Ich habe leider mit Formularfeldern noch keine Erfahrung in Access.
Viele Grüße
Fraggy

PhilS

Deine Absicht/Anforderungen gehen aus dem Text nicht so recht hervor.
Eine Abfrage mit der TOP-Klausel ergibt nur Sinn, wenn es auch eine Sortierung gibt. Diese fehlt aber bei dir. Somit fragst du 10 mehr oder weniger zufällige Datensätze ab.

Grundsätzlich ist es sicherlich möglich dies mit "Eingabefeldern in einem Formular zu steuern", aber wie genau lässt sich mit den bisherigen Informationen nicht beantworten.
Neue Videoserie: Windows API in VBA

Klassische CommandBars visuell bearbeiten: Access DevTools CommandBar Editor

fraggy

Tatsächlich sollen auch z.B. 10 zufällige Werte abgefragt werden.
Es geht um Kundenumfragen und ich habe jede Woche über 1000 Datensätze, brauche aber nur X davon, also ohne eine Reihenfolge.
Es sind aber mehrere Listen wobei ich in Summe immer auf knapp 1000 Datensätze kommen muss, deswegen muss ich die Anzahl der Kunden pro Liste immer ein wenig "variieren".
Welche Kunden ich aus einer Liste wähle ist dabei vollkommen egal.
Kannst du damit etwas anfangen?


DF6GL

Hallo,


ohne den Sinn jetzt genauer zu hinterfragen, kannst Du das TOP-Prädikat und die Tabelle ja mit Hilfe von  Formular-Feldern (und einer gespeicherten Abfrage)  bestimmen:



Dim strSQL as String
strSQL = "SELECT Top " & Me!txtTopAnzahl & "  * FROM  " & Me!txtTabelle

Currentdb.QueryDefs!qry_MyQuery.SQL = strSQL

Docmd.OpenQuery "qry_MyQuery"