PDA

Vollständige Version anzeigen : Listenfeld Recordset


hanspeterludwig
13.06.2012, 13:24
Als erstes ein nettes Hallo an Euch!

Habe ein kleines Problem!

Durch eine sql - Abfrage habe ich eine "Liste" gefüllt.

Die letzte Spalte "ListeBestand.Column(7)" - Name der Spalte "Bestand" - kann einen Wert enthalten.
Nun möchte ich die Liste - Zeilenweise auswerten - ob in der Spalte "Bestand" ein Wert vorhanden ist, der <=0 ist. Trifft dies zu, dann soll eine "Then" Anweisung folgen.

Kann man überhaupt Listenfelder so auslesen? Und wenn ja, kann mir Ein Wissender helfen? :)

Herzlichen Dank für Euer Return :yelrotfl:

Atrus2711
13.06.2012, 13:28
Hi,

Du könntest diesen Vergleich doch gleich in der Abfrage ausführen, die das Listfeld füllt. Dann hast du eine weitere Spalte im Listfeld, die einen J/N-Wert zeigt, und kannst darauf reagieren.

hanspeterludwig
13.06.2012, 13:36
Hi Atrus2711, herzlichen Dank für Dein Return.
Das Ergebnis wird ja angezeigt. Hier geht es darum, dass die Liste Tageswerte mit einem Datum enthält. So kann es sein, dass mal ein negativer Wert in der Liste steht und manchmal nicht. Der Bestand selbst wird mit einem Wert aus dem Hauptformular (Benötigte Anzahl) ermittelt. Die Then Anweisung soll ein Beep erzeugen und die Liste von Backcolor "Grün" in "Rot" umschalten.

Da die Liste "sehr lang" sein kann, ist dies - so meine ich - doch die sichere Lösung - oder?

Danke für Deine Hilfe ...

Atrus2711
13.06.2012, 13:44
If...Then ist aber VBA und kann nur einzelne Werte miteinander vergleichen. Es ist auch eher eine Steuerungsmechanik im Programmablauf als eine Auswertung von Massendaten.

Du könntest aber auf die Listfeld-Abfrage eine Abfrage aufsetzen, die die negativen Werte zählt. Am einfachsten, aber langsamsten per Dcount:
If Dcount("*", "ListfeldAbfrage", "Feld < 0") > 0 Then
Beep
MsgBox "Alarm"
End if
Auszuführen wäre das bei einem geeignete Ereignis, also immer dann, wenn sich das Listfeld ändert. Z.B. bei Form_Open, aber vielleicht auch in weiteren Fällen.

hanspeterludwig
13.06.2012, 14:50
Hallo Atrus2711,
herzlichen Dank für Deine Hilfe und Erklärung. Ich habe es so nun gemacht. Es klappt auch soweit gut so.

Liebe Grüße
Hans-Peter