Newsgroup: it.comp.appl.access
Titolo: Filtri , maschera senza campi

Salve a tutti, applicando dei filtri via codice ad una maschera,
e passando da una sorgente dati Tabella as una sorgente dati Query,
quando il filtro non trova nulla, nel primo caso ottengo la maschera
con i campi inizializzati a spazi (campi txt) oppure a zero (campi
numerici), e la proprieta', Nome_Form.CurrentRecord = 1 mentre nel
secondo caso ottengo una maschera vuota, cioe' senza campi e
Nome_Form.CurrentRecord = 0.
Non che sia un grosso problema, ma visivamente la cosa e' un po'
bruttina.
Vie capitato qualcosa di simile ?
Un grazie anticipato
Maurizio.

 ha scritto nel messaggio
news:5203294c.03050...@posting.google.com...

A naso; nel primo caso vedi il record di inserimento dati, mentre con la
query (essendo filtrata) non vedi nulla...
Ciao.
--
Sergio MAZZA

...

Sia nel primo caso che nel secondo applicando il filtro non viene
trovato nulla, nel primo caso ottengo in effetti l'inserimento di un
nuovo record,
ma nel secondo no. L'unica differenza e' che nel primo caso uso una
fonte
Tabella, mentre nel secondo una fonte Query, non capisco perche'
faccia
cosi', inoltre in un altro db che avevo fatto, la cosa non mi
succedeva.
Forse c'e' un qualche parametro da impostare ?
Ciao e grazie
maurizio.

 maurizio.
Quale č il filtro che vuoi applicare alla maschera?
Ciao.
--
Sergio MAZZA

...

Uso il filtro dopo aver composto una stringa sulla base delle scelte fatte
dall'utente su alcune combo e caselle di testo.
 
Form_Progetti.Filter = QueryStr
Form_Progetti.FilterOn = True
In ogni caso non importa, grazie comunque, solo se vi viene in mente
qualcosa. Uso il vecchio access '97, perche' i miei colleghi anno solo
questo.
Maurizio.

 Maurizio.
Anch'io utilizzo acc'97; com'è l'istruzione sql (QueryStr) che utilizzi per
filtrare i dati?
Ciao.
--
Sergio MAZZA

 Ciao.
Chiedo scusa perche' ho scritto anno anziche' hanno, ... per il resto
non uso una istruzione SQL , ma creo una stringa connettendo altre stringhe
e poi applico il filtro nel seguente modo:
Private Sub btnApplicaFiltro_Click()
    ApplicaFiltro = True
 
    If Me![txtNumProg] <> "" Then
       QueryStrNumProg = "NumeroProgetto = " & Me![txtNumProg] & " AND "
    End If
    If Me![txtAnnoRif] <> "" Then
       QueryStrAnnoRif = "AnnoRiferimento = " & Me![txtAnnoRif] & " AND "
    End If
 
    If QueryStrAltriEnti <> "" And QueryStrAltriPartner <> "" Then
                     Form_Progetti.RecordSource = "QueryJoin"
          ElseIf QueryStrAltriEnti <> "" Then
                     Form_Progetti.RecordSource = "QueryAltriEnti"
          ElseIf QueryStrAltriPartner <> "" Then
                     Form_Progetti.RecordSource = "QueryAltriPartner"
    End If
 
    QueryStr = QueryStrNumProg & QueryStrAnnoRif & QueryStrEnteCapofila & 
               _QueryStrAltriEnti &
               _QueryStrAltriPartner 
 
    If QueryStr <> "" Then
                QueryStr = QueryStr & " True"
                           Form_Progetti.Filter = QueryStr
                           Form_Progetti.FilterOn = True
    End If
    DoCmd.Close
 
End Sub
Private Sub cmbAltriEnti_Click()
    StringaAltriEnti = cmbAltriEnti.ItemData(cmbAltriEnti.ListIndex)
    If StringaAltriEnti <> "" Then
       QueryStrAltriEnti = "AltriEnti.AltroEnte = " & _
                            StringaAltriEnti & " AND "
    End If
End Sub
chiaramente mancano diversi pezzi. Questa cosa mi serve per filtrare i dati
di una maschera che soddisfa i criteri di ricerca in due sottomaschere, cioe'
l'utente interrogando una o entrambe le sottomaschere ottiene come risultato
un filtro sulla maschera principale. In ogni caso funziona tutto bene, e'
un po' bruttio l'effetto che ho descritto sopra.
Ciao
maurizio.

...

HO CAPITOOOO !! il recorset (QueryJoin) non era aggiornabile e quindi nella
maschera non potevo avere quel record in inserimento.
Ciao e grazie
maurizio.