Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Filtrare sottomaschera attraverso campi non associati

383 views
Skip to first unread message

sani...@gmail.com

unread,
Nov 11, 2013, 8:38:40 AM11/11/13
to
Salve a tutti,
è da un paio di giorni che cerco su google un codice VBA che possa aiutarmi a risolvere il mio quesito: come filtrare due sottomaschere attraverso una maschera principale che contiene due campi non associati nei quali posso inserire i volori che serviranno per filtrare le due sottomaschere?

i due valori serviranno ad indicare il valore minimo e il valore massimo della ricerca.

Per semplificare il problema utilizzerò nomi standard. In pratica:
- La maschera principale "Masc1" contiene due campi non associati "testo110" e "testo112".
- Le sottomaschere Sub1 e Sub2 che sono associate alla Masc1 attraverso un campo univoco. Entrambe contengono un campo "testo100"

Io vorrei che digitando in testo110 (valore minimo per la ricerca) e in testo112 (valore massimo per la ricerca), le due sub (sub1 e sub2) visualizzassero in testo100 tutti i record compresi fra i due estremi.


Fino a questo momento riesco a filtrare solo sulla base del valore digitato in testo110 in una suola sub, attraverso il codice seguente, inserito in un comando all'evento click:

Me!SOTecBOLLE.Form.Filter = "[BOLLE.ID_BOLLA] like '" & Me.Testo110 & "'"

Spero di essere stato chiaro e che possiate aiutarmi.
grazie in anticipo

Karl Donaubauer

unread,
Nov 11, 2013, 9:08:20 AM11/11/13
to
sani...@gmail.com wrote:
> ...
> Per semplificare il problema utilizzerò nomi standard. In pratica:
> - La maschera principale "Masc1" contiene due campi non associati
> "testo110" e "testo112".
> - Le sottomaschere Sub1 e Sub2 che sono associate alla Masc1
> attraverso un campo univoco. Entrambe contengono un campo "testo100"
>
> Io vorrei che digitando in testo110 (valore minimo per la ricerca) e
> in testo112 (valore massimo per la ricerca), le due sub (sub1 e sub2)
> visualizzassero in testo100 tutti i record compresi fra i due
> estremi.
>
> Fino a questo momento riesco a filtrare solo sulla base del valore
> digitato in testo110 in una suola sub, attraverso il codice seguente,
> inserito in un comando all'evento click:
>
> Me!SOTecBOLLE.Form.Filter = "[BOLLE.ID_BOLLA] like '" & Me.Testo110 &
> "'"
>
> Spero di essere stato chiaro

Non sono sicuro, p. e. non è chiaro se "testo100" e un campo o controllo,
quale tipo di dati ha e certo "sub" è già una cosa diversa in VBA. ;-)
Se si tratta di numeri prova così in un evento ragionevole p.e.
"dopo aggiornamento" di Testo112:

Me!SOTecBOLLE.Form.Filter = _
"CampoNonControlloCheVuoiFiltrare >= " & Me!Testo110 & " And " & _
"CampoNonControlloCheVuoiFiltrare <= " & Me!Testo112

Me!SOTecBOLLE.FormOn = True

--
Ciao
Karl
*********
Access FAQ: http://www.donkarl.com/it


sani...@gmail.com

unread,
Nov 11, 2013, 10:06:27 AM11/11/13
to
Ciao Karl, è sempre un piacere leggerti.
il campo testo100 (nome che ho usato per fare l'esempio in realtà si chiama ID_BOLLA (Campo numerico) e si trova su tutte e due le sottomaschere.

Ho usato sub1 e sub2 per indicare le sottomaschere SOTecBOLLE e SOTecESTRAT. Scusa se ho creato confusione.

Ho inserito il codice che hai postato ma per tutta risposta ricevo questo messaggio: Errore di run-time 438. Proprietà o metodo non supportato dall'oggetto.

Quando vado al debug segna in giallo la stringa: Me!SOTecBOLLE.FormOn = True.

Ho provato anche questa stringa
Me!SOTecBOLLE.Form.Filter = "[BOLLE.ID_BOLLA]>=" & Me!Testo110 And "[BOLLE.ID_BOLLA] <=" & Me!Testo112

e mi dice errore di tun-time 13. Tipo non corrispondente

non so che fare!!! :(

Karl Donaubauer

unread,
Nov 11, 2013, 10:49:14 AM11/11/13
to
sani...@gmail.com wrote:
> ...
> le sottomaschere SOTecBOLLE e SOTecESTRAT.
>
> Ho inserito il codice che hai postato ma per tutta risposta ricevo
> questo messaggio: Errore di run-time 438. Proprietà o metodo non
> supportato dall'oggetto.
>
> Quando vado al debug segna in giallo la stringa: Me!SOTecBOLLE.FormOn
> = True.

Eh, un mio errore di copia/incolla. Intendevo

Me!SOTecBOLLE.FilterOn = True

> Ho provato anche questa stringa
> Me!SOTecBOLLE.Form.Filter = "[BOLLE.ID_BOLLA]>=" & Me!Testo110 And
> "[BOLLE.ID_BOLLA] <=" & Me!Testo112
>
> e mi dice errore di tun-time 13. Tipo non corrispondente

Prova così:

Me!SOTecBOLLE.Form.Filter = _
"ID_BOLLA >= " & Me!Testo110 & " And " & _
"ID_BOLLA <= " & Me!Testo112

Me!SOTecBOLLE.FilterOn = True

sani...@gmail.com

unread,
Nov 11, 2013, 11:31:32 AM11/11/13
to
nessun errore visualizzato, ma non accade nulla.

Karl Donaubauer

unread,
Nov 11, 2013, 12:19:11 PM11/11/13
to
sani...@gmail.com wrote:
> nessun errore visualizzato, ma non accade nulla.

Prova questo come ultima riga:

Me!SOTecBOLLE.Form.FilterOn = True

sani...@gmail.com

unread,
Nov 11, 2013, 12:33:01 PM11/11/13
to
un piccolo passo avanti lo abbiamo fatto! :D
Adesso mi da un altro messaggio errore 3709
"chiave di ricerca non trovata in nessun record".
In effetti nelle tabelle che utilizzo non esiste nessuna chiave primaria, perché sfrutto i dati .dbf che vengono inviati al mio programma di gestione riviste.
In pratica sono riuscito a trasformarli in .mdb e poterli utilizzare così in access.
Ho notato che se anche non esiste chiave primaria, i campi "univoci" sono indicizzati. non so se queste informazioni possono aiutarti a capire meglio la mia situazione

sani...@gmail.com

unread,
Nov 11, 2013, 5:05:11 PM11/11/13
to
Così per curiosità ho provato a selezionare il filtro predefinito di access (per intenderci l'imbuto con la saetta gialla) e funziona... si può recuperare il codice che utilizza quel programma??

sani...@gmail.com

unread,
Nov 12, 2013, 6:33:29 AM11/12/13
to
HELP ... PLEASE!

IvanDaBologna

unread,
Nov 12, 2013, 11:36:57 AM11/12/13
to
usa il filtro in base a maschera.
Se ottieni il giusto mix ... ci cliccki di nuovo sopra e puoi salvarlo come query.
Studiati la query per capire i giusti riferimenti agli oggetti che Access accetta.

Ivan

Il giorno martedì 12 novembre 2013 12:33:29 UTC+1, sani...@gmail.com ha scritto:
> HELP ... PLEASE!

0 new messages