ich stolpere wieder mal über ein Phänomen. Wenn ich nach Beispiel 1. die gelöschten Datensätze suche, wird immer nur der erste gelöschte Datensatz gefunden. Mit Beispiel 2. werden alle gefunden. Warum, ist mir ein Rätsel ...
Code: Alles auswählen
// 1.
IF !net_use4("MITGLIED",.T.,1,"NEW","Mitglied")
PostAppEvent( xbeP_Close, , , oDlg )
RETURN( NIL )
ENDIF
SET DELETED OFF
DO WHILE ! EOF() // Alle
IF DELETED()
AADD(aNames, { Mitglied->mitglnr })
ENDIF
DBSKIP()
ENDDO
Mitglied->(DBCLOSEAREA())
MSgBox("LEN(aNames): "+STR(LEN(aNames)) )
// Ergebnis -> 1 gelöschter Datensatz
// 2.
USE Mitglied NEW EXCLUSIVE
SET DELETED OFF
DO WHILE ! EOF() // Alle
IF DELETED()
AADD(aNames, { Mitglied->mitglnr })
ENDIF
DBSKIP()
ENDDO
Mitglied->(DBCLOSEAREA())
MSgBox(LEN(aNames): "+STR(LEN(aNames)) )
// Ergebnis -> 5 gelöschte Datensätze
FUNCTION NET_USE4(file, ex_use, wait, new, al) // 02.12.2019
PRIVATE forever
forever = (wait = 0)
DO WHILE (forever .OR. wait > 0)
IF ex_use // exclusive
USE &file alias &al EXCLUSIVE new
ELSE
USE &file alias &al SHARED new // Shared
ENDIF
IF .NOT. NETERR() // Wenn kein Netzfehler
RETURN (.T.)
ENDIF
INKEY(1) // 1 second warten
wait = wait - 1
ENDDO
RETURN (.F.) // Netzfehler
// End - NET_USE4()