Filtro date con selezione maschera da combobox

di il
4 risposte

Filtro date con selezione maschera da combobox

Buongiorno a tutti,
sono nuovo del forum e mi scuso se ho sbagliato a creare un nuovo post, ma non sono riuscito a trovare ciò che cercavo.
Vi spiego il mio problema:
Ho una serie di maschere collegate a relative query, io devo cercare , tramite combobox con menù a tendina la maschera che mi interessa interrogare e prima di aprirla devo selezionare un intervallo di date da visualizzare.
ho proceduto in questo modo.
ho creato una maschera chiamata Sel Data all'interno della quale ho messo due caselle di testo con DataInizio e DataFine e il relativo pulsante con codice:
Private Sub Comando4_Click()
If IsNull([DataInizio]) Or IsNull([DataFine]) Then
MsgBox "Data Inizio o Data Fine mancante"
DoCmd.GoToControl "DataInizio"
Else
If ([DataInizio]) > ([DataFine]) Then
MsgBox "La Data Fine deve essere successiva alla Data Inizio"
End If
DoCmd.OpenForm ("21 AG MASC TABULARE"), acviewform
End If
End Sub

Ho messo criterio nella query della maschera :
>=[Maschere]![@SEL DATA]![DataInizio] And <=[Maschere]![@SEL DATA]![DataFine]

Fino a qui tutto funziona, il passo successivo a cui non vengo a capo, anche perchè sono ignorante in materia, sarebbe quello di inserire nella maschera "Sel Data" anche la possibilità di selezionare la maschera da filtrare con le date.
Sono riuscito a creare una combobox (chiamata SelAnalisi) collegata alla tabella Analisi poi in vba ho scritto la seguente istruzione che non mi apre la tabella ma non mi filtra le date:
If SelAnalisi.Text = "21 AG V6" Then
DoCmd.OpenForm ("21 AG MASC TABULARE"), acviewform

Vi ringrazio in anticipo per l'aiuto
Spero di essere stato chiaro, anche se ne dubito

4 Risposte

  • Re: Filtro date con selezione maschera da combobox

    shark_1967 ha scritto:


    Ho messo criterio nella query della maschera :
    >=[Maschere]![@SEL DATA]![DataInizio] And <=[Maschere]![@SEL DATA]![DataFine]
    Questa si scrive
    Between [Maschere]![@SEL DATA]![DataInizio] And [Maschere]![@SEL DATA]![DataFine]

    shark_1967 ha scritto:


    inserire nella maschera "Sel Data" anche la possibilità di selezionare la maschera da filtrare con le date
    Non ti seguo progettualmente. Che significa "selezionare la maschera (da combobox)"?
  • Re: Filtro date con selezione maschera da combobox

    Commetti una serie di anomalie tecniche che si fatica a capire da dove partire anche nella comprensione...
    Te le espongo tutte per colmare qualche lacuna la dove potesse esserti utile:
    1) controlli IsNull(Data...) quindi se uno scrive Pippo al posto della data va bene...?
    2) Utilizzi ovunque caratteri da evitare nei nomi degli oggetti... dallo spazio alla @...
    3) il criterio chiaramente è errato... Osvaldo ti ha indicato un modo... tuttavia si possono fare altre considerazioni usando il parametro WHERE della OpenForm
    4) le parentesi con il nome form nella funzione OPENFORM non si possono vedere
    5) la proprietà Text nelle textbox non si usa quasi MAI... richiede che il controllo abbia il focus, quindi di norma sono su Change o KeyPress/KeyDown

    Detto questo non ho capito cosa vuoi fare con la selezione della maschera e come attuarla...
  • Re: Filtro date con selezione maschera da combobox

    Vi ringrazio per i suggerimenti, ho corretto l'errore "Between ..And," Ti ringrazio Osvaldo
    ma come anticipato sono alle prime armi.
    Tento di spiegarmi meglio,
    Capisco che ho dato nomi strani alle maschere e tabelle, ma mi sono accorto dopo che si poteva fare in modi più consoni, oramai il file è enorme, ci sono circa 30 Tabelle e relative Maschere e Report.
    Il database serve per il mio laboratorio di analisi chimiche, percui ogni tabella è un'analisi diversa e all'interno delle tabelle in alcuni campi vengono svolte anche delle operazioni.
    Le maschere chiamate XX XX MASC TABULARE sono una trentina e contengono decine e decine di record ordinati per data, la mia necessità è la seguente:
    come già vi avevo scritto ho creato una maschera per filtrare le date e poi, ho inserito nel criterio della query della maschera.
    Io non vorrei inserire in tutte le maschere il criterio, ma mi piacerebbe, e non so come fare, o selezionare direttamente nella maschera XX XX MASC TABULARE le date da filtrare,
    oppure nella maschera SEL DATA altre a Data Inizio e Data Fine, la possibilità di selezionare una delle tante maschere e successivamente filtrare le date.

    Sicuramente preferirei la prima opzione, cioè inserire in tutte le maschere XX XX MASC TABULARE le caselle di filtro data (Data Inizio e Data Fine)
    con relativo pulsante di reset filtro.
    Scusate ancora e spero di essere stato più chiaro
  • Re: Filtro date con selezione maschera da combobox

    shark_1967 ha scritto:


    Capisco che ho dato nomi strani alle maschere e tabelle, ma mi sono accorto dopo che si poteva fare in modi più consoni, oramai il file è enorme, ci sono circa 30 Tabelle e relative Maschere e Report.
    Il database serve per il mio laboratorio di analisi chimiche, percui ogni tabella è un'analisi diversa e all'interno delle tabelle in alcuni campi vengono svolte anche delle operazioni.
    30 tabelle mi sembrano "relativamente" tante.

    "Ogni tabella è un'analisi diversa". Questa affermazione lascia pensare a una progettazione NON NORMALIZZATA. Un database non deve avere mai più tabelle con campi uguali o molti simili.

    "In alcuni campi vengono svolte anche delle operazioni". Sebbene Access offre la possibilità dei campi calcolati, se ne sconsiglia l'uso. Si preferisce sempre delegare questo compito alle query.
Devi accedere o registrarti per scrivere nel forum
4 risposte