Page 1 of 2

Error DBFNTX/1022 Lock required

Posted: Sat Mar 12, 2022 7:12 am
by carlazza
Hello everybody

I have 2 browse that pointing to the same DBF in this way

USE FCASSA new SHARED Alias FU
set index to fcassastagx1, fcassadatx1
set filter to AllTrim(FU->TipoMov) = "U"
FU->(DbGoTop())

USE FCASSA new SHARED Alias FE
set index to fcassastagx1, fcassadatx1
set filter to AllTrim(FE->TipoMov) = "E"
FE->(DbGoTop())

@ 60, 20 BROWSE Br_cassain ;
OF CDL2A ;
WIDTH 610 ;
HEIGHT 700 ;
FONT "calibri" ;
SIZE 11 ;
BOLD ;
BACKCOLOR VERDE ;
FONTCOLOR WHITE ;
HEADERS { "DESCRIZIONE", "DATA", "IMPORTO" } ;
WIDTHS { 400, 90, 100 } ;
WORKAREA FE ;
FIELDS { "descr", "datamov", "importo" } ;
ON DBLCLICK EDIT("E");
ON CHANGE LOADDATA("E")


@ 60, 1250 BROWSE Br_cassaout ;
OF CDL2A ;
WIDTH 610 ;
HEIGHT 700 ;
FONT "calibri" ;
SIZE 11 ;
BOLD ;
BACKCOLOR ROSSO ;
FONTCOLOR WHITE ;
HEADERS { "DESCRIZIONE", "DATA", "IMPORTO" } ;
WIDTHS { 400, 90, 100 } ;
WORKAREA FU ;
FIELDS { "descr", "datamov", "importo" } ;
ON DBLCLICK EDIT("U");
ON CHANGE LOADDATA("U")

When I try to update one of them, "Error DBFNTX/1010 Lock required" occurred

How can I solve the problem?

Thanls
Carlo

Re: Error DBFNTX/1010 Lock required

Posted: Sat Mar 12, 2022 7:47 am
by serge_girard
Carlo TRY:

USE FCASSA new EXCL Alias FU (or the other)

Serge

Re: Error DBFNTX/1010 Lock required

Posted: Sat Mar 12, 2022 8:28 am
by carlazza
Hi Serge

sorry but doesn't work

"workarea not in use" is the new error

Re: Error DBFNTX/1022 Lock required

Posted: Sat Mar 12, 2022 8:49 am
by serge_girard
I once experienced the same. It is probably the ALIAS name.
I will try to find how I got it solved backed then...
Serge

Re: Error DBFNTX/1022 Lock required

Posted: Sat Mar 12, 2022 9:35 am
by carlazza
Thanks

Re: Error DBFNTX/1022 Lock required

Posted: Sat Mar 12, 2022 10:16 am
by dragancesu
USE FCASSA new SHARED Alias FU
set index to fcassastagx1, fcassadatx1
set filter to AllTrim(FU->TipoMov) = "U"
FU->(DbGoTop())

USE FCASSA new SHARED Alias FE
set index to fcassastagx1, fcassadatx1
set filter to AllTrim(FE->TipoMov) = "E"
FE->(DbGoTop())
You use one dbf twice, i see what is different but why? If two or more program use one dbf than is SHARED but when REPLACE/UPDATE must be used LOCK()/UNLOCK(). We don't see your code for EDIT/UPDATE

Re: Error DBFNTX/1022 Lock required

Posted: Sat Mar 12, 2022 10:32 am
by carlazza
dragancesu wrote: Sat Mar 12, 2022 10:16 am
USE FCASSA new SHARED Alias FU
set index to fcassastagx1, fcassadatx1
set filter to AllTrim(FU->TipoMov) = "U"
FU->(DbGoTop())

USE FCASSA new SHARED Alias FE
set index to fcassastagx1, fcassadatx1
set filter to AllTrim(FE->TipoMov) = "E"
FE->(DbGoTop())
You use one dbf twice, i see what is different but why? If two or more program use one dbf than is SHARED but when REPLACE/UPDATE must be used LOCK()/UNLOCK(). We don't see your code for EDIT/UPDATE
IF err==0
IF from == "NEW"
FU->(dbAppend())
ELSE
FU->(dbGoTo ( CDL2A.Br_cassaout.Value ))
ENDIF

FU->FIELD1 := XXX
FU->FIELD2 := XXX
FU->FIELD3 := XXX
FU->FIELD4 := XXX

CDL2A.Br_cassaout.Refresh
dbCommitAll()

ENDIF

RETURN

Re: Error DBFNTX/1022 Lock required

Posted: Sat Mar 12, 2022 12:17 pm
by SALINETAS24
Has probado con LOCK..???

Re: Error DBFNTX/1022 Lock required

Posted: Sat Mar 12, 2022 2:40 pm
by carlazza
I wrote this post just to ask how to fix the lock problem

Re: Error DBFNTX/1022 Lock required

Posted: Sat Mar 12, 2022 3:13 pm
by dragancesu