Funzione Beep

di il
11 risposte

Funzione Beep

Salve a tutti
Ho due maschere che fanno capo entrambe alla tabella "MEMORANDUM" e sono: "Memorandum" e "Memorandum1". In entrambe ho inserito una DATA (data giorno corrente ),una casella di testo "DATA" dove inserisco il giorno da ricordare, ed un relativo impegno.
Quando apro la maschera "Memorandum1", la cui struttura è identica, ritrovo tutti i dati inseriti nella maschera "Memorandum".
Ora vorrei che quando apro la maschera Memorandum1 e la data dell'evento da me inserita corrisponde alla data odierna il programma mi mandi un segnale acustico o che la maschera si apra automaticamente.
E' possibile?
Grazie

11 Risposte

  • Re: Funzione Beep

    Perché hai 2 maschere uguali associate alla medesima tabella...?
    Se vuoi gestire una sorta di scadenzario... conviene che la 2° maschera sia basata su una query con criterio data odierna... ma è difficile sarti un suggerimento senza comprendere bene....
    Di fatto quello che hai chiesto è ovviamente fattibile... ma su una maschera basata su tutta la tabella ha poco senso... avresti date sia antecedenti che successive ad oggi... quindi il controllo andrebbe eseguito su Current...
  • Re: Funzione Beep

    Ok Alex. intanto grazie.
    Ho creato una Query basata sulla tabella MEMORANDUM dove ho inserito sia "Data" che MEMO"; come da tabella. Ora la seconda mascera MEMORANDUM1 fa capo a questa query mentre la maschera MEMORANDUM fa capo alla tabella. Spero sia giusto.
    Ora ho impostato il criterio "data odierna" nella query in questo modo: nella colonna DATA ho scritto alla voce criteri ...."Day(Now())". Ci sono?

    Grazie
  • Re: Funzione Beep

    Sbaglio qualcosa...Se metto il criterio "Day(Now())" nella 2° maschera "MEMORANDUM1 non appare nulla. Se tolgo il criterio si.
    Per chiarire: La maschera MEMORANDUM (1°) è dove inserisco il memo. La maschera MEMORANDuM1 (2°) è dove ritrovo il riepilogo di tutti i memo inseriti.
    La maschera 1° fa capo alla tabella e la maschera e la Maschera 2° fa capo alla Query
  • Re: Funzione Beep

    @Alex ha scritto:


    Perché hai 2 maschere uguali associate alla medesima tabella...?
    Se vuoi gestire una sorta di scadenzario... conviene che la 2° maschera sia basata su una query con criterio data odierna... ma è difficile sarti un suggerimento senza comprendere bene....
    Di fatto quello che hai chiesto è ovviamente fattibile... ma su una maschera basata su tutta la tabella ha poco senso... avresti date sia antecedenti che successive ad oggi... quindi il controllo andrebbe eseguito su Current...
    Le date antecedenti non le avrei, credo, perchè ho dato la possibilità di eliminare l'evento una volta portato a termine...
  • Re: Funzione Beep

    Tato ha scritto:


    Sbaglio qualcosa...Se metto il criterio "Day(Now())" nella 2° maschera "MEMORANDUM1 non appare nulla. Se tolgo il criterio si.
    Per chiarire: La maschera MEMORANDUM (1°) è dove inserisco il memo. La maschera MEMORANDuM1 (2°) è dove ritrovo il riepilogo di tutti i memo inseriti.
    La maschera 1° fa capo alla tabella e la maschera e la Maschera 2° fa capo alla Query
    Non capisco nulla, anche perchè hai un concetto di informazioni che lascia molto perplessi tecnicamente parlando.
    Ad esempio ti pare normale avere come CRITERIO [Day(Now())]...?

    Prima di tutto con cosa confronti il Day(Now()) ....?
    Con una Data...? [SBAGLIATO]
    Eventualmente con il Day(CampoData)... e se non ci dici chiaramente tutto i dubbi aumentano...

    Poi il giorno [2] ad esempio, visto che è oggi, lo abbiamo solo 1 volta...? Esiste tutti i mesi... di tutti gli anni... di fatto otterresti, a patto di scrivere correttamente la sintassi come esposto sopra, tutti i riferimenti in cui il giorno della Data=2 a prescindere dal Mese/Anno...

    Concettualmente nessuno userebbe mai questo approccio, e proseguiamo con i dubbi...!

    Di solito per questo si usa Date() che contiene [gg/mm/aaaa] senza il riferimento a [hh:mm:ss], ma quì potremmo(potresti) avere un problema...
    Ovvero il campo di origine.
    Questo sistema funziona solo se nel tuo campo data hai inserito un riferimento di Data privo di [hh:mm:ss], cosa che invece in molti non esperti sbagliano proprio perchè usano in modo non consapevole Now().

    Ora se ti serve [hh:mm:ss] nel campo Data, allora per filtrare per Data devi prendere la parte intera della data
    
    Fix(CampoData)=Date()
    Vedi tu...
  • Re: Funzione Beep

    Tato ha scritto:


    ....
    Le date antecedenti non le avrei, credo, perchè ho dato la possibilità di eliminare l'evento una volta portato a termine...
    Di norma non si CANCELLANO... si usa un campo che ne definisce lo stato... ma mi pare di capire sia tutto molto "Casalingo"... per questo forse sarebbe meglio puntare l'attenzione sulla parte strutturale.
  • Re: Funzione Beep

    Sicuramente molto casalingo...piani piano con il vostro aiuto imparo. hh:mm:ss non mi servono e nel campo data ho inserito un riferimento di data privo di hh:mm:ss
    Ho modificato il criterio, il dubbio era venuto anche a me con [Day(Now())], ora ho inserito [Date()].
    Ora se lancio la query mi da solamente il memo che riporta la data corrente. Quello che volevo. Ora vorrei anche che in presenza di un impegno programmato la cui data corrisponde alla data corrente, la maschera si apra automaticamente.

    Grazie Alex per la pazienza
  • Re: Funzione Beep

    Lanciare la Query cosa significa per te...?
    Hai solo 1 evento al giorno...?

    Insomma la Query che filtra da sola non fa nulla, se contiene Records, quindi se più Records soddisfano il Criterio significa che Oggi puoi contemplare più eventi...!
    In questo caso quale Form APRI...?
    Ovvio che se invece puoi avere solo 1 Evento, credo sia semplice, ma forse in questo caso non serve proprio una Query... basta un DlookUp(con criterio)...
    Se continui a darci informazioni a spizzichi... fatichiamo veramente molto.
  • Re: Funzione Beep

    Ok, riparto da zero
    Struttura: Una tabella, una Query, due Maschere, il tutto strutturato individualmente come segue:

    - Tabella "Memorandum"
    Campi: Memo, data (Data in cifre che non contempla hh:mm:ss)

    - Query
    Campi: Memo, Data (La query fa capo alla tabella MEMORANDUM). Nel campo "data" ho inserito come criterio [Date()]

    - Maschera "MEMORANDUM" guardandola in modalità STRUTTURA
    Campi corpo maschera: Memo, Data (La maschera fa capo alla tabella MEMORANDUM). All'apertura si presenta vuota per l'inserimento di nuovi memo. Nell'intestazione ho inserito una casella di testo dove appare la data odierna: (Origine controllo [Date()])

    - 2°Maschera "MEMORANDUM1" guardandola in modalità STRUTTURA
    Campi corpo maschera: Memo, data (La 2°maschera fa capo alla Query). All'apertura mi appaiono tutti i memo che riportano la data corrente (Vedi criterio su query); ovviamente se presenti, contrariamente si presenta vuota. Nell'intestazione ho inserito una casella di testo dove appare la data odierna: (Origine controllo [Date()])

    Tornando alla mia richiesta e sperando che il tutto sia strutturato come si deve, vorrei, come già detto, che se la data di un memo corrisponde alla data odierna la 2°maschera, quella collegata alla query, si aprisse in automatico all'apertura del database.

    Meglio di cosi non so come spiegarlo e descriverlo.

    Grazie
  • Re: Funzione Beep

    Ti basta una funzione da chiamare su macro Autoexec che faccia un DCOUNT con criterio data odierna... se il risultato >1 apri la maschera.
    Ora apri la guida e leggi come usare DCOUNT e la macro Autoexec
  • Re: Funzione Beep

    Credo di aver capito ma non riesco a capire quale sia la formula giusta.
    Ho creato una Macro Autexec impostandola come segue: Funzione Apri maschera: Nome maschera "Memorandum1" - Visualizzazione "Maschera".
    Fatto questo ho inserito la funzione "crea blocco iff", preso da manuele access 2010, e quì dovrei, credo, inesrire la formula che non riesco a capire. Ho scritto: Dcount(date.......poi non so.
    Scusa Alex so di essere molto indietro.
    Grazie
Devi accedere o registrarti per scrivere nel forum
11 risposte