USED( ) can determine if an alias is in use or if a table is open in a
specific work area.
How would one go about checking if open in any work area? VFP8
TonySper

Re: USED() by Olaf

Olaf
Fri May 09 16:48:55 CDT 2008

Hi Tony,

> USED( ) can determine if an alias is in use or if a table is open in a
> specific work area.
wrong

USED(nWorkarea) determines if a workarea is in use,
but you will mostly use it as USED(cAlias), which checks,
if a certain alias is in use in _any_ workarea of the current
datasession. So there you have your answer.

Bye, Olaf.

Re: USED() by Anders

Anders
Fri May 09 19:00:24 CDT 2008

I'll add to Olaf's comments, that AUSED(aArray) returns an array of aliases
and their workarea numbers. Tharray can be sorted alphabetically or by
workarea number with ASORT()

-Anders

"Olaf Doschke" <olaf.doschke@t-aufderlinie.de> wrote in message
news:A339EAAC-5ABE-4B1C-A1C2-8527EB50CEDB@microsoft.com...
> Hi Tony,
>
>> USED( ) can determine if an alias is in use or if a table is open in a
>> specific work area.
> wrong
>
> USED(nWorkarea) determines if a workarea is in use,
> but you will mostly use it as USED(cAlias), which checks,
> if a certain alias is in use in _any_ workarea of the current
> datasession. So there you have your answer.
>
> Bye, Olaf.



Re: USED() by TonySper

TonySper
Sat May 10 11:51:41 CDT 2008

Olaf
I thought so but ran into a problem checking it and apon looking into the
help, this is what I found.
Parameters
nWorkArea | cTableAlias
Specifies a table's work area or alias. USED( ) returns a logical true
(.T.) if a table is opened in the work area you specify with nWorkArea;
otherwise a logical false (.F.) is returned. USED( ) returns a logical true
(.T.) if an alias is in use with the alias you specify with cTableAlias;
otherwise false (.F.) is returned.
If you omit nWorkArea and cTableAlias, USED( ) returns a logical true
(.T.) if a table is open in the currently selected work; otherwise false
(.F.) is returned.

Remarks
USED( ) can determine if an alias is in use or if a table is open in a
specific work area.

I was useing the following and and got an error saying that file was already
open at times. I ended up using

use in lastid to close the file after I could not repeatly calculate if the
file was open or not as I did not know in which area it was being used.

IF USED('lastid.dbf')
SELECT LASTID
ELSE
SELECT 0
USE LASTID
ENDIF

What am I doing wrong in the above that I could not detect that the file was
open at times??



Tony

"Olaf Doschke" <olaf.doschke@t-aufderlinie.de> wrote in message
news:A339EAAC-5ABE-4B1C-A1C2-8527EB50CEDB@microsoft.com...
> Hi Tony,
>
>> USED( ) can determine if an alias is in use or if a table is open in a
>> specific work area.
> wrong
>
> USED(nWorkarea) determines if a workarea is in use,
> but you will mostly use it as USED(cAlias), which checks,
> if a certain alias is in use in _any_ workarea of the current
> datasession. So there you have your answer.
>
> Bye, Olaf.



Re: USED() by Olaf

Olaf
Sat May 10 12:57:05 CDT 2008

Hi Tony,

> IF USED('lastid.dbf')
simple mistake, USED() is working on aliases,
not on file names.

You should only check
USED("lastid")

In principle you have a problem if you want to
find out if a table is open already, as it can be
open with an alias other than the table name.

But if you USE lastid.dbf it will open in the
current work area with alias lastid.

Bye, Olaf.


Re: USED() by TonySper

TonySper
Sat May 10 17:53:38 CDT 2008

Olaf,
Darn, Thank you. I have been using the correct command for years and never
ran into that problem and was woundering why I have it now. I think I am
going Brain Dead. I remember that but just ran into a mental block. Sure
glad all you people are here at this NG to catch my dumb mistakes.
Tony

"Olaf Doschke" <olaf.doschke@t-aufderlinie.de> wrote in message
news:E248BEBE-225E-4008-BB3F-4B0ACE5621C4@microsoft.com...
> Hi Tony,
>
>> IF USED('lastid.dbf')
> simple mistake, USED() is working on aliases,
> not on file names.
>
> You should only check
> USED("lastid")
>
> In principle you have a problem if you want to
> find out if a table is open already, as it can be
> open with an alias other than the table name.
>
> But if you USE lastid.dbf it will open in the
> current work area with alias lastid.
>
> Bye, Olaf.



Re: USED() by Stephen

Stephen
Sun May 11 02:00:59 CDT 2008

Olaf is right about the table being open with a different alias - so also
remember DBF()

USE TEST ALIAS TRYTHIS

? USED('TEST') returns .F.
? USED('TRYTHIS') returns .T.
? DBF() returns the full path of the current alias, along with the real
table name
? DBF('TRYTHIS') returns the full path of the specified alias, along with
the real table name

very useful command

Sincerely

Stephen



"TonySper" <tsperduti@NOSPAMbellsouth.net> wrote in message
news:u72qmCvsIHA.3632@TK2MSFTNGP04.phx.gbl...
> Olaf,
> Darn, Thank you. I have been using the correct command for years and never
> ran into that problem and was woundering why I have it now. I think I am
> going Brain Dead. I remember that but just ran into a mental block. Sure
> glad all you people are here at this NG to catch my dumb mistakes.
> Tony
>
> "Olaf Doschke" <olaf.doschke@t-aufderlinie.de> wrote in message
> news:E248BEBE-225E-4008-BB3F-4B0ACE5621C4@microsoft.com...
>> Hi Tony,
>>
>>> IF USED('lastid.dbf')
>> simple mistake, USED() is working on aliases,
>> not on file names.
>>
>> You should only check
>> USED("lastid")
>>
>> In principle you have a problem if you want to
>> find out if a table is open already, as it can be
>> open with an alias other than the table name.
>>
>> But if you USE lastid.dbf it will open in the
>> current work area with alias lastid.
>>
>> Bye, Olaf.
>
>



Re: USED() by Man-wai

Man-wai
Sun May 11 03:48:30 CDT 2008

TonySper wrote:
> USED( ) can determine if an alias is in use or if a table is open in a
> specific work area.
> How would one go about checking if open in any work area? VFP8

For m.ii=1 to 255
select m.ii
? alias(), dbf()
endfor

--
@~@ Might, Courage, Vision, SINCERITY.
/ v \ Simplicity is Beauty! May the Force and Farce be with you!
/( _ )\ (Xubuntu 7.10) Linux 2.6.25.3
^ ^ 16:47:01 up 21:14 0 users load average: 1.37 1.35 1.42
? ? (CSSA):
http://www.swd.gov.hk/tc/index/site_pubsvc/page_socsecu/sub_addressesa/

Re: USED() by Olaf

Olaf
Sun May 11 07:20:23 CDT 2008

> For m.ii=1 to 255
> select m.ii
> ? alias(), dbf()
> endfor

Help says there are only up to 255 workareas per session,
but there could be much more!

You should simply make it a standard to not use
aliases different from the table name (and no table
names with spaces in them), unless there is really
a need for a second use of the same table with a
different alias.

Then it's perfectly okay to just check used(cAlias)
and not also check dbf().

Bye, Olaf.

Re: USED() by RGBean

RGBean
Sun May 11 08:38:25 CDT 2008

In VFP 8.0, you need to change that max number to 32767 (rather than 255!).

Rick

"Man-wai Chang ToDie (33.6k)" <toylet.toylet@gmail.com> wrote in message
news:eJzU5O0sIHA.4716@TK2MSFTNGP06.phx.gbl...
> TonySper wrote:
>> USED( ) can determine if an alias is in use or if a table is open in a
>> specific work area.
>> How would one go about checking if open in any work area? VFP8
>
> For m.ii=1 to 255
> select m.ii
> ? alias(), dbf()
> endfor
>
> --
> @~@ Might, Courage, Vision, SINCERITY.
> / v \ Simplicity is Beauty! May the Force and Farce be with you!
> /( _ )\ (Xubuntu 7.10) Linux 2.6.25.3
> ^ ^ 16:47:01 up 21:14 0 users load average: 1.37 1.35 1.42
> ? ? (CSSA):
> http://www.swd.gov.hk/tc/index/site_pubsvc/page_socsecu/sub_addressesa/


Re: USED() by TonySper

TonySper
Sun May 11 09:59:12 CDT 2008

Thank you all for the very useful information and tips. Now I have to
remember them.
TonySper

"RGBean" <rgbean@NOSPAMmelange-inc.com> wrote in message
news:401F1D4B-43D9-479C-A718-F34CB85C73E7@microsoft.com...
> In VFP 8.0, you need to change that max number to 32767 (rather than
> 255!).
>
> Rick
>
> "Man-wai Chang ToDie (33.6k)" <toylet.toylet@gmail.com> wrote in message
> news:eJzU5O0sIHA.4716@TK2MSFTNGP06.phx.gbl...
>> TonySper wrote:
>>> USED( ) can determine if an alias is in use or if a table is open in a
>>> specific work area.
>>> How would one go about checking if open in any work area? VFP8
>>
>> For m.ii=1 to 255
>> select m.ii
>> ? alias(), dbf()
>> endfor
>>
>> --
>> @~@ Might, Courage, Vision, SINCERITY.
>> / v \ Simplicity is Beauty! May the Force and Farce be with you!
>> /( _ )\ (Xubuntu 7.10) Linux 2.6.25.3
>> ^ ^ 16:47:01 up 21:14 0 users load average: 1.37 1.35 1.42
>> ? ? (CSSA):
>> http://www.swd.gov.hk/tc/index/site_pubsvc/page_socsecu/sub_addressesa/
>



Re: USED() by Man-wai

Man-wai
Sun May 11 21:59:49 CDT 2008

> In VFP 8.0, you need to change that max number to 32767 (rather than 255!).

Thanks. My memory still stuck at Foxpro 2.0. :)

>> For m.ii=1 to 255
>> select m.ii

This one should be: select &ii

>> ? alias(), dbf()

? m.ii, alias(), dbf()

>> endfor


--
@~@ Might, Courage, Vision, SINCERITY.
/ v \ Simplicity is Beauty! May the Force and Farce be with you!
/( _ )\ (Xubuntu 7.10) Linux 2.6.25.3
^ ^ 10:58:01 up 1 day 15:25 0 users load average: 1.02 1.04 1.00
? ? (CSSA):
http://www.swd.gov.hk/tc/index/site_pubsvc/page_socsecu/sub_addressesa/

Re: USED() by Olaf

Olaf
Mon May 12 10:50:11 CDT 2008

>>> For m.ii=1 to 255
>>> select m.ii
>
> This one should be: select &ii

No, Select m.ii is just fine.
Makrosubstitution will not work on numeric variables.

Bye, Olaf.

Re: USED() by tg

tg
Mon May 12 19:56:56 CDT 2008

Olaf Doschke schrieb:

> You should simply make it a standard to not use
> aliases different from the table name (and no table
> names with spaces in them), unless there is really
> a need for a second use of the same table with a
> different alias.
>
To keep the option of switching over to views or CA's without tapdancing
around the update problems of identically named base tables I recommend
to *always* use an alias different from juststem(dbf()) - but it should
be something clearly linked, like
use (m.lcFileStem) alias ("al" + m.lcFileStem)
best handled in a specific function delegated to opening tables.

my 0.02 EUR

thomas

Re: USED() by MikeA

MikeA
Mon May 12 23:44:28 CDT 2008

I think part of this is going to depend on exactly what he his trying to do
and why. If you just want to open the table in a work area one can easily
just close it first and then open the table with any alias like this:

use in (select("test"))
use test

That is a little rudimentary as for my routine I also have an "on error" to
trap if there are errors since it could be used exclusively in another
datasession or on another workstation on a network.

Mike

"Olaf Doschke" <olaf.doschke@t-aufderlinie.de> wrote in message
news:3CFF3D0D-D472-49FA-B008-4D73FE5C5FDC@microsoft.com...
>>>> For m.ii=1 to 255
>>>> select m.ii
>>
>> This one should be: select &ii
>
> No, Select m.ii is just fine.
> Makrosubstitution will not work on numeric variables.
>
> Bye, Olaf.



Re: USED() by TonySper

TonySper
Tue May 13 10:56:35 CDT 2008

Mike,
That's neat. I like it. All I wanted to do was see if it was open. If so
just select it, if not open it and select it. Your way may create an error
if it is not open when you try use in!!
TonySper

"MikeA" <appell@appellsoftware.com> wrote in message
news:M09Wj.7135$Uz2.5810@trnddc06...
>I think part of this is going to depend on exactly what he his trying to do
>and why. If you just want to open the table in a work area one can easily
>just close it first and then open the table with any alias like this:
>
> use in (select("test"))
> use test
>
> That is a little rudimentary as for my routine I also have an "on error"
> to trap if there are errors since it could be used exclusively in another
> datasession or on another workstation on a network.
>
> Mike
>
> "Olaf Doschke" <olaf.doschke@t-aufderlinie.de> wrote in message
> news:3CFF3D0D-D472-49FA-B008-4D73FE5C5FDC@microsoft.com...
>>>>> For m.ii=1 to 255
>>>>> select m.ii
>>>
>>> This one should be: select &ii
>>
>> No, Select m.ii is just fine.
>> Makrosubstitution will not work on numeric variables.
>>
>> Bye, Olaf.
>
>



Re: USED() by Rush

Rush
Tue May 13 12:22:10 CDT 2008

No error.

USE IN Test

will throw an error if Test is not open, but:

SELECT("Test")

returns a zero if Test is not found. Thus;

USE IN SELECT("Test")

becomes the equivalent of:

USE IN 0

which would close the table that is open in the first unused work area -
which, by definition, isn't.

BTW, if you just want the table open (but not necessarily selected) you
can condense it to:

USE Test IN SELECT("Test")

- Rush

TonySper wrote:
> Mike,
> That's neat. I like it. All I wanted to do was see if it was open. If so
> just select it, if not open it and select it. Your way may create an error
> if it is not open when you try use in!!
> TonySper
>
> "MikeA" <appell@appellsoftware.com> wrote in message
> news:M09Wj.7135$Uz2.5810@trnddc06...
>
>> I think part of this is going to depend on exactly what he his trying to do
>> and why. If you just want to open the table in a work area one can easily
>> just close it first and then open the table with any alias like this:
>>
>> use in (select("test"))
>> use test
>>
>> That is a little rudimentary as for my routine I also have an "on error"
>> to trap if there are errors since it could be used exclusively in another
>> datasession or on another workstation on a network.
>>
>> Mike
>>
>> "Olaf Doschke" <olaf.doschke@t-aufderlinie.de> wrote in message
>> news:3CFF3D0D-D472-49FA-B008-4D73FE5C5FDC@microsoft.com...
>>
>>>>>> For m.ii=1 to 255
>>>>>> select m.ii
>>>>>>
>>>> This one should be: select &ii
>>>>
>>> No, Select m.ii is just fine.
>>> Makrosubstitution will not work on numeric variables.
>>>
>>> Bye, Olaf.
>>>
>>
>
>
>

Re: USED() by MikeA

MikeA
Tue May 13 14:27:39 CDT 2008

Rush is right and to clarify:

use in (select("test"))

will NEVER throw an error.

But,

USE Test IN SELECT("Test")

will if test is already used exclusively on another machine.

So you just do something like:

on error m.llErr = .t.
USE Test IN SELECT("Test")
if m.llErr
messagebox("File could not be opened, try again later")
return
endif

One other thing:

if one does this:

USE Test IN SELECT("Test")

then you may still have to do a:

Select test

since you may be opening the table in a different work area than the active
one.

Mike


"Rush Strong" <rpstrong@gmail.com> wrote in message
news:67kWj.10040$jk1.2870@trndny05...
> No error.
> USE IN Test
>
> will throw an error if Test is not open, but:
>
> SELECT("Test")
> returns a zero if Test is not found. Thus;
>
> USE IN SELECT("Test")
>
> becomes the equivalent of:
>
> USE IN 0
>
> which would close the table that is open in the first unused work area -
> which, by definition, isn't.
>
> BTW, if you just want the table open (but not necessarily selected) you
> can condense it to:
>
> USE Test IN SELECT("Test")
>
> - Rush
>
> TonySper wrote:
>> Mike,
>> That's neat. I like it. All I wanted to do was see if it was open. If so
>> just select it, if not open it and select it. Your way may create an
>> error if it is not open when you try use in!!
>> TonySper
>>
>> "MikeA" <appell@appellsoftware.com> wrote in message
>> news:M09Wj.7135$Uz2.5810@trnddc06...
>>
>>> I think part of this is going to depend on exactly what he his trying to
>>> do and why. If you just want to open the table in a work area one can
>>> easily just close it first and then open the table with any alias like
>>> this:
>>>
>>> use in (select("test"))
>>> use test
>>>
>>> That is a little rudimentary as for my routine I also have an "on error"
>>> to trap if there are errors since it could be used exclusively in
>>> another datasession or on another workstation on a network.
>>>
>>> Mike
>>>
>>> "Olaf Doschke" <olaf.doschke@t-aufderlinie.de> wrote in message
>>> news:3CFF3D0D-D472-49FA-B008-4D73FE5C5FDC@microsoft.com...
>>>
>>>>>>> For m.ii=1 to 255
>>>>>>> select m.ii
>>>>>>>
>>>>> This one should be: select &ii
>>>>>
>>>> No, Select m.ii is just fine.
>>>> Makrosubstitution will not work on numeric variables.
>>>>
>>>> Bye, Olaf.
>>>>
>>>
>>
>>
>>



Re: USED() by MikeA

MikeA
Tue May 13 14:37:13 CDT 2008

If you just want to select it if it is open then you would start by putting
a function in a library to open tables (that's what I did) and then call the
function.

Something like this:

* Main program has a Set Procedure to MyLibrary and this function is in
MyLibrary.prg

function usetable
lParameters m.lcTable

if used(m.lcTable)
select (m.lcTable)
return
endif

* Open table
local m.llErr
on error m.llErr = .t.
select 0
use (m.lcTable) shared
if m.llErr
messagebox("table could not be opened")
return .f.
endif
return

I have not tested the above code, but that is the general idea. Then you
just say something like:

if ! usetable("test")
return && table could not be opened
endif
* table is now open in current work area

Mike


"TonySper" <tsperduti@NOSPAMbellsouth.net> wrote in message
news:enNxrHRtIHA.3968@TK2MSFTNGP04.phx.gbl...
> Mike,
> That's neat. I like it. All I wanted to do was see if it was open. If so
> just select it, if not open it and select it. Your way may create an error
> if it is not open when you try use in!!
> TonySper
>
> "MikeA" <appell@appellsoftware.com> wrote in message
> news:M09Wj.7135$Uz2.5810@trnddc06...
>>I think part of this is going to depend on exactly what he his trying to
>>do and why. If you just want to open the table in a work area one can
>>easily just close it first and then open the table with any alias like
>>this:
>>
>> use in (select("test"))
>> use test
>>
>> That is a little rudimentary as for my routine I also have an "on error"
>> to trap if there are errors since it could be used exclusively in another
>> datasession or on another workstation on a network.
>>
>> Mike
>>
>> "Olaf Doschke" <olaf.doschke@t-aufderlinie.de> wrote in message
>> news:3CFF3D0D-D472-49FA-B008-4D73FE5C5FDC@microsoft.com...
>>>>>> For m.ii=1 to 255
>>>>>> select m.ii
>>>>
>>>> This one should be: select &ii
>>>
>>> No, Select m.ii is just fine.
>>> Makrosubstitution will not work on numeric variables.
>>>
>>> Bye, Olaf.
>>
>>
>
>



Re: USED() by TonySper

TonySper
Tue May 13 15:02:51 CDT 2008

Mike,
Great information. Thanks for the ideas. Will use them.
TonySper

"MikeA" <appell@appellsoftware.com> wrote in message
news:J5mWj.44$vE.12@trnddc03...
> If you just want to select it if it is open then you would start by
> putting a function in a library to open tables (that's what I did) and
> then call the function.
>
> Something like this:
>
> * Main program has a Set Procedure to MyLibrary and this function is
> in MyLibrary.prg
>
> function usetable
> lParameters m.lcTable
>
> if used(m.lcTable)
> select (m.lcTable)
> return
> endif
>
> * Open table
> local m.llErr
> on error m.llErr = .t.
> select 0
> use (m.lcTable) shared
> if m.llErr
> messagebox("table could not be opened")
> return .f.
> endif
> return
>
> I have not tested the above code, but that is the general idea. Then you
> just say something like:
>
> if ! usetable("test")
> return && table could not be opened
> endif
> * table is now open in current work area
>
> Mike
>
>
> "TonySper" <tsperduti@NOSPAMbellsouth.net> wrote in message
> news:enNxrHRtIHA.3968@TK2MSFTNGP04.phx.gbl...
>> Mike,
>> That's neat. I like it. All I wanted to do was see if it was open. If so
>> just select it, if not open it and select it. Your way may create an
>> error if it is not open when you try use in!!
>> TonySper
>>
>> "MikeA" <appell@appellsoftware.com> wrote in message
>> news:M09Wj.7135$Uz2.5810@trnddc06...
>>>I think part of this is going to depend on exactly what he his trying to
>>>do and why. If you just want to open the table in a work area one can
>>>easily just close it first and then open the table with any alias like
>>>this:
>>>
>>> use in (select("test"))
>>> use test
>>>
>>> That is a little rudimentary as for my routine I also have an "on error"
>>> to trap if there are errors since it could be used exclusively in
>>> another datasession or on another workstation on a network.
>>>
>>> Mike
>>>
>>> "Olaf Doschke" <olaf.doschke@t-aufderlinie.de> wrote in message
>>> news:3CFF3D0D-D472-49FA-B008-4D73FE5C5FDC@microsoft.com...
>>>>>>> For m.ii=1 to 255
>>>>>>> select m.ii
>>>>>
>>>>> This one should be: select &ii
>>>>
>>>> No, Select m.ii is just fine.
>>>> Makrosubstitution will not work on numeric variables.
>>>>
>>>> Bye, Olaf.
>>>
>>>
>>
>>
>
>



Re: USED() by Dan

Dan
Tue May 13 15:30:05 CDT 2008

However, if you fiddle with ON ERROR you should put it back!

And you'd be even better off using TRY/CATCH.

Dan

MikeA wrote:
> If you just want to select it if it is open then you would start by
> putting a function in a library to open tables (that's what I did)
> and then call the function.
>
> Something like this:
>
> * Main program has a Set Procedure to MyLibrary and this
> function is in MyLibrary.prg
>
> function usetable
> lParameters m.lcTable
>
> if used(m.lcTable)
> select (m.lcTable)
> return
> endif
>
> * Open table
> local m.llErr
> on error m.llErr = .t.
> select 0
> use (m.lcTable) shared
> if m.llErr
> messagebox("table could not be opened")
> return .f.
> endif
> return
>
> I have not tested the above code, but that is the general idea. Then
> you just say something like:
>
> if ! usetable("test")
> return && table could not be opened
> endif
> * table is now open in current work area
>
> Mike
>
>
> "TonySper" <tsperduti@NOSPAMbellsouth.net> wrote in message
> news:enNxrHRtIHA.3968@TK2MSFTNGP04.phx.gbl...
>> Mike,
>> That's neat. I like it. All I wanted to do was see if it was open.
>> If so just select it, if not open it and select it. Your way may
>> create an error if it is not open when you try use in!!
>> TonySper
>>
>> "MikeA" <appell@appellsoftware.com> wrote in message
>> news:M09Wj.7135$Uz2.5810@trnddc06...
>>> I think part of this is going to depend on exactly what he his
>>> trying to do and why. If you just want to open the table in a work
>>> area one can easily just close it first and then open the table
>>> with any alias like this:
>>>
>>> use in (select("test"))
>>> use test
>>>
>>> That is a little rudimentary as for my routine I also have an "on
>>> error" to trap if there are errors since it could be used
>>> exclusively in another datasession or on another workstation on a
>>> network. Mike
>>>
>>> "Olaf Doschke" <olaf.doschke@t-aufderlinie.de> wrote in message
>>> news:3CFF3D0D-D472-49FA-B008-4D73FE5C5FDC@microsoft.com...
>>>>>>> For m.ii=1 to 255
>>>>>>> select m.ii
>>>>>
>>>>> This one should be: select &ii
>>>>
>>>> No, Select m.ii is just fine.
>>>> Makrosubstitution will not work on numeric variables.
>>>>
>>>> Bye, Olaf.



Re: USED() by Man-wai

Man-wai
Tue May 13 21:23:46 CDT 2008

> However, if you fiddle with ON ERROR you should put it back!

yes

>> * Open table
>> local m.llErr

* better be safe than sorry
m.llErr=.f.

>> on error m.llErr = .t.

local m.xx, m.select
m.xx=on("error")
m.select=select()
>> select 0
>> use (m.lcTable) shared
select (m.select)
on error &xx

>> if m.llErr
>> messagebox("table could not be opened")
>> return .f.
>> endif
>> return

return .t.

--
@~@ Might, Courage, Vision, SINCERITY.
/ v \ Simplicity is Beauty! May the Force and Farce be with you!
/( _ )\ (Xubuntu 7.10) Linux 2.6.25.3
^ ^ 10:21:01 up 18:09 0 users load average: 1.19 1.11 1.09
? ? (CSSA):
http://www.swd.gov.hk/tc/index/site_pubsvc/page_socsecu/sub_addressesa/