Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How can we use PACK in Network ?
Message
From
11/01/1999 00:03:47
 
 
To
10/01/1999 21:31:47
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00174552
Message ID:
00174558
Views:
24
>I have complied VFP program for using in network.
>So, I used "set excl on" in the start of my progrma.
>When the user quite program, I would like VFP check that user
>that he is the last one in the network or not ?
>If yes, I would like "PACK" command launch.
> Which command can I use for checking how many user in the network and How can we change "set excl on" to "off" in the network.
>eg. my code
> If QUIT = 'yes'
> close database
> clear events
> set sysmenu to defa
> CLOSE ALL
> IF DAY(DATE()) = 1
> A=DATE()-90
> SET EXCL ON
> SELE 1
> USE SALE
> DELE ALL FOR SALDATE >= A
> PACK
> ENDIF
> ......
> ......
>
>For this sample I have trouble that error "Database access deny" I thinks it is so because at the begining of my program I use "set excl on"
> Thanks for your time.

SET EXCLUSIVE is one of a list of commands that are scoped to a datasession. So if you SET EXCLUSIVE ON at the beginning of your program, and open a table in form, your setting is ignored, unless you have issued it in that form's method code.

To check to see if anyone else is using the table, just check to see if you can open it exclusively
lcOldOnError = ON('ERROR') && save the error handler
*The next line ignores any errors (we would get a file access denied error
* if the table cannot be opened exclusively)
ON ERROR * 

USE Sale EXCLUSIVE

* restore the error handler
ON ERROR &lcOldOnError 

IF USED('Sale') && were we able to open the table exclusively?
* "ALL" is implied with use of the FOR clause 
     DELE FOR SalDate >= A
     PACK
ENDIF
Erik Moore
Clientelligence
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform