Esimi colleghi scienziati...
ho un problemino da affrontare in ACCESS: premetto che io vengo dalla programmazione in Visual Dbase (e simili) dove tutto sembrava più facile.
Devo operare una sostituzione di carattere all'interno di un campo (memo)in tutta la mia tabella: se il carattere è "X" devo farlo diventare "Y".
Facile, direte. Basta usare la func REPLACE ed il gioco è fatto.
Vero, dico io, infatti il sistema funziona se apro la mia tabella "test" e con un bel comando "DO ... LOOP" me la spazzolo tutta e, uso un solo carattere di verifica.
Il problema si pone quando io ho una tabella da modificare (la mia "test") e una seconda tabella nella quale ho un tot di record composti da due campi: il carattere da trovare e quello da sostituire.
Con VDbase io aprivo le due tabelle in aree diverse di memoria e passavo da una all'altra senza perdere il puntamento relativo
esempio:
sele 1 (apro la prima area)
use caratt.dbf (ci infilo la prima tabella)
sele 2 (apro la seconda area)
use test.dbf (ci infilo la seconda tabella)
sele 1 (vado nella prima area)
do while .t. (comincia il ciclo !)
v_1="carattere da trovare" (primo campo della tabella caratt.dbf)
v_2="carattere da sostituire" (secondo campo della tab.caratt.dbf)
sele 2 (vado nella seconda area)
do while .not. eof() (mi spazzolo tutta la tabella)
replace("testo da modificare", v_1,v_2)
enddo (fine dalla spazzolata)
sele 1 (torno nella prima area)
skip 1 (mi sposto sul prossimo record)
loop (ricomincio il giro !!)
enddo
......
Il vero problema è : COME SI FA IN VBA A TENERE APERTE DUE TABELLE E PASSARE DA UNA ALL'ALTRA COME NELL'ESEMPIO DI CUI SOPRA ?
Scusate l'ignoranza ma spero di ricevere conforto da questa assemblea di luminari insigni.
(e vai con le leccate...)
Grazie !!!![]()