Newsgroup: it.comp.appl.access
Titolo: assegnare un valore a una porzione di stringa

Ciao a tutti,
ho una stringa preformattata (spazi, zeri e quant'altro).
in base ad un recordset devo aggiornare dei caratteri di questa stringa in
particolari posizioni.
In altri linguaggi ricordo un substr(miastringa, 12, 2)="qq" che
permetteva tale operazione.
é' possibile in vba?
Nicoletta
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 Nicoletta
per cercare nella stringa hai mid
-- 
-- 
MAssimiliano Amendola
www.accessgroup.it
Cisa - Conferenza Italiana Sviluppatori Access

 per cercare nella stringa hai mid
Non mi sono spiegata bene.
Devo assegnare non estrarre.
se ho "1234567890", devo ottenere per esempio "1234ab7890"


 
Ti sei spiegata bene MA a scritto "cercare" ma la "mid" serve per 
sostituire per cercare e' "instr"
-- 
ac
y-1=x


P.S. la mid come la substr pero' non fanno una replace in loco. Se sei 
certa che la sostituzione riguarda un solo elemento puoi usare la 
x=replace(mystr,"cosadareplaciare","concosareplaciare")
cfr Help
-- 
ac
y-1=x

 
Errata corrige: sia la mid che la substr (in tutti i linguaggi in cui la 
ho incontrata) non fanno una replace "estraggono" il pezzo di stringa 
come da parametri.
-- 
ac
y-1=x

Alessandro Cara ha scritto:

Era il buon vecchio Clipper, e non sostituiva ma assegnava ad una porzione
di stringa originale


Alessandro Cara ha scritto:

Era il buon vecchio Clipper, e non sostituiva ma assegnava ad una porzione
di stringa originale
Nicoletta


 di stringa originale
Ne sei certa? Ormai non lo uso da 15 anni ma non mi sembra che su 
clipper la substr (tra l'altro al tempo era "substring")funzionasse come 
dici fatto sta che c'era una funzione, vado a memoria, che stava in 
libreria (la Nuntacket95 se non erro) e si chiamava replace per fare 
quello che dici e che funzionava esattamente come quella VBA.
La scrittura che hai  proposto in genere si usava nella if per 
verificare se quel pezzo di stringa conteneva il valore di confronto.
-- 
ac
y-1=x

> porzione di stringa originale
Tutto questo un delfino????
E pensare che Pablito non lo sa fare....


Alessandro Cara ha scritto:

Sono andata a rivedere i vecchi sorgenti ...
Hai ragione, ma ricordavo io male la funzione.
Qualle corretta è STUFF
miastringa=STUFF(miastringa,sostituente,inizio,lunghezza)  ... o 
qualcosa di simile
Nicoletta
P.S. comunque ho capito che vba non me la fornisce e me la devo 
scrivere; poco male era solo per ottimizzare

Alessandro Cara ha scritto:

Comunque confermo SUBSTR e non SUBSTRING  (ndNicky)

scrivere; poco male era solo per ottimizzare
Vincenzo Turturro 
Certificato Eucip Core Level 
ITA 0000-002299 del 14/05/2007 
--------------------------------------------- 
il sito comune di it.comp.appl.access: 
http://www.sitocomune.com
 
--------------------------------------------- 
risorse Access: 
http://www.accessgroup.it
 
--------------------------------------------- 
Il sito comune di it.comp.as400 
http://www.faq400.com
 
---------------------------------------------

   
Perchè io non so sempre cosa ho in quelle posizioni della stringa, so 
soltanto che in quella posizione e per n caratteri devo scrivere quanto 
letto dal recordset
Nicoletta

 Nicoletta
Quindi l'istruzione (non funzione in questo caso) Mid dovrebbe risolvere il 
problema:
es. (tratto dall'help)
Esempio di istruzione Mid
In questo esempio l'istruzione Mid viene utilizzata per sostituire un numero 
specificato di caratteri in una variabile stringa con i caratteri di 
un'altra stringa.
Dim MyString
MyString = "Il gatto salta"    ' Inizializza la stringa.
Mid(MyString, 4, 5) = "pesce"    ' MyString = "Il pesce salta".
Mid(MyString, 4) = "tonno"    ' MyString = "Il tonno salta".
Mid(MyString, 4) = "leone dorme"    ' MyString = "Il leone dorme".
Mid(MyString, 4, 5) = "corvo"    ' MyString = "Il corvo dorme".
Ciao.
-- 
Sergio MAZZA