aiuto su esporta dati dbf su excel

60 views
Skip to first unread message

alfredo mirabelli

unread,
Sep 10, 2023, 2:57:12 AM9/10/23
to Foxpro Italia
buongiorno,
sto cercando di esportare da fox dei dati in un file excel, gli do un parametro tutti i file (>0)
li seleziona bene ma quando mi crea il file excel mi mette come prime righe tutti i record del dbf che  rispettavano questo requisito e poi i dati con valori.
qualcuno mi puo' dare istruzione su come fare er non far registrare queste righe a zero? 
allego il comando:
SELECT 25
GO TOP
COUNT TO MAXI25
GO TOP
SET ORDER TO TAG D_FATT
SET NEAR ON
GO TOP


CODICEX=MACLI+RIGHT('0000'+ALLTRIM(STR(CASH.COD_CLI)),4)
        SELECT 2
        GO TOP
         SEEK CODICEX
        IF ALLTRIM(CLIFOR.CONTO_CLI)==ALLTRIM(CODICEX) &&AND CLIFOR.SEZIONAX<2
           DO CASE
              CASE EMPTY(ALLTRIM(CLIFOR.PART_IVA))=.F.
              P_CF=ALLTRIM(CLIFOR.PART_IVA)
             
              CASE EMPTY(ALLTRIM(CLIFOR.COD_FIS))=.F.
              P_CF=ALLTRIM(CLIFOR.COD_FIS)
             
              OTHERWISE
              P_CF=''
           ENDCASE
        ELSE
              P_CF=''
        ENDIF

DO WHILE EOF (25)=.F.

 IF PKCASH.CPOS<>0
 
 SELECT 26
 APPEND BLANK

           *REPLACE PKCASH2.DATA_REG WITH PKCASH.DATA_REGI
           REPLACE PKCASH2.COD_CLI   WITH PKCASH.CODCLI
   REPLACE PKCASH2.RAG_CLI    WITH PKCASH.RAGCLI
*!*    REPLACE PKCASH2.P_IVA   WITH PKCASH.PIVA
   REPLACE PKCASH2.NR_FATT   WITH PKCASH.N_FATT
   REPLACE PKCASH2.D_FAT    WITH PKCASH.D_FATT
     REPLACE PKCASH2.TOT_FAT    WITH PKCASH.TOTFAT
*!*            REPLACE PKCASH2.CONTANTI   WITH PKCASH.CONTANTI
*!*    REPLACE PKCASH2.DATACONT0   WITH PKCASH.DATACONT0
   
*!*    REPLACE PKCASH2.CONTANTI1   WITH PKCASH.CONTANTI1
*!*    REPLACE PKCASH2.DATACONT1   WITH PKCASH.DATACONT1
   REPLACE PKCASH2.POS   WITH PKCASH.CPOS
   REPLACE PKCASH2.DATAPOS WITH PKCASH.DATAPOS
*!*            REPLACE PKCASH2.ASSEGNIC   WITH PKCASH.ASSEGNIC
*!*            REPLACE PKCASH2.DATAASSC   WITH PKCASH.DATAASSC
ENDIF        

 SELECT 25
 SKIP +1    

ENDDO
IF PKCASH2.POS<>0 THEN && OR PKCASH2.CONTANTI1>0 OR PKCASH2.POS>0 OR PKCASH2.ASSEGNIC>0&& THEN

SELECT 26
*!* GO TOP
*!* SET NEAR ON
*!* GO TOP




*!* * ENDIF
ALFA=GETFILE('XLS')
IF EMPTY(ALFA)=.F.  

 
COPY TO (ALFA) TYPE XL5 FIELDS PKCASH2.COD_CLI,PKCASH2.RAG_CLI,PKCASH2.Nr_FATT,PKCASH2.D_FAT,PKCASH2.tot_fat,PKCASH2.pos,PKCASH2.datapos&&,PKCASH2.assegnic,PKCASH2.dataassc&&,PKCASH.assegnip1,PKCASH.data_asp1,PKCASH.bonific,PKCASH.databon
=MESSAGEBOX('ESPORTA MOVIMENTI DI CASSA IN FORMATO EXCEL',0+64,'COMPLETATA CON SUCCESSO')
ELSE
RETURN

ENDIF

ENDIF
THISFORM.COMMAND10.LOSTFOCUS

RETURN .T.

Marco Plaza

unread,
Sep 12, 2023, 3:21:27 AM9/12/23
to Foxpro Italia

Ciao.. controlla il contenuto della tabella prima di caricarla con i dati e prima di esportarla utilizzando Browse;
 È meglio fare riferimento ai tavoli non con il numero dell'area ma con il loro alias (è 25 pkCash e 26 pkCash2?) 
cambia "select 25"  per  "select pkCash"  e puoi anche usare un insert.. select from.. e vedrai che è più semplice:


select pkCash2
browse normal title 'prima di inserire i record'

insert into pkcash2 ;
(cod_cli,rag_cli,nr_fatt,d_fat,tot_fat,pos,datapos) ;
select ;
codcli,ragcli,n_fatt,d_fatt,totfat,cpos,datapos ;
from pkCash ;
where cpos <> 0

select pkCash2
browse normal title "dopo aver inserito i record"

If reccount() > 0
alfa = Getfile('XLS')
If !Empty(m.alfa)
Copy To (m.alfa) Type Xl5 ;
Fields ;
cod_cli,rag_cli,nr_fatt,d_fat,tot_fat,pos,datapos
=Messagebox('ESPORTA MOVIMENTI DI CASSA IN FORMATO EXCEL',0+64,'COMPLETATA CON SUCCESSO')
Endif
Endif


alfredo mirabelli

unread,
Sep 13, 2023, 11:57:12 PM9/13/23
to foxpro...@googlegroups.com
grazie mi sei stato di aiuto  a presto
Alfredo

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "Foxpro Italia" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a foxpro-itali...@googlegroups.com.
Per visualizzare questa discussione sul Web, visita https://groups.google.com/d/msgid/foxpro-italia/9a878504-e5d0-41fb-ad56-75beccd82225n%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages