Apri maschera su record selezionato

di il
6 risposte

Apri maschera su record selezionato

Dunque, ho una maschera cotinua "Diario ordinato" che fa riferimento ad una tabella "Resoconto turno" fatta di diversi campi. Ho una maschera "INSERISCI NOTA" da cui inserisco i record.
I campi della maschera "Diario ordinato" sono tutti bloccati perchè ho bisogno che chi legge non possa accidentalmente modificarne o cancellarne il contenuto. Serve tuttavia che possa farlo intenzionalmente.
Mi piacerebbe allora mettere un pulsante che apre la maschera "INSERISCI NOTA" visualizzando esclusivamente il record selezionato sulla maschera "Diario ordinato".

Grazie!

6 Risposte

  • Re: Apri maschera su record selezionato

    1. Crea una macro in visualizzazione struttura
    2. Scrivi la seguente azione:
    ApriMaschera
        Nome maschera: Inserisci nota
        Condizione WHERE: [IDDiarioOrdinato]=[Forms]![DiarioOrdinato]![IDDiarioOrdinato]
    3. Salva la macro con nome ApriInserisciNota
    4. Vai in visualizzazione struttura maschera "Diario ordinato"
    5. Crea un pulsante (se parte la procedura guidata, annullala)
    6. Clicca sul pulsante con il mouse destro per vedere le Proprietà, scheda Eventi, Su clic: ApriInserisciNota
    7. Salva tutto

    Come si interpreta la Condizione WHERE:
    Ho presupposto che tu hai un campo chiave che collega la tabella "Resoconto turno" (equivalente alla maschera "Diario ordinato") uno-a-molti con "Inserisci nota". Questo campo io l'ho chiamato [IDDiarioOrdinato] (vedi tu come si chiama).

    Consiglio: Non so se altri utenti hanno letto il tuo thread precedente. Non ti consiglio di dare denominazioni tabella--->maschera troppo diversi. Diventa più difficile raccapezzarsi dopo. Si può usare lo stesso nome (io lo preferisco), altrimenti i puristi preferiscono anteporre la parolina tbl davanti al nome tabella e la lettera m (o frm) davanti al nome maschera.
  • Re: Apri maschera su record selezionato

    Bene, sono riuscito ad adattare il suggerimento alla mia situazione. In realtà c'erano delle sottomaschere coinvolte ma penso di aver capito come funziona il "!" e ne sono venuto fuori. Grazie ancora.

    Un domanda, ho provato la stessa condizione applicata anzichè a maschere a report e non funziona.
    Ho scritto una cosa del genere: WHERE: [ID]=[Report]![Cassa]![ID]
    però così facendo apre la maschera sempre sullo stesso record, il primo. Come mai?
  • Re: Apri maschera su record selezionato

    Credo che si scrive [Reports] e non [Report] (non sono sicuro).
    Piuttosto non ha senso fare questo lavoro DA report PER report. Più realisticamente (quello che più spesso ci chiedono) vorresti aprire un report filtrando il record selezionato in maschera. Quest'ultima deve essere ovviamente aperta e la sintassi della condizione WHERE (in ApriReport) resta:
    [ID]=[Forms]![NomeMaschera]![ID]
    Spero di non essere andato fuori tema.
  • Re: Apri maschera su record selezionato

    Non basta gestire la Proprietà AllowEdit e modificarla con un Button...?
  • Re: Apri maschera su record selezionato

    Si ma preferisco che sia chiaro il più possibile che sto inserendo dati. Il database lo userà gente davvero poco pratica di qualunque dispositivo dopo la ruota....
  • Re: Apri maschera su record selezionato

    Ah comunque ho risolto. Grazie
Devi accedere o registrarti per scrivere nel forum
6 risposte