Seite 1 von 1

delete next 1 löscht die ganze DBF !?!

Verfasst: Fr, 16. Okt 2015 16:52
von xbaseklaus
Hallo allerseits, anscheinend steh ich auf der Leitung

Ich lasse eine DBF mit dbedit anzeigen

gehe mit dem Cursor auf einen Record der gelöscht werden soll

Über Funktionstaste wird folgendes aufgerufen:

Code: Alles auswählen

CASE LASTKEY()=-4      
         	delete next 1
         	pack
         	go top                     						
         	Rueck=2 
Delete next 1 soll eigentlich nur den aktuellen Record löschen !

Warum wird dann gleich die ganze DBF gelöscht ???

Mfg Klaus

Re: delete next 1 löscht die ganze DBF !?!

Verfasst: Fr, 16. Okt 2015 17:10
von xbaseklaus
OK so funktioniert es:

Code: Alles auswählen

CASE LASTKEY()=-4      
         	    	delete next 1
         		KEYBOARD Chr(K_RETURN)
         		pack
         		go top                     						
         		Rueck=2 

Re: delete next 1 löscht die ganze DBF !?!

Verfasst: Fr, 16. Okt 2015 17:46
von mini990
warum nicht einfach "delete" oder DBDelete()
Du stehst auf dem zu löschenden Datensatz wie Du schreibst.

Gruß Stefan

Re: delete next 1 löscht die ganze DBF !?!

Verfasst: Fr, 16. Okt 2015 17:50
von xbaseklaus
mini990 hat geschrieben:warum nicht einfach "delete" oder DBDelete()
Du stehst auf dem zu löschenden Datensatz wie Du schreibst.

Gruß Stefan
das hatte ich mir ja auch so gedacht, aber wenn du das aus dbedit aufrufst und nach dem DELETE ein PACK kommt , hört er erst auf wenn die ganze DBF gelöscht ist ! Probiers aus - hatte auch erst gedacht ich seh nicht richtig :-)

Mfg. Klaus

Re: delete next 1 löscht die ganze DBF !?!

Verfasst: Fr, 16. Okt 2015 18:14
von Manfred
Ist das Pack denn überhaupt an der Stelle notwendig? Mit Set DELETE ON/OFF werden die gelöschten Sätze doch auch erst mal ausgeblendet. Je nachdem wie groß die DBF ist, dauert ein Pack doch auch seine Zeit. Das könnte man dann später machen, in einem Rutsch eventuell, falls mehr Sätze gelöscht werden. Dann ist der Ablauf mit dem Dbdelete() die elegantere Lösung. m.E.

Re: delete next 1 löscht die ganze DBF !?!

Verfasst: Fr, 16. Okt 2015 18:21
von xbaseklaus
Manfred hat geschrieben:Ist das Pack denn überhaupt an der Stelle notwendig? ... Je nachdem wie groß die DBF ist, dauert ein Pack doch auch seine Zeit...
Da in der DBF nicht mehr als maximal 10 Datensätze stehen ist das PACK hier problemlos und der Kunde will es so haben :-)

MFG Klaus

Re: delete next 1 löscht die ganze DBF !?!

Verfasst: Sa, 17. Okt 2015 11:20
von Herbert
Pack provoziert exklusiven Zugriff und macht daher keinen Sinn. Das kann man im Code später machen. So ist der Kunde dann auch zufrieden... und warum soll ein Kunde so eine interne Sache verlangen wollen? Keiner meiner Kunden interessiert sich, wo was definitiv entfernt wird.

Re: delete next 1 löscht die ganze DBF !?!

Verfasst: Sa, 17. Okt 2015 21:55
von AUGE_OHR
xbaseklaus hat geschrieben:Ich lasse eine DBF mit dbedit anzeigen

Code: Alles auswählen

CASE LASTKEY()=-4      
                ...
         	Rueck=2 
arbeitest du noch mit deine DbEdit-UDF ?