Newsgroup: it.comp.appl.access
Titolo: Perche'  InStr("PEPPE...MARIO","...") mi da 0 ???

Non capisco perche' la funzione InStr("MARIO...GINO","...") mi ritorna 0
Il tentativo e' ovviamente sapere se dentro la prima stringa ci sono i tre 
puntini consecutivi
Che sbaglio ?
Ciao e grazie
RobertoA

 tre puntini consecutivi
Attento che non sia abilitata la correzione automatica durante la digitazione. 
Credo che ti abbia sostituito i tre puntini di sospensione con il carattere 
"puntini di sospensione".
Fai una prova ricercando due soli punti o la stringa ".GI".
--
PBsoft di Gabriele Bertolucci
www.pbsoft.it
skype:pbsoftsolution

 Fai una prova ricercando due soli punti o la stringa ".GI".
Allora se come stringa dentro alla quale cercare uso il riferimento ad una 
textbox non funziona una mazza
Se il contenuto della textbox lo copio dentro una variabile allora funziona
Cioe' se faccio
InStr(1, txtDITTA, "...")
dove txtDITTA e' una textbox che attualmente contiene PEPPE...MARIO non 
funzia
Se invece faccio
miaDitta as string
miaDitta=txtDITTA
InStr(1, miaDitta, "...")
Allora tutto funziona
????????????
Ciao
RobertoA

 Allora tutto funziona
Ma se fai
Instr(1,Cstr(miaDitta),"...", vbTextCompare)
funziona? (miaDitta è il controllo sulla maschera)
Se con cstr() funziona, vuol dire che bisogna esplicitare il casting a
stringa di miaDitta, altrimenti instr() non riconosce il tipo e
fallisce (forse a questo scopo conviene esplicitare anche il tipo di
comparazione, come ho fatto nell'esempio).
Eventualmente puoi verificare se ci sono correzioni automatiche nel
controllo miaDitta (come suggerito da Gabriele) tramite questo codice:
dim i%
for i = 1 to len(miaDitta)
  debug.print chr$(asc(mid$(miaDitta,i,1)))
next i
Apri la finestra di debug e vedi se viene stampata la stessa stringa
che hai inserito nel controllo, oppure una stringa "tradotta".
ciao,
Panathos

 ha scritto nel messaggio
news:47048950$1...@newsgate.x-privat.org...

Non sbagli nulla funziona regolarmente...!
Prova nella finestra immediata CTRL+G:
? InStr("MARIO...GINO","...")
 6
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.alessandrobaraldi.it
---------------------------------------------------------------------------

 6
Si funziona correttamente, ho chiesto la cosa sbagliata, pensavo una cosa e 
invece ne ho scritta un'altra, porta pazienza
Quello che non mi funziona e fin'ora non ho ancora capito perche', e' la 
seguente
InStr(1, txtDITTA, "...")
dove txtDITTA e' una textbox che attualmente contiene MARIO...GINO, e in 
finestra immediata il contenuto di txtDITTA appare corretto e cioe' 
MARIO...GINO
Se invece faccio
miaDitta as string
miaDitta=txtDITTA
InStr(1, miaDitta, "...")
Allora tutto funziona
Diciamo che avrei trovato il modo di fare andare il tutto, mi rimaneva la 
curiosita' di sapere perche'  la  InStr(1, txtDITTA, "...")  non andava come 
mi aspettavo
Ho provato anche con   InStr(1, cstr(txtDITTA), "..."), niente
Ciao e grazie
RobertoA

 Ho provato anche con   InStr(1, cstr(txtDITTA), "..."), niente
Ma hai provato a verificare la stringa che ti arriva dal controllo,
col codice che ti avevo suggerito?
ciao,
Panathos

 RobertoA
Se il controllo [txtDITTA] è il controllo attivo e lo hai appena valorizzato
allora devi usare la proprietà Text
altirmenti non viene valorizzato.
InStr(1, txtDITTA.Text, "...")
