Page 1 of 1

OrdCreate with Tdatabase

PostPosted: Sat Jan 22, 2022 11:55 am
by Silvio.Falconi
I must a procedure to create the index for many dbfs
It run ok
I save all nfo into an array aIdx

Code: Select all  Expand view


   local bCode
   local cfor := "!Deleted()"
   local bFor := "{ || " + cfor + "}"

FOR i := 1 TO LEN( ::aIdx )
        DbUseArea( .F. ,, ::cFilesPath+::aIdx[ i, 1 ],, .F. )
          FOR k := 1 TO LEN( ::aIdx[ i, 2 ] )
             bCode := "{ || " + ::aIdx[ i, 2, k, 1 ] + "}"
             OrdCondSet(cFor,bFor,,,,, RECNO(),,,, )
             OrdCreate( ::cFilesPath+::aIdx[ i, 2, k, 3 ], ::aIdx[ i, 2, k, 2 ],  ::cFilesPath+::aIdx[ i, 2, k, 1 ], &bCode )
      NEXT

      DbCloseArea()


 

then when I open a dbf with the cdx (for example with the EMAGDBU program or fwdbu) it tells me that the index file is corrupt

Code: Select all  Expand view
 Error occurred at: 22/01/2022, 12:55:39
   Error description: Error DBFCDX/1012  Corruption detected: C:\work\Prg\NewSostituzioni\2021\Data\AULE.cdx

Stack Calls
===========
   Called from:  => DBUSEAREA( 0 )
   Called from: fivedbu.prg => OPEN( 234 )
   Called from: fivedbu.prg => (b)BUILDMAINBAR( 83 )
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK( 693 )
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP( 944 )
   Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1721 )
   Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT( 1909 )
   Called from: .\source\classes\WINDOW.PRG => _FWH( 3368 )
   Called from:  => WINRUN( 0 )
   Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE( 1043 )
   Called from: fivedbu.prg => FIVEDBU( 59 )

 



how do I fix it?

Re: OrdCreate with Tdatabase

PostPosted: Sat Jan 22, 2022 1:57 pm
by Jimmy
hi Silvio,

i think 3rd. Parameter "cIndexKey" does not use PATH
Code: Select all  Expand view
OrdCreate( ::cFilesPath+::aIdx[ i, 2, k, 3 ], ;
           ::aIdx[ i, 2, k, 2 ],;
           ::cFilesPath+::aIdx[ i, 2, k, 1 ],;
           &bCode )


OrdCreate( <cIndexFile> , ;
[<cTagName>] , ;
<cIndexKey> , ;
[<bIndexKey>] , ;
[<lUnique>] , ;
[<lAdditive>] ) --> NIL

Re: OrdCreate with Tdatabase

PostPosted: Sat Jan 22, 2022 11:09 pm
by Silvio.Falconi
ooppss
you're right