Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Deleting records in a buffered view.
Message
 
To
18/12/2001 10:12:55
Hilmar Zonneveld
Independent Consultant
Cochabamba, Bolivia
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00578650
Message ID:
00595609
Views:
27
I just found out what worked.

CURSORSETPROP()
1 – Sets row and table buffering off.

I set the buffering to 1 prior to PACKing the table, which turns off table and row buffering, then PACKed the table, then returned it to Row Buffering mode (2). It worked!

Cecil

Here's the code in my form's cmdPackTable.Click procedure.

* Pack table now. Only security level 3 may pack this table.
Local llGood
WITH ThisForm
IF .IsChanged()
.SaveIt()
ENDIF
IF .nSecLevel > 2
IF USED('Address')
USE && Close the file.
ENDIF
USE address EXCLUSIVE
SELECT Address
WAIT WINDOW NOWAIT "Packing table..."
llGood = CursorSetProp('Buffering', 1, 'Address') && Turns off buffering.
PACK
USE
USE Address ORDER lfName SHARED && Re-open table in SHARED mode.
llGood = CursorSetProp('Buffering', 2, 'Address') && Pessimistic row buffering.
.cmdDelete.Enabled = .T.
.cmdRecall.Enabled = .F.
.IsDeleted()
.CountRecs()
ENDIF
*.Refresh() && Don't need this command since it is in .CountRecs().
ENDWITH
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform