Confronto nei record di una maschera (maschere continue).

di
Anonimizzato15263
il
4 risposte

Confronto nei record di una maschera (maschere continue).

Salve, sempre inerente al database di cui parlavo in un altro thread.
Ho una maschera (Appuntamenti Ottobre) che prende i dati da una query AppMensiliOtt, fin quì tutto bene.
La query è filtrata in modo da resituire solo le date di "Ottobre" >= della data corrente e i campi null data appuntamento e ora appuntamento. (questo per aver modo di inserirli direttamente da questa maschera o da altre che creerò per i vari mesi).

Fin quì tutto va bene.

Nel piè di pagina, in una textbox, inserisco l'espressione:

="Appuntamenti di" & " - " & Ucase$(Format([Maschere]![Ottobre]![Data Appuntamento];"mmmm aaaa"))

Ora, se l'ultimo record "isempty" , visualizzo mediante la formattazione: "Appuntamenti di Ottobre 2014".

Se invece "isnull", leggo solo: "Appuntamenti di"

(questo perchè la formattazione viene eseguita sull'ultimo record che, risultando vuoto, mi crea questo difetto nel codice).

Per dire nell'espressione di cercare tra i record una data (di quel mese, in questo caso ottobre) e prendere da lì le proprietà di formattazione, come dovrei fare? Si può fare?

Grazie

per avere un'idea ecco le immagini: (OVVIAMENTE I NOMI SONO SOLO DI PROVA, NON ME NE VOGLIA NESSUNO!!!)

4 Risposte

  • Re: Confronto nei record di una maschera (maschere continue).

    Secondo me non puoi lavorare con le singole espressioni, ma ti devi avvalere di qualche azione macro o codice VBA che dica "vai a prendere il valore che sta nella proprietà "Origine controllo" (ControlSource) della textbox". Essa si esprime con la seguente sintassi:
    [Forms]![Nome maschera]![Nome controllo].[ControlSource]

    Non sono sicuro se ho capito la tua domanda.
  • Re: Confronto nei record di una maschera (maschere continue).

    Ciao Osvaldo, gentilissimo come sempre!

    Allora, il codice che mi proponi, penso vada bene da VBA, quello che ho inserito io è basato su un'espressione.

    Chiaramente l'intestazione del piè di pagina potrei mettercela fissa, ma se poi si arriva a dicembre e si prende un appuntamento per gennaio 2015 (adesso faccio l'esempio su gennaio ma può essere uno dei 12 mesi), in piè di pagina, ovviamente, l'anno non si aggiornerebbe in base alla data appuntamento. Ecco perchè vorrei che access la prendesse da codice o da espressione.
    Il problema rimane che, se viene registrato un cliente e l'appuntamento per un motivo x non si possa ancora definire, io in quella schermata sono costretto a vedere un piè di pagina incompleto di mese e anno (a meno che non sia l'unico e ci starebbe anche).
    Dovrei dire ad access di prendere i dati da un campo [data appuntamento] in quella maschera valido, non da quello vuoto.
  • Re: Confronto nei record di una maschera (maschere continue).

    A me non sono chiare molte cose. Direi soprattutto che non trovo congeniale gestire questa cosa (che tra l'altro non l'ho afferrata bene) così come la vuoi sottoporre tu. Io resetterei questa query e più francamente ti chiedo:
    - partendo da 2 tabelle Anagrafica uno-a-molti con Appuntamenti, cosa ti interessa fare?
    Ti consiglio di raccontare dettagliatamente tutti i campi della tabella Appuntamenti. Forse non lo sai, ma un campo di tipo Data/Ora può includere entrambe le cose in un campo solo. Questo ti semplificherebbe già qualcosa.
  • Re: Confronto nei record di una maschera (maschere continue).

    Grazie Osvaldo, hai ragione, il campo data comprende anche l'ora, ma io ho la necessità di separarli.
    Comuqnue, penso che questa mia idea non si possa attuare, quindi scriverò semplicemente nel "piè di pagina" il mese, senza formattazioni, senza includere l'anno, così andrà bene per qualsiasi annata...

    Grazie ancora
Devi accedere o registrarti per scrivere nel forum
4 risposte