PDA

Vollständige Version anzeigen : m² Anzeigen in einem ListView???


--=Franky=--
06.07.2006, 08:36
Hallo miteinander,

habt ihr noch einen Tipp um die Summe der angezeigten "qm" aus einem ListView darzustellen??
Je nach Filter, werde mal mehr oder weniger DS angezeigt und ich hätte gerne ein Feld, welches mir immer die Summe der gerade angezeigten "qm" darstellt.

Die Anzahl der DS, die habe ich ja mit

IstAusgabe.Listcount
, aber das hilft mir in diesem Fall nicht wirklich weiter :eek:

Danke im Voraus...

J_Eilers
06.07.2006, 09:18
Hi,

ist das ein ListView oder ein Listenfeld? Kannst du die m² nicht innerhalb der Abfrage berechnen?

--=Franky=--
06.07.2006, 12:27
Danke für die Beteiligung an meinem Problem,

aber das ist eher ungünstig, denn wenn ich die angezeigten DS reduziere
(es findet ja ein inkrementelles suchen statt),
dann möchte ich in dem Moment auch wissen wieviel m² just im dem Moment auf dem Bildschirm angezeigt werden.
So wie mit dem .Listcount der DS, immer im Moment des darstellens.

Im Bericht summiere ich die m² auf, (dank DonKarls-Seite :) ), das ist aber ein Schritt, den ich nicht immer gehen möchte.
Gibt es denn keine Möglichkeit?
Dann könnte ich auch damit leben, wenn auch schlecht ;)

J_Eilers
06.07.2006, 13:07
Ähm, wenn du die Summe in der Abfrage für das Listenfeld machst und dann sich die Datenmenge in der Abfrage verändert, wird sich dort auch die Summe verändern. Denn für die Berechnung stehen ja auch nur die DS zur Verfügung, die du anzeigst. Ansonsten ein Beispiel zum Durchlaufen des Listenfelds.

Dim x As Currency
Dim i As Long

For i = 0 To Me!Liste.ListCount - 1
x = x + Me!Liste.Column(0, i)
Next i

Me!Feld = x

Bei Column musst du die Spaltennummer - 1 eingeben in der die m² stehen. Denn die Spaltenauflistung beginnt bei 0.

--=Franky=--
06.07.2006, 13:30
Ich habe bestimmt etwas anders verstanden als Du es gemeint hast (bin noch blutiger Laie),
aber ich werde das nachher mal so antesten, danke dafür.

Nur zur Erklärung, ich habe 4 Textfelder, in die ich jeweils, eine von zwei möglichen, Suchkriterien eingeben kann...

--=Franky=--
07.07.2006, 09:39
Ich habe das ketzt mal so versucht:

Private Sub summeqm_BeforeUpdate(Cancel As Integer)
Optionen:
Dim x As Currency
Dim i As Long

For i = 0 To Me!lstAusgabe.ListCount - 1
x = x + Me!lstAusgabe.Column(7, i)
Next i

Me!summeqm = x
End Sub , aber es wird nichts angezeigt :rolleyes:

Wo habe ich denn mal wieder Mist gebaut??

J_Eilers
07.07.2006, 09:59
Vielleicht in der Spalte? Stehen die m² in der 8. Spalte?

--=Franky=--
07.07.2006, 10:10
Nein, habe soeben die Spaltenüberschriften eingeschaltet und mit 0 angefangen zu zählen.
Spalte = 5, aber funktioniert trotzdem nicht :(

J_Eilers
07.07.2006, 10:12
Private Sub summeqm_BeforeUpdate(Cancel As Integer)
Optionen:
Dim x As Currency
Dim i As Long

For i = 1 To Me!lstAusgabe.ListCount - 1
x = x + Me!lstAusgabe.Column(4, i)
Next i

Me!summeqm = x
End Sub

--=Franky=--
07.07.2006, 10:38
Hallo J_Eilers,

auch auf die Gefahr hin, dass ich nerve ;) ...

Für den Fall der Fälle habe ich jetzt die Spalten 0-10 durchprobiert, auch die Einbesserung der 0 vorgenommen, still ruht der See?
Ich habe es in die vor- und nach-Update Ereignisse eingefügt.

Hast Du noch einen Rat?

J_Eilers
07.07.2006, 11:06
Lade mal bitte eine Miniversion deiner Datenbank hoch.

--=Franky=--
07.07.2006, 11:22
Habe einige Frms und ca. 14000 DS entfernt, sieht doch gleich viel schlanker aus ;)

Das entscheidende Frm heißt: Suche (einfach den entspr. Btn wählen) und dort in der Kopfzeile befindet sich der Übeltäter

--=Franky=--
07.07.2006, 11:26
.....

Arne Dieckmann
07.07.2006, 11:31
Packe folgende Sub in das Modul des Formulares:
Public Sub subBerechneQM()

Dim x As Currency
Dim i As Long

For i = 0 To Me!lstAusgabe.ListCount - 1
x = x + Me!lstAusgabe.Column(6, i)
Next i

Me!summeqm = x

End Sub

Und verwende an den Stellen Call subBerecheQM , wo es nötig ist, also z.B.: Private Sub suche_Change(), Private Sub NrDatensatz_Change() usw. (immer nach dem Ändern der RowSource). Ansonsten gibt es noch andere Optimierungen wie z.B. das Entfernen einiger überflüssiger REquerys usw.

--=Franky=--
07.07.2006, 11:42
Packe folgende Sub in das Modul des Formulares:
Das sind genau die Dinge die ich meine, da fehlt es mir einfach noch.
In ein Modul packen, ok, damit komme ich klar, aber in das Modul des Frms?? :p Wohin?

Arne Dieckmann
07.07.2006, 11:44
Gehe in den Formularentwurf und lass dir dann den Code anzeigen (ist ja schon einiges vorhanden dort, deshalb wundert die Frage mich etwas). Damit solltest du automatisch im besagten "Modul des Formulares" sein.

--=Franky=--
07.07.2006, 12:24
:rolleyes: War nur ein Problem mit der Begrifflichkeit, danke euch für die Ausdauer (fühle mich hier gut aufgehoben!).
Das wichtigste, es funktioniert :)

Arne Dieckmann
07.07.2006, 12:28
Die Ausdauer hatte Jan. Ich habe mich -ohne diesen Beitrag- ja nur zweimal geäussert. Ich leite den Dank also an ihn weiter.