Newsgroup: it.comp.appl.access
Titolo: Filtrare dati tramite singolo campo

Ciao a tutti ho questa problematica.Sull'evento Dblclick di ogni campo
della mia form ho impostato il seguente codice per poter filtrare i
dati dolo per quel determinato campo:Es.
Private Sub Unita__di_misura_DblClick(Cancel As Integer)
strFilter = strFilter & "and Unita__di_misura ='" &
Me.Unita__di_misura & "'"
ApplicaIlFiltro
End Sub
Ho creato anche la funzione ApplicaIlFiltro:
Public Sub ApplicaIlFiltro()
Dim nrCaratteriTgl As Integer
nrCaratteriTgl = Len(strFilter)
nrCaratteriTgl = nrCaratteriTgl - 4
If Left(strFilter, 4) = "and " Then
    strFilter = Right(strFilter, nrCaratteriTgl)
End If
Me.Filter = strFilter
Me.FilterOn = True
End Sub
Il problema e' che su alcuni campi funziona correttamente mentre su
altri mi da errore segnalandomi :Immissione valore parametro (inerente
al campo) e poi mi filtra non facendomi vedere nulla.Oppure mi
seleziona come errore la riga della funzione ApplicaIlFiltro()
Me.FilterOn = True
Da cosa puo' dipendere????I campi in cui mi da l'errore hanno la
stessa proprieta' di quelli in cui va bene.
Grazie in anticipo
Dino


inizia con il verificare strFilter.. magari il contenuto non va bene, e 
quindi applichi un filtro sbagliato. 

 - Mostra testo citato -
Ciao e grazie per la rispsota (solo ora ho potuto visionarla).Il
problema e' che tale impostazione l'ho gia' gestita in altri DB.Campi
con le stesse proprieta' di la' vengono filtrate correttamente mentre
in queto no.
Grazie ancora
Dino

>> Me.Filter = strFilter
scrivi
debug.print strFilter
e nella finestra debug controlla il valore.
Se non trovi l'errore copia/incolla un esempio che non funziona
dalla finestra debug al tuo prossimo messaggio.
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
 

 - Mostra testo citato -
Ok provo e poi vi faccio sapere.Ad ogni modo Karl nel primo post ho
inserito tutto il codice che ho utilizzato.
Sull'evento DBL click del campo unita' di misura mi da errore
Grazie ancora Dino

>>>strFilter = strFilter & "and Unita__di_misura ='" & Me.Unita__di_misura & "'"
prima di "and..." non c'è lo spazio...
ma poi perchè usi gli apici e non chr(34) ??????

 - Mostra testo citato -
Ciao a tutti nel cliccare due volte sul campo mi da "errore di runtime
2048. impossibile assegnare un valore all'oggetto"
Cliccando poi su Debug mi seleziona la riga:
Me.Filter = strFilter
Quello che non riesco a capire e' che il campo e' un campo testo come
altri .Nella stessa form con altri campi testo non mi da il problema.
Ho controllato la sintassi del codice ed e' corretta.E' meglio usare
piuttosto degli apici chr(34) ???Se si come lo sostituisco??
Grazie Dino


Dino, la stringa :
strFilter = strFilter & "and Unita__di_misura ='" &
Me.Unita__di_misura & "'"
checchè tu ne dica non è corretta affatto...
prima di "and... " ci deve essere uno spazio, quindi " and..."
ammenochè lo spazio non sia insito già in strFilter, ma dal codice che
hai postato non lo deduco (o forse non mi salta all'occhio).
Poi altra cosa... la variabile strFilter non la vedo dichiarata, è
pubblica?...
Cmq per i contenuti testo, io non userei gli apici come ti ho detto
(gli apici potrebbero essere contenuti proprio nel valore del campo
per cui potrebbero creare errori), ma emulerei le virgolette con chr
(34) in questo modo :
strFilter = strFilter & " and Unita__di_misura =" & chr(34) &
Me.Unita__di_misura & chr(34)

 - Mostra testo citato -
Ciao Pabli e grazie per la disponibilita'.ho provato con il chr(34) ma
mi da lo stesso errore.
La variabile non e' pubblica.L'ho inserita ad inizio modulo:
Option Compare Database
 Private strFilter As String
Forse il problema e' qui'.Ma per logica dovrebbe darmelo con tutti i
campi.
Grazie Dino

 - Mostra testo citato -
Pabli grazie sono sempre io.Il chr(34) funziona alla grande.Proprio
oggi ho risolto un problema in un altro DB.Dove avevano inserito un
nome con l'apostrofo.
Nella ricerca record con un combo mi dava errore.La cosa incredibile
che avevo creato il combo con l'autoconpopsizione (mi hanno messo gli
apici).
Il problema pero' iniziale mi rimane.
Dino