Filtra tutte le sottomaschere per date

di il
11 risposte

Filtra tutte le sottomaschere per date

Ciao, premetto che sono un autodidatta e non molto esperto, ho due problemi su un mio db :
1) Ho una maschera denominata riepilogo in cui ci sono 4 sottomaschere denominate C1 C2 C3 C4,
Nella maschera ci dono due celle (formato data) denominate “dal “al”, dove inserire l’intervallo delle date che premendo un pulsante oppure anche dopo aggiornamento dovrebbero filtrare tutti dati delle sottomaschere. Il mio problema non é il pulsante o inserire in “evento” l’azione , oppure richiedere le date direttamente dalla query, ma voglio legarle tutte alle celle “dal “al”. Premetto che le sottomaschere Non sono collegate tra di loro, ma sono tutte Query.
2) non riesco a riportare il valore della cella S1 dato dal calcolo fatto nelle sottomaschere ottenuto con la dicitura conteggio([…]) nella maschera riepilogo .
Grazie a tutti per il sicuro aiuto.

11 Risposte

  • Re: Filtra tutte le sottomaschere per date

    Non ho ben compreso quando dici che il problema non è il pulsante o l'evento... in che senso quelli non fanno nulla ci mancherebbe fossero un problema...
    Le sottomaschere non si possono collegare tra loro...
    Se il criterio fosse Singolo potresti sfruttare campi master/secondari anche con la textbox ma come stai.operando tu no.
    Nel.tuo caso devi applicare alla proprietà FILTER di ogni singola SUBFORM il criterio di filtro... che costruirai applicando ai campi data i valori delle 2 textbox come estremi...

    La 2° domanda nulla ha a che vedere con il tema in Oggetto.
  • Re: Filtra tutte le sottomaschere per date

    Grazie @Alex per la risposta, l’idea era poter legare al tasto l’opzione del filtraggio dei dati di tutte le sottomaschera.
    Non potendole collegare tra di loro volevo appunto applicare il filtro alla subform ma con le mie conoscenze nn sono riuscito ad applicare, perché ogni volta anziché prendere le date inserite nelle textbox mi apre altre due finestre dove mi chiede di inserire le date per ogni singola subform.
    Perché ho inserito la dicitura :” between [dal] and [al] “ nel criterio delle singole query.
    Mi puoi aiutare nell’applicare la tua soluzione dandomi le linee guida ?
    Grazie
  • Re: Filtra tutte le sottomaschere per date

    Non devi fare una query ma costruire un criterio... quello che hai fatto non riconosce [dal/al] e li interpreta come pparametri in quel modo... devi tradurre in modo esplicito valorizzandoli leggendo le textbox dal/al
    
    Dim sSql As Strong
    sSQL="NomeCampoData Between " & clng(Me.txtDAL) & " AND " Clng(Me.txtAL) 
    Da lì applichi il filtro...
  • Re: Filtra tutte le sottomaschere per date

    @Alex buongiorno, sicuramente mi sfugge qualcosa ti spiego cosa ho fatto:
    ho inserito la stringa consigliatami nella subform "C1" ( sottomaschera)
    ho inserito anche il filtro
    Me!DATAAUTForm.Form.FilterOn = False
    Me!DATAAUTSubForm.Form.Filter = "DATAAUT>=Dal AND DATAAUT<=Al"
    Me!DATAAUTForm.Form.FilterOn = True

    mi da errore .
    ho letto anche il tutorial che hai consigliato in un altor post sull'uso della proprietà della subform ma nn sono giunto alla soluzione.
    forse non ho capito come fare.
  • Re: Filtra tutte le sottomaschere per date

    SSK ha scritto:


    @Alex buongiorno, sicuramente mi sfugge qualcosa ti spiego cosa ho fatto:
    ho inserito la stringa consigliatami nella subform "C1" ( sottomaschera)
    Quale Stringa consigliata e dove...?

    SSK ha scritto:


    ho inserito anche il filtro
    Me!DATAAUTForm.Form.FilterOn = False
    Me!DATAAUTSubForm.Form.Filter = "DATAAUT>=Dal AND DATAAUT<=Al"
    Me!DATAAUTForm.Form.FilterOn = True

    mi da errore .
    ho letto anche il tutorial che hai consigliato in un altor post sull'uso della proprietà della subform ma nn sono giunto alla soluzione.
    forse non ho capito come fare.
    Non ci siamo... la sintassi che hai scritto non è corretta, o meglio NON PUO' ESSERE COMPRESA dal sistema.
    Ipotiziamo un CommandButton e su CLICK applichiamo il Criterio di Filtro:
    
    Private Sub NomeButton_Click()
        Dim sSql As String
        sSQL="DATAAUT Between " & clng(Me.txtDAL) & " AND DATAAUT <=" & Clng(Me.txtAL) 
        ' Oppure:
        ' sSQL="DATAAUT >=" & clng(Me.txtDAL) & " AND " & Clng(Me.txtAL) 
        Me!DATAAUTSubForm.Form.Filter = sSQL
        Me!DATAAUTForm.Form.FilterOn = True
       ' STESSA COSA PER LE ALTRE SOTTO-MASCHERE
        Me!AltraSubForm.Form.Filter = sSQL
        Me!AltraSubForm.Form.FilterOn = True
       ' .....
    End Sub
  • Re: Filtra tutte le sottomaschere per date

    @Alex molto probabilmente il mio linguaggio è poco corretto soprattutto per te che sei un programmatore come stringa intendevo quella suggeritami nella tua risposta precedente.
    ...........................
    Codice: Seleziona tutto
    Dim sSql As Strong
    sSQL="NomeCampoData Between " & clng(Me.txtDAL) & " AND " Clng(Me.txtAL)
    Da lì applichi il filtro...
    ..................................

    (non so come inserire il riquadro della tua risposta)
    comunque grazie, ora vado ad inserire il tuo codice nel CommandButton e ti faccio sapere.
    Buona giornata
  • Re: Filtra tutte le sottomaschere per date

    Purtroppo si blocca mi da :
    ...................
    errore di compilazione:
    impossibile trovare il metodo ed il membro dei dati
    ....................................
    evidenziandomi .txtDAL come errore
  • Re: Filtra tutte le sottomaschere per date

    Quelli sono i NOMI dei Controlli TextBox che devi avere nella Maschera nei quali inserisci le 2 Date... tu li puoi chiamare come vuoi...

    P.S. I concetti di BASE devi provvedere in autonomia, non possiamo pensare di portare avanti una questione Tecnica dovendo fare corsi di base per capirsi.
  • Re: Filtra tutte le sottomaschere per date

    Si Alex comprendo e sono d'accordo.
    Grazie e buona giornata.
  • Re: Filtra tutte le sottomaschere per date

    Nulla non mi funziona.
    Grazie lo stesso.
    ciao
  • Re: Filtra tutte le sottomaschere per date

    Ho risolto con query per ogni sottomaschera e con una macro di comando sulla maschera principale. Grazie
Devi accedere o registrarti per scrivere nel forum
11 risposte