Access-o-Mania

Access-Forum (Deutsch/German) => Tabelle/Abfrage => Thema gestartet von: derilzemer am Juli 15, 2017, 15:22:24

Titel: Anzahl gefundener Datensätze (SQL select) in Extrafeld anzeigen
Beitrag von: derilzemer am Juli 15, 2017, 15:22:24
Hallo,
ich löse in einem Suchformular via Commandbutton einen select aus

Private Sub cmdSuche_Click()
    Dim SQL As String
    SQL = "SELECT tblQuartette.SpielID_F, tblSpiele.SpielNr, tblSpiele.Ausgabejahr, [QuartettKz] & [KartenNr] AS Karte, tblQuKarten.Kartenbezeichnung " _
        & " FROM tblSpiele INNER JOIN (tblQuartette INNER JOIN tblQuKarten ON tblQuartette.QuartettID = tblQuKarten.QuartettID_F) ON tblSpiele.SpielID = tblQuartette.SpielID_F " _
        & " WHERE Kartenbezeichnung LIKE '*" & Me.txtSuchbegriff & "*' " _
        & " ORDER BY tblQuKarten.Kartenbezeichnung "

    Me.lstKarten.RowSource = SQL
    Me.lstKarten.Requery
End Sub

Das funktioniert soweit auch alles. Da das Ergebnis an ein Listenfeld übergeben wird, sehe ich nicht, wie viele Datensätze vom select gefunden wurden. Ist nicht tragisch, aber ist auch nicht schlecht, wenn ich das sehen würde. Diesen Count kann man ja in einem Textfeld anzeigen lassen, oder? Wenn ja, erledigt man das mit dem Zusatz "count" im select und übermittelt das Ergebnis an das Textfeld? Wie geht das?
Titel: Re: Anzahl gefundener Datensätze in Extrafeld anzeigen
Beitrag von: DF6GL am Juli 15, 2017, 15:25:40
Hallo,


ein Listenfeld hat die Eigenschaft "ListCount", deren Wert an ein Textfeld übergeben werden kann.

Siehe auch die VBA-Hilfe zu "Listcount".
Titel: Re: Anzahl gefundener Datensätze in Extrafeld anzeigen
Beitrag von: Lachtaube am Juli 15, 2017, 15:30:59
Listen- und Kombifelder haben die Eigenschaft ListCount. (https://msdn.microsoft.com/de-de/library/office/ff845049.aspx)

BTW: Die letzte Anwisung ist überflüssig.
Titel: Re: Anzahl gefundener Datensätze (SQL select) in Extrafeld anzeigen
Beitrag von: PhilS am Juli 15, 2017, 15:33:54
Die eigentliche Frage ist ja bereits von DF6GL sehr gut beantwortet worden.
Ich habe noch einen Hinweis am Rande:
Zitat von: derilzemer am Juli 15, 2017, 15:22:24
...
    Me.lstKarten.RowSource = SQL
    Me.lstKarten.Requery
End Sub

Das Ändern der Datensatzherkunft mit .RowSource = SQL löst bereits implizit die Aktualisierung der Listbox aus. Das anschließende Requery bewirkt also eine zweite, unnötige Ausführung der Abfrage. Du kannst (solltest) es weglassen.
   
Titel: Re: Anzahl gefundener Datensätze (SQL select) in Extrafeld anzeigen
Beitrag von: derilzemer am Juli 15, 2017, 15:35:50
Hi,
okay, ich habe die letzte Anweisung entfernt, danke.
Wegen dem Listcount, wie ich das mache muss werde ich jetzt erst mal lesen und versuchen zu verstehen.
Titel: Re: Anzahl gefundener Datensätze (SQL select) in Extrafeld anzeigen
Beitrag von: derilzemer am Juli 15, 2017, 15:39:35
Hallo,
danke für den Gedankenanstoß. Im Textfeld ist es einfach über den Steuerelementinhalt zu lösen.
=[lstKarten].[ListCount]
Gruß Andreas