Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Filter Problem

Begonnen von MartinHan, Mai 04, 2024, 00:22:41

⏪ vorheriges - nächstes ⏩

MartinHan

Hi,

ich habe ein Endlos Formular mit Daten aus einer Tabelle.
Dann habe ich zusätzlich eine Spalte, in der Daten sind, die ich mit Hilfe einer VB-Prozedur bereche, diese Spalte ist nicht Bestandteil der Tabelle.
Alles wird korrekt angezeit...
Doch wie kann ich mittels vb einen Filter auf diese Spalte legen...

Die Spalte heisst Saldo und ist anhängig von der Spalte kontoid: =saldo([kontoid])

Ich möchte mit VB per Filter nur die Spalten sehen, wo der Wert von saldo<0 ist

Ich habe z.B. versucht:

DoCmd.ApplyFilter , "me.Saldo" < 0

Me.FilterOn = True

und noch mehere andere Versuche, die ich hier gar nicht alle aufführen will...

Was mache ich falsch?

Danke für Hilfe!

Martin


Es gibt nichts gutes, außer, man tut es! EK

MzKlMu

#1
Hallo,
bitte genauer erklären.
Gibt es mehrere Spalten mit Saldo, weil Du von Spalten sprichst ?
Oder meinst Du hier Zeilen (=Datensätze) ?

Wie genau wird denn der Saldo berechnet ?

Normalerweise wird in Access (Formular) so gefiltert:

Me.Filter = "Saldo < 0"
Me.FilterOn = True

Me (bei Saldo) kann hier nicht verwendet werden bzw. führt zu einem Fehler.
Gruß Klaus

MartinHan

Hi Klaus,

danke für deine Antwort.

es sind mehrere Spalten, die dargestellt werden. Eine davon ist die Kontoid. Berechnet wird der Saldo in einer kleinen Prozedur namens saldo. Im Eigenschaftsfenster steht bei Daten bei dem Feld saldo: =saldo([kontoid]).
Es wird ja auch alles korrekt dargestellt. Nur ich möchte jetzt von den ca. 350 Datensätzen nur die sehen, die einen negativen Saldo haben.
Wenn ich das wie von dir vorgeschlagen mache, erscheint ein Parameterfeld und ich werde nach dem Saldo gefragt.
Das Feld Saldo ist kein Feld der query, vielleicht ist das ja das Problem...

Martin
Es gibt nichts gutes, außer, man tut es! EK

MartinHan

Hallo,

ich denke ich habe es jetzt gelöst. Ich habe das Feld Saldo zu einem Feld in der Tabelle bzw. der query gemacht und schon kann ich einen Filter dadrauf legen.
Es scheint wohl so zu sein, das man nur nach Feldinhalten filtern kann, wenn sie Tabellenspalten sind, bei bnerechneten Feldern scheint es nicht zu klappen.
ich muss jetzt nur noch dafür sorgen, das der Saldo immer aktuell ist.

Nochmal danke!
Es gibt nichts gutes, außer, man tut es! EK

Beaker s.a.

Hallo Martin,
Zitatdas man nur nach Feldinhalten filtern kann, wenn sie Tabellenspalten sind,
Eine Abfrage ist auch eine (virtuelle) Tabelle.
Zitatbei berechneten Feldern scheint es nicht zu klappen
Doch, sie müssen halt nur in der Feldliste der Abfrage auftauchen.
In einer "richtigen" Tabelle hat ein Feld "Saldo" allerdings nichts zu suchen, -
der ändert sich ja ständig. Daher berechnet man den in einer Abfrage, - immer
aktuell. Da brauchst du dir darum
Zitatdas der Saldo immer aktuell ist.
auch keine Gedanken zu machen.

gruss ekkehard
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MartinHan

#5
Hallo Ekkehard,

so in etwa habe ich es hinbekommen:

SELECT KontoId, Sum(betrag) AS saldo, KontoInhaber
FROM umsatz LEFT JOIN konto ON umsatz.kontoid = konto.kontoid
GROUP BY KontoId, KontoInhaber

Vielen Dank!

Martin
Es gibt nichts gutes, außer, man tut es! EK

Beaker s.a.

Schön.
Die Gruppierung auf den "Kontoinhaber" brauchst du nicht, der
ist doch durch seine ID schon identifiziert.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MzKlMu

Hallo,
doch, braucht er. Ein Inhaber kann ja mehrere Konten haben.
Gruß Klaus

Beaker s.a.

O.K., war mir entgangen.
Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)