Ich weiß, dass man beim Index mit UNIQUE doppelte Datensätze (z.B. Kunden-Nr.) rausfiltern kann.
Jetzt möcht ich eben nur die Datensätze anzeigen die eine doppelte Kunden-Nummer enthalten (also ohne UNIQUE)
Das ist für Euch Profis doch bestimmt ein Klacks!!
Doppelte Datensätze
Moderator: Moderatoren
- Lewi
- 1000 working lines a day
- Beiträge: 830
- Registriert: Di, 07. Feb 2006 14:10
- Wohnort: Hamburg
- Danksagung erhalten: 2 Mal
Nach dem Seek() führt Du einfach einen weiteren Skip(+1) durch und vergleichst, ob die Kd-Nr auch im nächsten Datensatz vorkommt:
Code: Alles auswählen
Func MyUnique( oDb, nAdNr)
Local nRec
oDb:Gotop()
If oDb:Seek( Str( nAdNr ) )
nRec := oDb:RecNo()
odb:Skip()
if oDb:ADNR == nAdNr
MsgBox("KdNr doppelt: " + Str( nAdNr) )
Return ( .F. ) // Oder Ruckgabe der Datensatz-Nr
else
oDb:Goto( nRec )
endif
Return ( .T. ) // bzw. Return ( 0 )
- Muecke
- 1000 working lines a day
- Beiträge: 623
- Registriert: Di, 24. Okt 2006 7:19
- Wohnort: Samstagern CH
- Hat sich bedankt: 3 Mal
- Danksagung erhalten: 9 Mal
- Kontaktdaten:
Geht vielleicht so
Danach das Array in eine Listbox anzeigen
Gruss Thomas
Code: Alles auswählen
Func MyUnique( oDb, nAdNr)
Local nRec
oDb:Gotop()
If oDb:Seek( Str( nAdNr ) )
nRec := oDb:RecNo()
odb:Skip()
if oDb:ADNR == nAdNr
MsgBox("KdNr doppelt: " + Str( nAdNr) )
aaDD(aArray, {nAdNr} )
Return ( .F. ) // Oder Ruckgabe der Datensatz-Nr
else
oDb:Goto( nRec )
endif
endi
Return {aArray} //( .T. ) bzw. Return ( 0 )
Danach das Array in eine Listbox anzeigen
Gruss Thomas
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten: