PDA

Vollständige Version anzeigen : Abfrage - Gruppierung


xSabrinax
28.10.2011, 09:37
Guten Morgen zusammen,

Ich habe eine Abfrage in der ich viele Datensätze ausgebe.
Dort gibt es ein Feld mit "Scheinnummer" welches in der Originaldatei nicht nur Zahlen sondern auch Buchstaben usw. enthält.
Ich möchte jetzt aber nur die Zahlen ausgeben lassen, da das 6 Zahlen sind, habe ich ein Kriterium reingemacht : Wie "######"
das klappt auch ...
Nun habe ich aber festgestellt, dass die Zahlen (also die Datensätz) doppelt da drin stehen.
Also habe ich gedacht ich mache ich noch eine Gruppierungsfunktion mit rein. Aber das klappt nicht, er gruppiert mir nicht die Scheinnummern :-(

Kann mir da mal jemand helfen ?

Danke schonmal im voraus ...

xSabrinax
28.10.2011, 09:51
Ich habe jetzt gerade von einem Kollegen erfahren, dass gruppierte Felder, mit denen nichts weiter berechnet wird nicht angezeigt werden...

Hat da einer schonmal was von gehört ?

Atrus2711
28.10.2011, 09:59
Hi,

das Kriterium Wie "######" lässt aus deiner Tabelle nur die Sätze rauskommen, die aus 6 Zahlen bestehen. Wenn in der Tabelle aber für z.B. Zahl 123456 mehrere Sätze vorkommen, kommen die alle auch in der Abfrage durch.

Die Gruppierung eines Feldes ermittelt, welche unterschiedlichen Werte im Feld vorkommen. Das wäre also genau dein Fall. Gruppiere also nach der Zahl, und nimm die Zahl zusätzlich (!) nochmal als Feld auf, dem du dann in der Funktionszeile die Bedingung Wie "######" mitgibst. Aus der Gruppierungsspalte sollte das Kriterium heraus.

(Es würde hier zwar auch mit Bedingung in der Gruppierung dasselbe herauskommen, aber die separate Bedingung sorgt für ein Wegfiltern, bevor gruppiert wird. Die Abfrage wird also tendenziell schneller)

xSabrinax
28.10.2011, 10:05
Ok, also gebe ich das Feld 2 mal aus, einmal mit der Funktion Gruppierung und einmal mit dem Kriterium Wie"######" ?!?!

Aber was schreibe ich dann als Funktion in das Feld mit dem Kriterium ? Da muss ich ja auch ne Funktion angeben. Dann auch Gruppierung ?

Atrus2711
28.10.2011, 10:19
Nein, Bedingung. Die gibts als Funktion, ziemlich unten.

Lanz Rudolf
28.10.2011, 10:20
hallo
mache ich in einer Funktio / in einem Modul.
Public Function nurZahlen(Argument)
Dim intCont As Integer
For intCont = 1 To Len(Argument)
If Not InStr(1, "1234567890", Mid(Argument, intCont, 1)) = 0 Then
nurZahlen = nurZahlen & Mid(Argument, intCont, 1)
End If
Next intCont
End Function
Aufruf im SQL:
SELECT TblSng.id, TblSng.sng, Nurzahlen([sng]) AS nn FROM TblSng;

wie Du das mit der Gruppierung lössen musst weiss ich nicht !