Newsgroup: it.comp.appl.access
Titolo: Differenza Access97-2003

Salve a tutti, fino a ieri usavo Access97 e tutto era ok, oggi uso il
2003 e mi chiedo, è possibile che non funzioni più l'espressione
"InputBox" in una query? Con il 97 andava tutto bene.
E se è così, come faccio ad inserire un dato variabile in una maschera
che vincoli una query?
Grazie, saluti

>>>>>>>>>>>>>>>>>>>
ciao d.filippetti,
controlla in Strumenti, Riferimenti che non ci siano riferimenti 
mancanti.
Se č tutto a posto, prova a sostiutire la InputBox con un normale 
parametro.
Es.
Select * from Rubrica where Cognome like [Cognome?]
-- 
Cinzia [Office Access MVP]
_______________________
 
www.riolab.org
http://accessdaziacin.live.spaces.com
---------------------------------------- 

 ----------------------------------------
Eccolo!! E' il 'like' che ha sostituito InputBox.
Grazie mille del suggerimento.
Ciao
Danilo

Danilo
Ciao Danilo,
Veramente il like č sempre esistito... oserei dire fin da Access 1.0 
che probabilmente non ho mai visto!


 - Mostra testo citato -
...ma allora non capisco se in Acc2003 è stato cambiato qualcosa a
livello di funzioni.
Sul tuo sistema se inserisci un Inputbox nei criteri di una query te
lo accetta?
Nel mio mi dice "Funzione non disponibile nelle espressioni" perchè??
In Acc97 funzionava!
Ciao
Danilo

 ha scritto
cut
...ma allora non capisco se in Acc2003 č stato cambiato qualcosa a
livello di funzioni.
Sul tuo sistema se inserisci un Inputbox nei criteri di una query te
lo accetta?
Nel mio mi dice "Funzione non disponibile nelle espressioni" perchč??
In Acc97 funzionava!
Ciao
Danilo
[Risposta]
il Like č sempre esistito e non ha nulla a che vedere con inputBox.
InputBox esiste in tutte le versioni di Access.
Per usarlo in una query o meglio in un criterio di una query, fai cosě:
crea una funzione in un modulo pubblico del tipo:
Public Function DimmiCriterio() As Variant
DimmiCriterio = InputBox("Inserisci un numero per il filtro.", "Parametro da 
ricercare", "*")
End Function
poi nel criterio della query, nella colonna che ti interessa, scrivi:
Like DimmiCriterio()
Seguendo questo esempio potrai usare InputBox per l'inserimento del criterio 
da passare a Like.
Ti ricordo che InputBox restituisce un valore di tipo stringa e questo 
spiega il perchč ho usato "As Variant" nella funzione; infatti come valore 
di default in InputBox ho usato "*" in modo che se l'utente non inserisce 
alcun valore, saranno restituiti tutti i valori: come se scrivessi Like "*".
Piů corretto sarebbe usare un valore di tipo specifico per la funzione 
DimmiCriterio a seconda di cosa ti serve e poi eventualmente fare una 
conversione.
Per esempio se ti serve un numero di tipo long e vuoi usare InputBox:
Public Function DimmiCriterio() As Long
DimmiCriterio = CLng(InputBox("Inserisci un numero per il filtro.", 
"Parametro da ricercare", "0"))
End Function
Infine due paroline sull'operatore Like. Questo operatore fa parte degli 
operatori di confronto utilizzati dal motore jet per ottenere maggiori 
prestazioni secondo la tecnica Rushmore.
Per saperne di piů leggi:
http://office.microsoft.com/it-it/access/HP051874531040.aspx
alla voce "Migliorare le prestazioni delle query"
Ciao, Carlo