Newsgroup: it.comp.lang.vo-clipper
Titolo: aggiornamento dbf

Buon pomeriggio a tutti,
debbo aggiungere a circa tremila .dbf due campi numerici
L'ideale sarebbe farlo una volta per tutte.
I nuovi archivi si autocostruirebbero con la nuova struttura.
Ogni .dbf costituisce l'archivio di un paziente relativamente ad una 
determinata analisi.
Qualcuno ha suggerimenti e consigli ??
Francesco D'Aquila
 
-- 
================================
dr Francesco D'Aquila
Cellulare 333 80 15 804
96100 Siracusa (SR)
 
La presente comunicazione, che potrebbe contenere informazioni riservate e/o 
confidenziali, deve intendersi per esclusivo utilizzo da parte del/i 
soggetto/i in indirizzo. Nel caso in cui abbiate ricevuto per errore la 
presente comunicazione, vogliate cortesemente darcene immediata notizia, 
rispondendo a questo stesso indirizzo e-mail, e poi procedere alla 
cancellazione di questo messaggio dal Vostro sistema. E' strettamente 
proibito e potrebbe essere fonte di violazione di legge qualsiasi uso, 
comunicazione, copia o diffusione dei contenuti di questa comunicazione da 
parte di chi la abbia ricevuta per errore o in violazione degli scopi della 
presente.
 
 

Ti conviene fare un programmino dove confronti la struttura del tuo dbf 
(oSrv:DBstruct) con un tuo array struttura .
 
Se il db è da aggiornare utilizzi la DBAPP() oppure oSrv:DBApp() (vedi help) 
lo aggiorni secondo la nuova struttura.
 
Attenzione che devi creare il nuovo DB dal vecchio e poi cancellare il DB 
vecchio e rinominare il nuovo, inoltre dovrai ricreare gli indici .....
 
Spero ti sia sufficiente come spunto.
 
Ciao
 
Alessandro Vacchiano
 
 
"Francesco D'Aquila"  ha scritto nel messaggio 
news:4ea8027e$0$1387$4faf...@reader1.news.tin.it...



 
1. ti carichi in un vettore tutti i nomi dei file dbf che devi 
aggiornare e che spero siano tutti nella stessa directory
2. per ogni elemento del vettore:
  - ti crei un file xxx.dbf con la nuova struttura
  - append in questo xxx.dbf dei record del file vettore[i]
  - cancelli il vecchio dbf
  - ridenomini in file xxx.dbf con vettore[i]
NEXT
3. reindex
 
il tutto in una dir temporanea ovviamente
 
Massimo

 ha scritto nel messaggio 
news:j89iih$elq$1...@speranza.aioe.org...


se ti può essere utile io utilizzo questa procedura:
 
METHOD Cambia_dbf(cPath,cDbf) CLASS StandardShellWindow
LOCAL oServer	AS dbserver
LOCAL aDbf	AS ARRAY
*
FErase(PSZ(cPath+cDbf+'.Cdx'))
*
FRename(cPath+cDbf+'.dbf' ,cPath+'_'+cDbf+'.dbf' )
IF File(cPath+cDbf+'.fpt')
   FRename(cPath+cDbf+'.fpt' ,cPath+'_'+cDbf+'.fpt' )
ENDIF	
*
*
********* Crea Nuovo Dbf  con la nuova struttura 
aDbf := {;
	{'COGNOME   ','C', 30,  0},;
	{'NOME      ','C', 30,  0},;
	{'CODIFIS   ','C', 16,  0},;
	{'INDIRIZZO ','C', 30,  0},;
	{'CITTA     ','C', 30,  0},;
	{'CAP       ','C',  5,  0},;
	{'TELEFONO  ','C', 30,  0},;
	{'XCODE     ','C',  8,  0},;
	{'NATO_A    ','C', 30,  0},;
	{'NATO_IL   ','D',  8,  0},;
	{'PROFESSION','C', 30,  0},;
	{'NOTE1'     ,'M', 10,  0},;
	{'POSTA'     ,'C', 30,  0},;
	{'FLAG1'     ,'C', 10,  0},;
	{'FLAG2'     ,'C', 10,  0},;
	{'FLAG3'     ,'C', 10,  0},;
	{'FLAG4'     ,'L',  1,  0},;
	{'E_MAIL'    ,'C', 30,  0}}
DBCREATE(cPath+cDbf+'.DBF',aDbf,'DBFCDX')
Sleep(1000)
******************************************
*
DBUSEAREA(TRUE,'DBFCDX',cPath+cDbf,'XY',FALSE)
XY->DBZAP()
XY->DBAPP(cPath+'_'+cDbf+'.dbf',,,,,,,'DBFCDX')
DBCLOSEAREA('XY')
*
FErase(PSZ(cPath+'_'+cDbf+'.dbf'))
FErase(PSZ(cPath+'_'+cDbf+'.fpt'))
*
RETURN SELF
 
 
 
saluti brunello pulix
 
-- 
 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it
 
 
 

 ha scritto nel messaggio 
news:4ea8027e$0$1387$4faf...@reader1.news.tin.it...
