Newsgroup: it.comp.appl.access
Titolo: Funzione 'Replace'

Buona giornata,
usando la funzione 'Replace' ho sempre
l'errore:
Microsoft Visual Basic
Errore di compilazione:
Prevista variabile o routine e non progetto
Ho controllato i riferimenti e mi sembrano
corretti, qualche consiglio?
Grazie.
Paolo 

Paolo Dal Bosco ha scritto:

ovviamente la usi cosi':
x= replace("Pane e pene(*) a tutti","p","c")-->"Cane e cene a tutti"
(*) nel senso di dolori
--
ac

 ha scritto nel messaggio 
news:hByRk.20604$8%.15846@tornado.fastwebnet.it...

anche usando l'esempio :
   Dim MyName As String
   MyName = "Jxillx"
   MsgBox "Bad data: " & MyName
   MyName = Replace(MyName, "x", "")
   MsgBox "Fixed data: " & MyName
e molti altri esempi che ho trovato in infernet.
Saluti
Paolo 

 e molti altri esempi che ho trovato in infernet.
;-{)
OK. Ho l'impressione pero' che il problema non sia legato alla replace 
ma al contesto in cui la usi.
Hai solo una replace? Ne hai piu' di una? si comportano tutte cosi?
Dove sta e come richiami il codice che contiene la replace?
Dal messaggio che citi il problema sembra piu' legato a nomi di moduli 
che non alla replace stessa.
--
ac

 Paolo
Che versione ci access usi?
Tieni presente che la Replace va dalla 2000 in poi.
-- 
Ciao
Geppo 

 Tieni presente che la Replace va dalla 2000 in poi.
Come si suol dire. Se una cosa non funziona controllare che la presa sia 
inserita. ;-{))))))).
--
ac

 ha scritto nel messaggio 
news:j9FRk.20998$8%.19723@tornado.fastwebnet.it...

sto usando access 2003 (sp3 + un altro agg. che non ricordo il nome)
e la funzione non sono mai riuscito ad usarla
quindi è la prima ed unica.
Buona serata
Paolo

Paolo Dal Bosco ha scritto:

Ma c'e' qualcosa che hai chiamato "Replace" in giro?
Il messaggio nella sua oscurita' qualcosa lo dice.
E' come se il nome fosse "impegnato" da qualche altra risorsa.
Non mi dire che un modulo lo hai chiamato "Replace"?
--
ac

 ha scritto nel messaggio 
news:%kJRk.21311$8%.11878@tornado.fastwebnet.it...

Database conpletamente vuoto, maschera vuota e su
evento di apetura:
   Dim MyName As String
   MyName = "Jxillx"
   MsgBox "Bad data: " & MyName
   MyName = Replace(MyName, "x", "")
   MsgBox "Fixed data: " & MyName
Buona settimana
Paolo 

 Paolo
Potrebbe essere una corruzione della libreria VBA:
C:\Programmi\File comuni\Microsoft Shared\VBA\VBA6\VBE6.DLL (o simili)
prova e registrarla di nuovo.
Ancora, non č che stai usando un progetto?
Ciao, Carlo

 ha scritto nel messaggio 
news:4916a8ec$0$1085$4faf...@reader1.news.tin.it...

Aggiungo al precedente reply...
Se creando un database completamente nuovo e vuoto e aggiungendo una 
maschera che esegue, su apertura, il codice da tè postato non funziona, 
allora credo che il problema sia proprio la dll di VBA.
Per le versioni di Access fino alla 97, il sito Microsoft proponeva una 
funzione "Replace":
http://support.microsoft.com/kb/109330/it
Non è che il tuo db è stato convertito da un db che aveva tale funzione?
Se dall'editor VBA selezioni la funzione (doppio click sulla parola 
"Replace") e premi Maiuscolo + F2 cosa succede?
Ciao, Carlo 


mi metti in difficoltà quando dici ' Ancora, non è che stai usando un 
progetto?',
come già detto:
data base completamente nuovo e maschera vuota con evento in apertura.
ma a Voi funziona 'Replace'?
Buona giornata,
Paolo



Buongiorno.
Non so se ho capito bene o no.
Nel secondo caso scusatemi.
Access 2002
Database vuoto
maschera vuota
metto nell'evento LOAD o OPEN della maschera il tuo codice:
   Dim MyName As String
   MyName = "Jxillx"
   MsgBox "Bad data: " & MyName
   MyName = Replace(MyName, "x", "")
   MsgBox "Fixed data: " & MyName
a me funziona.
Ho i seguenti riferimenti attivi 
Visul Basic for Applications
Microsoft Access 10.0 Object Library
OLE Automation
Microsoft ActiveX Data Objects 2.1 Library
ciao a tutti

 ciao a tutti
Ciao
Daniele 

 ha scritto nel messaggio 
news:4918385a$0$18155$4faf...@reader3.news.tin.it...

grazie, almeno ora so di aver problemi io
:-(
Paolo 

 ha scritto nel 
messaggio news:gf8ogv$4it$1...@tdi.cu.mi.it...

si apre una finestra con la funzione Replace selezionata,
con due liste:
Classi                                      e     Membri di '<globali'
------                                            --------------------
                                                            vuota
? <globali>
? Form_maschera1
-------------------------------------------------------------
Saluti
Paolo

 Paolo
Molto strano! Avresti dovuto avere una lista enorme sia di Classi che di 
"Membri...".
Fai così: dalla combo dove trovi scritto <Tutte le librerie> seleziona VBA e 
vedi se ti porta dei valori sia in "Classi" che in "Membri...".
Alla classe "String", selezionandola, dovresti avere a destra una serie di 
Membri...tra i quali anche la funzione "Replace" che una volta selezionata 
mostra la sintassi in basso.
Se tutto ciò non si verifica il problema, come ti suggerivo prima, sta 
proprio nella libreria VBA.
Ciao, Carlo 

 
Mi mandi il db? Tanto e' vuoto.
Se lo mandi fai la debita correzione alla email (x=y-1)
Di replace ne ho una miliardata e funzionano tutte.
--
ac

 Paolo
Mi associo alla richiesta di Alessandro.
Mandalo anche a me...ma quello che ti da problemi.
Ciao, Carlo 

 ha scritto nel 
messaggio news:gf9pf2$bjh$1...@tdi.cu.mi.it...

inviato,
grazie della cortesia
Paolo 

 ha scritto nel 
messaggio news:gf9l92$6c3$1...@tdi.cu.mi.it...

selezionato VBA riempie sia  "Classi" che  "Membri..."
ed in menbri c'è Replace:
Function Replace(Expression As String, Find As String, Replace As String, 
[Start As Long = 1], [Count As Long = -1], [Compare As VbCompareMethod = 
vbBinaryCompare]) As String
    Membro di VBA.Strings
    Find and replace a substring within a string
certo che il mistero diventa sempre più grosso ...
grazie
Paolo

 ha scritto nel messaggio 
news:49186c90$0$18159$4faf...@reader3.news.tin.it...

Trovato!
Mi spieghi come ti č venuto in mente di chiamare il progetto VBA 
"Replace"????????????????????????
Di piů hai anche chiamato l'mdb Replace.mdb.
E' bastato cambiare il nome al progetto in VBA č tutto si č risolto.
E sě che Alessandro te lo aveva detto!
Mai usare nomi riservati o peggio il nome di una funzione interna al 
sistema.
Ciao, Carlo


Risolto...vedi reply piů sopra.
Ciao, Carlo 

 E sì che Alessandro te lo aveva detto!
Grazie Carlo, il mio ego ha raggiunto proporzioni stratosferiche ;-{).
Stavo impicciato in altre cose ma avrei giurato che in 30 sec avresti 
risolto il dilemma.
Gli avevo chiesto il DB proprio perche' il dubbio mi era venuto.
Se dovessi (io) passare da Paola e/o dintorni, caffe' pagato ;-{)))
--
ac

 ha scritto nel messaggio 
news:cU_Rk.22163$8%.19031@tornado.fastwebnet.it...

tutto pensavo, ma non questo
più di un caffè, naturalmente
grazie di tutto
Paolo


per paolo bosco
Allora il db non era vuoto!!!!!
paolo paolo .....
ciao sam--

 ciao sam--
Per essere il db era vuoto...ha solo chiamato il progetto VBA "Replace" 
(sic!) e in più anche il nome del db allo stesso modo.
Ciao, Carlo 



Scusa una cosa,
che intendi per progetto VBA, io avevo capito che aveva creato un
modulo chiamandolo "Replace", però se si crea un modulo allora il DB
non è più vuoto....
ciao sam--

 ciao sam--
A sam, ma che stai a dì.
Il codice che ha postato per 54 puntate, secondo te, dove risiede?
Certamente in un modulo; almeno nel modulo della maschera (unico oggetto del 
db) o no?
Un db completamente vuoto non avrebbe potuto verificare se la funzione 
replace poteva funzionare o meno.
Non ti pare?
Quando apri il modulo di una maschera, in alto a sx, in un riquadro, trovi 
gli oggetti (lato VBA) del "Progetto"; se a questo progetto dai il nome 
"Replace"...cominciano i casini.
Ciao, Carlo 



Ops. 
Avevo il cervello annebbiato.
ciao e grazie