Errore su filtro on

di il
7 risposte

Errore su filtro on

Buonasera,
ho una piccola maschera dove vado a scegliere il modello di auto, la maschera si appoggia ad una tabella che contiene solo ID e MODAUTO
poi con una textbox vado a filtrare i record che mi interessano man mano che digito

Private Sub Ricerca_Change()
    If Ricerca.Text & "" <> "" Then
        If Right(Ricerca.Text, 1) <> " " Then
            Me.Filter = "[MODAUTO] LIKE '*" & Ricerca.Text & "*'"
            Me.FilterOn = True
            Ricerca.SetFocus
            Ricerca.SelStart = Len(Ricerca.Text)
        End If
    End If
End Sub
questo è il codice che uso per filtrare.
Tutto funziona se la proprieta consenti aggiunte della maschera è settata su si, mentre a me serve che sia settata su no.
il problema si verifica quando il filtro che imposto ha come risultato nessun record.
l'errore che mi da è

Errore 2185
impossibile fare riferimento a una proprieta o a un metodo per un controllo che non ha lo stato attivo
Ma io lo stato attivo lo sto settando con Ricerca.setFocus
perche se non consento aggiunte e se il filtro non ha record non posso spostare il focus sul controllo Ricerca?

7 Risposte

  • Re: Errore su filtro on

    Se è una maschera continua probabilmente il problema è che è vuota, se hai il consenti aggiunte settato a si ti posizioni sul nuovo record e tutto funziona altrimenti ti da errore perchè non sa dove posizionarsi
  • Re: Errore su filtro on

    Si è una maschera continua... ma come posso risolvere? non voglio dare la possibilità di inserire nuovi elementi ma mi pare strano che se non ci sono record da mostrare non posso spostare il focus su una normalissima textbox...
  • Re: Errore su filtro on

    Quello che puoi fare è utilizzare una sottomaschera o (se non devi modificare i dati ma solo visualizzarli) una casella di riepilogo.
    Crei una form non collegata a una tabella dove metti la textbox per scrivere il filtro e poi lo applichi. In questo modo puoi sempre stare con il focus sulla textbox anche non hai nessun record che corrisponde al criterio inserito.
  • Re: Errore su filtro on

    Calida ha scritto:


    Buonasera,
    ho una piccola maschera dove vado a scegliere il modello di auto, la maschera si appoggia ad una tabella che contiene solo ID e MODAUTO
    poi con una textbox vado a filtrare i record che mi interessano man mano che digito
    
    Private Sub Ricerca_Change()
        If Ricerca.Text & "" <> "" Then
            If Right(Ricerca.Text, 1) <> " " Then
                Me.Filter = "[MODAUTO] LIKE '*" & Ricerca.Text & "*'"
                Me.FilterOn = True
                Ricerca.SetFocus
                Ricerca.SelStart = Len(Ricerca.Text)
            End If
        End If
    End Sub
    Salve,
    Prova cosi:
    Private Sub Ricerca_Change()
        If Ricerca.Text & "" <> "" Then
            If Right(Ricerca.Text, 1) <> " " Then
                Me.Filter = "[MODAUTO] LIKE '*" & Ricerca.Text & "*'"
                Me.FilterOn = True
                       If Me.RecordsetClone.RecordCount = 0 Then  'conta i record dopo il filtro se zero
                          msgbox "Nessun record corrisponde alla ricerca effettuata"
                          me.Ricerca= ""
                          me.FilterOn = false
                       End If
               me.Ricerca.SetFocus
               me.Ricerca.SelStart = Len(Ricerca.Text & vbNullString)
           End If
        End If
    End Sub
    Saluti
  • Re: Errore su filtro on

    No i dati non devono essere modificati, ma devono essere trasferiti sulla maschera principale.
    l'unico modo senza usare una sottomaschera è controllare se non ci sono record e annullare il filtro se non ci sono...
    altra cosa, c'è la possibilità di cambiare il colore della selezione del testo(quando seleziono il testo la selezione è nera...) e il colore di sfondo e primo piano quando il controllo non è abilitato alle modifiche?
  • Re: Errore su filtro on

    Calida ha scritto:


    No i dati non devono essere modificati, ma devono essere trasferiti sulla maschera principale.
    l'unico modo senza usare una sottomaschera è controllare se non ci sono record e annullare il filtro se non ci sono...
    Mah...hai letto la mia risposta?
    altra cosa, c'è la possibilità di cambiare il colore della selezione del testo(quando seleziono il testo la selezione è nera...) e il colore di sfondo e primo piano quando il controllo non è abilitato alle modifiche?
    Altra cosa altro Post
  • Re: Errore su filtro on

    Gianni55 ha scritto:



    Mah...hai letto la mia risposta?

    si ed infatti ho risposto che l'unico modo è quello di verificare sempre se ci sono dei record che soddisfano il filtro altrimenti annullarlo perche il codice da te proposto questo fa.

    quella risposta era per beachman che mi chiedeva se il mio intento era solo visualizzare i dati oppure modificarli
Devi accedere o registrarti per scrivere nel forum
7 risposte