Newsgroup: it.comp.appl.access
Titolo: apertura maschera per filtrare query

Salve a tutti ho già proposto questa discussione ma non ho ottenuto risposte
soddisfacenti!
Ho una maschera basata su una query!
Nell'evento sub form open() ho questo codice
==============================
DoCmd.OpenForm "ricercaIscritto", , , , , acDialog, "Ricerca Iscritto"
    If Not IsLoaded("ricercaIscritto") Then
                Cancel = True
    End If
==============================
che dovrebbe passare i dati alla query ma prima dell'apertura della maschera
ricercaIscritti mi compaiono le finestre di immissione parametro della query
per il cognome e nome in quanto nei criteri dei campi cognome e nome c'è
scritto
[Forms]![ricercaIscritto]![Cognome] e
[Forms]![ricercaIscritto]![Nome]
Se tolgo questi criteri mi compare la maschera ricercaIscritti ma ovviamente
i dati non vengo filtrati!
Nella maschera ricercaIscritti nell'evento sub clic() del tasto ho questo
codice
====================================================
 If IsNull([Cognome]) Then
            MsgBox "È necessario immettere un cognome.", ,
            DoCmd.GoToControl "ricercaIscritto"
    Else
        If IsNull([Nome]) Then
            MsgBox "È necessario immettere un nome.", ,
            DoCmd.GoToControl "ricercaIscritto"
        Else
            Me.Visible = False
        End If
    End If
===================================================
Se ho ben capito, prima di eseguire la query della maschera dovrei aprire la
maschera ricercaIscritti e inserirci i dati...come posso fare??
Ho provato questa procedura per un report e funziona alla grande, come mai
con le maschere non funziona? Dove sbaglio?
Spero di essere stato chiaro!
Aspetto vostre notizie,
ciao e grazie
Luigi

Luigi ha scritto:

risposta sull'altro 3d minaccioso.
Pure questa e' minacciosa
Mentre sto tremando tutto. Ad occhio per il report funziona perche' 
apri prima "Ricerca Iscritto" (cfr. sull'altro 3d)
--
a.cara
togli qualcosa dall'email

 apri prima "Ricerca Iscritto" (cfr. sull'altro 3d)
Ciao Alessandro,
scusa ma non volevo essere minaccioso...cmq infinite grazie per la tua
risposta!
Attualmente nel database sto usando la soluzione che tu mi proponi, il
problema e che ho la necessità di aprire diverse maschere (ognuna per
un uso diverso...)sempre a partire dalla ricerca di cognomi e nomi!
Questo quindi mi porta a creare più di una maschera nella quale
inserire cognome e nome e aprire a partire dal tasto di ricerca le
diverse maschere!
Allora pensavo che realizzando quello che ho proposto avrei potuto
usare una sola maschera per l'inserimento dei dati.
Ritornando al report, non apro prima la maschera ma prima il report
che nell'evento sub report open() apre la maschera.
Spero di essere stato chiaro!
Grazie ancora per la tua attenzione...
Luigi

 diverse maschere!
Ohhh. Adesso si capisce l'arcano. Allora lasciando sempre perdere
la openargs che non c'entra. Secondo me:
1) Non impostare il recordsource sulle maschere
2) Dopo aver accettato il nome e cognome imposta il recordsource
   con la query, la quale, dovrebbe fare riferimento a:
    Forms!RicercaIscritto!Cognome e Forms!RicercaIscritto!Nome
oppure
1) Togli dalla query il riferimento a cognome nome
2) Dopo aver accettato cognome e nome li prelevi e li
   imposti come filter o ti fai la bookmarcata
3) In questo caso, ovviamente, il recordset viene aperto su tutte
   le posizioni di anagrafica ma se si fanno mediamente piu'
   richieste puo' essere conveniente
PS  Sempre in campana per eventuali cognomi con l'apice
--
a.cara 
Togli qualcosa dall'email

 ha scritto nel messaggio
news:3E48EFC7...@blunet.it...

Ciao Alessandro,
Siccome ho la necessità di valutare anche altri criteri oltre al cognome e
nome penso sia più conveniente usare la tua seconda soluzione in modo da
poter impostare certi valori e richiedere di volta in volta il cognome e
nome!Ma non credo di aver capito a fondo la tua soluzione...
Correggimi dove sbaglio nella ricostruzione step by step
1) Tolgo i riferimenti Forms!RicercaIscritto!Cognome e
Forms!RicercaIscritto!Nome dalla query sulla quale è basata la maschera
2) Nell'evento sub form open della maschera "madre" apro la maschera child
ricercaIscritto e qui immetto il mio cognome e nome
3) Come faccio ora a filtrare i dati?
Tieni conto che uso una maschera a visualizzazione continua quindi non avrei
problemi se la query mi desse più di un risultato...cosa tra l'altro
probabile!
Ciao e grazie per la tua collaborazione!
Luigi
P.S. Spero di non essere stato minaccioso questa volta :)

 P.S. Spero di non essere stato minaccioso questa volta :)
Minacciosissimo ;<)


...

Ciao Alessandro,
penso di esserci quasi, ma credo di avere ancora bisogna del tuo
aiuto! Prima di continuare però volevo ringraziarti per il tuo aiuto!
Non sono un esperto di access e non conosco il VBA ma qualcosina
riesco a farla, devo dire però che con i tuoi post mi hai fatto capire
parecchie cosette oscure!
Vaniamo al dunque
nell'evento sub form open()metto queto codice:
=================================================
Private Sub Form_Open(Cancel As Integer)
DoCmd.OpenForm "ricercaIscritto", , , , , acDialog, "Ricerca Iscritto"
    If Not IsLoaded("ricercaIscritto") Then
        Cancel = True
    End If
(1)Me.Filter = "Cognome = '" & Forms!RicercaIscritto!Cognome & " AND
Nome = '" & Forms!RicercaIscritto!Nome
Me.FilterOn = True
End Sub
=================================================
Ma dopo aver inserito cognome e nome mi appare la finestra di errore
con questo messaggio:
Errore di run-time'2448':
Impossibile assegnare un valore all'oggetto
clccando su debug mi evidenzaia la linea 1 (vedi codice...)
dove sbaglio??
Ciao e ancora una volta grazie per il tuo aiuto
Luigi

 dove sbaglio??
me.Filter = "Cognome = " & chr(34) & Forms!RicercaIscritto!Cognome &
chr(34) & " and nome ='" & Forms!RicercaIscritto!Nome & "'"
E' necessario chiudere bene le due stringhe.
Adesso sul cognome non dovresti avere problemi anche se ci sono apici
Mi avevi fatto venire qualche dubbio.
L'ho riprovata e funziona


 Togli qualcosa dall'email
Alla grande! Funziona tutto come previsto! Ancora una volta infinite grazie
per la tua pazienza e scusa per i miei post minacciosi ;-)))
Ciao e grazie
Luigi

 L'ho riprovata e funziona
Fnziona anche a me, ma solo se l'utente compie tutti i passi! Mi
spiego meglio: se quando mi compare la mashera per immettere i dati un
utente decide di chiuderla mi compare un errore perchè non è possibile
usare i valori contenuti nei campi della maschera chiusa! Ho provato a
mettere un if per controllare che il valore del filtro fosse diverso
da nullo ma ovviamente l'errore resta...
Avrei pensato di elimininare il pulsante di chiusura della maschera ma
è una solzuione poco carina!
Che mi consigli?
Ciao e ancora grazie!


al ritorno sulla maschera di lancio devi testare se il form "Ricerca
iscritto"
e' aperto (non avevo detto nulla al riguardo perche' avevi gia'
impostato
la cosa in questo modo). Se la trovi attiva significa che si vuole
proseguire
altrimenti significa che si e' richiesto l'annullamento della ricerca.
