FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour CAMPO AUTOINCREMENT - DBF [RESUELTO]
Posts: 410
Joined: Sun Jan 31, 2010 03:30 PM
Re: CAMPO AUTOINCREMENT - DBF (SOLUCIONADO )
Posted: Wed Oct 22, 2025 03:30 PM

Enrico... ya quedo ok..

Error mio, al usar un id (+) , cuando la tabla origen ya tenia un ID (numerico).. AL HACER EL APPEND FROM

Gracias

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: CAMPO AUTOINCREMENT - DBF
Posted: Wed Oct 22, 2025 03:37 PM
// C:\FWH\SAMPLES\RUSSI.PRG

#include "FiveWin.ch"

FUNCTION Main()

   // CREARDBF()
   MsgRun( "AGUARDE... ABRINDO OS BANCOS DE DADOS.   ",                      ;
           "Por Favor, Espere Abertura. Pode Demorar.",                      ;
           { || WinExec( CREARDBF() ), 3 } )

RETURN NIL

FUNCTION CREARDBF()

   IF FILE( "RUSSIMIC.DBF" )

      DELETEFILE( "RUSSIMIC.DBF" )

      IF FILE( "RUSSIMIC.DBF" )

         ? "OOOPPPSSSS"

         QUIT // OOOPPPSSSS

      ENDIF

   ENDIF

   IF .NOT. FILE( "RUSSIMIC.DBF" )

      DbCreate( "RUSSIMIC.DBF", { { "ID",         "+",  04, 00 }, ;
                                  { "SERIE",      "C",  05, 00 }, ;
                                  { "NOME",       "C",  50, 00 }, ;
                                  { "ENDERECO",   "C",  50, 00 }, ;
                                  { "BAIRRO",     "C",  30, 00 }, ;
                                  { "CIDADE",     "C",  30, 00 }, ;
                                  { "UF",         "C",  02, 00 }, ;
                                  { "CEP",        "C",  09, 00 }, ;
                                  { "CGC",        "C",  14, 00 }, ;
                                  { "INSCREST",   "C",  18, 00 }, ;
                                  { "FONE",       "C",  30, 00 }, ;
                                  { "FONE2",      "C",  30, 00 }, ;
                                  { "CELULAR",    "C",  30, 00 }, ;
                                  { "EMAIL",      "C",  50, 00 }, ;
                                  { "EMAIL2",     "C",  50, 00 }, ;
                                  { "SITE",       "C",  50, 00 } } )

      DbCloseAll()

   ELSE

      ? "FILE NOT FOUND"

      QUIT

   ENDIF

   USE RUSSIMIC ALIAS RUSSSIMIC

   APPEND BLANK

   XBROWSE()

   DbCloseAll()

RETURN NIL

// FIN / END - kapiabafwh@gmail.com
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: CAMPO AUTOINCREMENT - DBF (SOLUCIONADO )
Posted: Thu Oct 23, 2025 09:44 AM
russimicro wrote: Enrico... ya quedo ok..

Error mio, al usar un id (+) , cuando la tabla origen ya tenia un ID (numerico)

Gracias
Great!
Posts: 410
Joined: Sun Jan 31, 2010 03:30 PM
Re: CAMPO AUTOINCREMENT - DBF [RESUELTO]
Posted: Thu Oct 23, 2025 01:34 PM

Buen dia....

Encontre que con xharbour.com o comercial... funciona bien, siempre y cuando NO se ejecute

el comando ZAP antes del APPEND BLANK o APPEND FROM....

Ante esto se require crear la tabla con la nueva estructura (CREATE TABLE) y NO hacer un MODI STRU (agregar el ID - AUTOINCREMENT ) + ZAP

Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: CAMPO AUTOINCREMENT - DBF [RESUELTO]
Posted: Thu Oct 23, 2025 02:43 PM

I don't understand. Can you provide a reduced and self-contained sample showing the problem?

Posts: 410
Joined: Sun Jan 31, 2010 03:30 PM
Re: CAMPO AUTOINCREMENT - DBF [RESUELTO]
Posted: Fri Oct 24, 2025 02:48 AM
Enrico... aclaro es sobre xharbour.com y por el cual ya no hay soporte---

Solamente lo reporto a manera de "aviso"

ZAP : si activo el zap ... el autoincremento empieza en cero (0)

// ZAP : si desactivo el zap ... el autoincremento empieza en uno (1)

Nota : Esto NO sucede con harbour ni con xharbour.org

Gracias...

Ya sabiendo la causa en xharbour.com, ya pude resolver no haciendo modi stru + zap + append from, sino create table + append from


Gracias

//*****************


Enrico... I clarify this is about xharbour.com and there is no longer support for it.

Just reporting it as a "heads up"

ZAP: If I enable Zap... the auto-increment starts at zero (0)

// ZAP: If I disable Zap... the auto-increment starts at one (1)

Note: This does NOT happen with harbor or xharbour.org

Thanks...

Now that I know the cause for xharbour.com, I was able to resolve it by not doing mosi stru + zap + append from, but rather create table + append from.

Thanks



Ejp :
#include "Fivewin.ch"

FUNCTION MAIN()

    DBCREATE( "PRUEBA.DBF", { { "TEST", "+", 4, 0 } } )

    USE PRUEBA EXCLUSIVE

//    ZAP   // INICIA EN UNO (1)
    ZAP   // INICIA EN CERO (0)

    APPEND BLANK
    APPEND BLANK

    CLOSE

    XBROWSER( "PRUEBA.DBF" )

    RETURN NIL
Posts: 9020
Joined: Thu Oct 06, 2005 08:17 PM
Re: CAMPO AUTOINCREMENT - DBF [RESUELTO]
Posted: Fri Oct 24, 2025 08:06 AM
Ok, understood, but I can't help you with xharbour.com, sorry. :-(
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: CAMPO AUTOINCREMENT - DBF [RESUELTO]
Posted: Fri Oct 24, 2025 02:26 PM
Prueba asi:
// C:\FWH\SAMPLES\RUSSI2.PRG

#include "Fivewin.ch"

FUNCTION Main()

   DBCREATE( "PRUEBA.DBF", { { "TEST",   "+",  4, 0 }, ;
                             { "ADRESS", "C", 40, 0 } } )

   USE PRUEBA EXCLUSIVE NEW ALIAS PRUEBA

   DBZAP()

   BROWSE() // VACIO?

   DBAPPEND()

   RLOCK()

   REPLACE ADRESS WITH "RUSSIMICRO1"

   COMMIT
   UNLOCK

   DBAPPEND()

   RLOCK()

   REPLACE ADRESS WITH "RUSSIMICRO2"

   COMMIT
   UNLOCK

   GO TOP

   XBROWSE()

   CLOSE DATABASE

RETURN NIL
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 410
Joined: Sun Jan 31, 2010 03:30 PM
Re: CAMPO AUTOINCREMENT - DBF [RESUELTO]
Posted: Fri Oct 24, 2025 11:32 PM

CON DBZAP()

TEST ADRESS

0 RUSSIMICRO1

1 RUSSIMICRO2

SIN DBZAP()

TEST ADRESS

1 RUSSIMICRO1

2 RUSSIMICRO2

Karinha...

La solucion es la que expuse... como se hace :

DBCREATE( "PRUEBA.DBF", { { "TEST", "+", 4, 0 }, ;

                         { "ADRESS", "C", 40, 0 } } )

no se requiere el zap... y queda ok

Nota: esto es solo para xharbour comercial

Gracias

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: CAMPO AUTOINCREMENT - DBF [RESUELTO]
Posted: Sat Oct 25, 2025 12:20 PM
Código fuente gratuito de xHarbour Comercial:
https://github.com/xHarbour-org/xharbour/tree/main/xHarbourBuilder
¿Dónde (enlace) descargaste el xHarbour comercial que estás usando? ¿Lo modificaste o es original?

Prueba este ejemplo e comente, pls.
// C:\FWH\SAMPLES\RUSSI3.PRG

#include "Fivewin.ch"

FUNCTION Main()

   IF .NOT. FILE( "PRUEBA.DBF" ) // la id permanece en la memoria? Si. ???

      DBCREATE( "PRUEBA.DBF", { { "TEST",   "+",  4, 0 }, ;
                                { "ADRESS", "C", 40, 0 } } )

   ENDIF

   USE PRUEBA EXCLUSIVE NEW ALIAS PRUEBA
   GO TOP

   // DBZAP() -> Cual version de XHB Comercial?
   IF .NOT. EOF()

      WHILE( .NOT. EOF() )

         SYSREFRESH()

         IF EOF()
            EXIT
         ENDIF

         RLOCK()

         DELETE ALL

         DBPACK()

         COMMIT
         UNLOCK   

         SKIP

      ENDDO

      BROWSE() // VACIO? Yes!

   ENDIF

   DBAPPEND()

   RLOCK()

   REPLACE ADRESS WITH "RUSSIMICRO1"

   COMMIT
   UNLOCK

   DBAPPEND()

   RLOCK()

   REPLACE ADRESS WITH "RUSSIMICRO2"

   COMMIT
   UNLOCK

   GO TOP

   XBROWSE()

   CLOSE DATABASE

RETURN NIL
// FIN / END - kapiabafwh@gmail.com
Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 410
Joined: Sun Jan 31, 2010 03:30 PM
Re: CAMPO AUTOINCREMENT - DBF [RESUELTO]
Posted: Sat Oct 25, 2025 05:10 PM

Karinha...

Funciono correcto... dado que no USAS el zap---

El problema es en xharbour.... Enrico ya lo soluciono en la version .org (version de oct 22 2025)

pero para el comercial(licenciado) ya no hay soporte...

Ahora no si alguien esta manteniendo ese codigo con la version liberada....

pero como estoy en proceso de pasar a xharbour.org y harbour , puedo por ahora funcionar sin usar el zap en la version comercial

Gracias

Continue the discussion