Campo attivo se soddisfatto controllo

di
Anonimizzato12868
il
8 risposte

Campo attivo se soddisfatto controllo

Salve a tutti mi presente mi chiamo Fabio e sono assolutamente neofita del mondo Access. Per motivi di lavoro sto cercando , con non pochi problemi, di realizzare un database che possa aiutare me e la mia la mia azienda a tenere sottocchio tutte le pratiche da evadere. Il problema con cui mi sto cimentando per adesso e di cui non vengo assolutamente a capo, scusate l'ignoranza, è il seguente.
ho generato una tabella chiamata "pratiche" in cui vengono immesse tutte le pratiche gestite. ho generato una maschera con lo stesso nome che possa permettere ai colleghi di inserire le informazioni richieste. il problema sta nel fatto che ho inserito un campo "pratica assegnata" con valore si/no. vorrei che il campo successivo e cioè il nominativo del collega a cui è stata da me assegnata la pratica, comparisse soltanto appena il tastino si/no del campo "pratica assegnata" sia stato smarcato e quindi in tabella risulti come risultato si. Non so come fare questa cosa mi potete in qualche modo aiutare. Scusate anticipatamente per la spiegazione farraginosa forse sarà l'orario

8 Risposte

  • Re: Campo attivo se soddisfatto controllo

    Credo che la tua spiegazione sia stata corretta. Fai quanto segue:
    1. Apri una nuova macro in visualizzazione struttura
    2. Apri la colonna Condizioni
    3. Nel primo rigo colonna Condizioni scrivi questo:
    [Maschere]![Pratiche]![Pratica assegnata]=Falso
    4. Accanto, nella colonna Azioni, scrivi:
    ImpostaValore
         Elemento: [Maschere]![Pratiche]![NomeCollega].Visible
         Espressione: Falso
    5. Salva la macro con nome NascondiCollega
    6. Vai in visualizzazione struttura maschera Pratiche
    7. Clicca dentro il campo NomeCollega e vai nelle Proprietà|Eventi
    8. All'evento "Su corrente", scrivi dentro NascondiCollega
    9. Salva tutto
  • Re: Campo attivo se soddisfatto controllo

    Haime non sono in grado . Posso se non è un problema postarti il mio db cosi che possa dargli un'occhiata?
    se affermativo ti chiedo cortesemente email. Grazie anticipatamente
  • Re: Campo attivo se soddisfatto controllo

    Ok osvaldo sono pienamente d'accordo con quanto messaggiato e pertanto ti chiedo scusa per la richiesta inopportuna. Ti spiego come ho ipotizzato il mio data base o meglio a che punto sono arrivato. Allora considera che voglio tenere sottoccho tutte le pratiche che entrano nella mia azienda e che devono essere lavorate da me o dai miei colleghi o collaboratori pertanto, come tabelle ho creato per il momento 3 tabelle. la prima chiamata "clienti" in cui ho inserito tutti i campi identificativi tipo, ragione sociale, indirizzo, p.iva, telefono,ecc ecc. una seconda tabella chiama " consulenti" in cui compaiono solo due campi un contatore id e un campo consulente. in fine una terza tabella chiamata "pratiche" in cui sono inseriti i campi identificativi della pratica tipo: data, estremi,oggetto, un campo cliente che viene legato come tipo dati alla tabella "clienti" per il tramite dell'opzione ricerca guidata (spero abbia reso l'idea)per evitare di dover ogni volta inserire il nome del cliente ed avere a tendina tutti i clienti caricati per il tramite di apposita tabella, un campo pratica assegnata che ha come tipo dati si/no quindi una semplice spunta, ed infine un campo consulente che, come per il campo cliente , viene legato come tipo dati alla tabella "consulente" per il tramite dell'opzione ricerca guidata.A seguito di tali tabelle mi sono creato le rispettive maschere che riportano specularmente i campi delle tabelle per far si che gli operatori abbiano agilità nell'implementazione del database. vorrei che nella maschera delle pratiche compaia solo il campo pratica assegnata ed il relativo quadratino di spunta e che solo quando il campo viene appunto spuntato, scuta il gioco di parole, si visualizzi di conseguenza il campo consulente al fine di perfezionare l'accoppiamento della pratica data in gestione al quel particolare consulente. Considera che uso access 2007 e nel seguire le tue istruzioni per la creazione della macro facendo tasto destro sul campo consulente della maschera pratica all'evento non trovo "su corrente " ma altri "su" tipo attivato , disattivato, invio,uscita ecc. forse sbagliero qualcosa ma non riesco a rintracciare il problema. Adesso anche con la macro se il tasto pratica assegnata non è spuntato, il campo consulente si visualizza ugualmente. Scusate tutti per la logorroicità ma era necessario per chiarezza. aspetto con anzia vostri suggerimenti grazie anticipate
  • Re: Campo attivo se soddisfatto controllo

    Meglio abbondare che deficere. Nella tua descrizione però non hai specificato quali sono i campi "chiave primaria" delle tabelle Clienti e Consulenti. Generalmente si usa il campo ID contatore, ma non è obbligatorio, l'importante è che sia UNIVOCO, cioè non ammetta valori duplicati. Ora io ridescriverò tutto, sfruttando denominazioni classiche di campi chiave, cioè IDCliente (che non vedo fra i tuoi campi, anche se non ci serve per il problema) e IDConsulente. IDConsulente sostituirà l'ex campo NomeCollega. Da parte mia, ammetto di aver sbagliato una indicazione, hai ragione, la proprietà "Su corrente" esiste soltanto sulla maschera intera e non su singolo campo. Riscrivo tutto da capo.
    1. Apri una nuova macro in visualizzazione struttura
    2. Apri la colonna Condizioni
    3. Nel primo rigo colonna Condizioni scrivi questo:
    [Maschere]![Pratiche]![Pratica assegnata]=Falso
    4. Accanto, nella colonna Azioni, scrivi:
    ImpostaValore
         Elemento: [Maschere]![Pratiche]![IDConsulente].Visible
         Espressione: Falso
    5. Salva la macro con nome NascondiConsulente
    6. Vai in visualizzazione struttura maschera Pratiche
    7. Fai doppio-clic sul quadratino in alto a sinistra per vedere le proprietà della maschera e scegli la scheda Eventi
    8. All'evento "Su corrente", scrivi dentro NascondiConsulente
    9. Salva tutto

    Dovrebbe funzionare.
  • Re: Campo attivo se soddisfatto controllo

    Mannaggia Osvaldo ma ho seguito tutto alla lettera e non va vedo sempre tutto con la spunta del campo messe e no. nella colonna azione della macro ImpostaVolore non c'è forse e qui l'errore? come imposta esiste ImpostaCategorieVisual, ImpostaTempVar, ImpostaProprieta, ImpostaVoceMenu.
  • Re: Campo attivo se soddisfatto controllo

    Non farti prendere dal panico, è del tutto normale che non è detto che i problemi nei forum si risolvano al primo colpo.
    Hai una versione recente di Access (rispetto alla mia 2003). In visualizzazione struttura macro dovresti avere un tasto che, non ricordo mai come si chiama, dice in sostanza "Altre azioni" o "Tutte le azioni". Clicca su di esso e dovresti vedere anche l'azione ImpostaValore.
    Indipendentemente da questo aspetto, avrei dimenticato di suggerirti di impostare un altra proprietà. Siccome per tutti i nuovi record, il campo Sì/No non si sa che valore avrebbe (ossia nessuno dei due), direi che andrebbe impostato come Valore predefinito: No (=Falso) il campo "Pratica assegnata". Questo significa pure che in tutti i record in cui non avevi assegnato alcun valore, tale valore sarebbe Null, quindi diverso da No e vedi ugualmente il campo IDConsulente.
    Sia chiaro per tutto il discorso che il Vedere/NonVedere il campo IDConsulente ha effetto soltanto sulla maschera, non si può applicare in tabella.
  • Re: Campo attivo se soddisfatto controllo

    Ok allora dopo aver fatto le modifiche del caso la situazione attuale è la presente. innanzitutto in impostavalore l'elemento risulta [Maschere]![Pratiche]![Consulente].[Visible] perche la tabella consulenti ha il campo contatore senza chiave primaria denominato ID ed il capo Consulente di tipo testo. cosi facendo mi cancella dalla visualizzazione della maschera il campo consulente cosi come vorrei ma lo elimina sempre anche quando fleggo il campo pratica associata. Se invece metto in condizioni della macro anzicche falso, vero allora mi fa vedere il tutto anche quando il flag di associa pratica è non attivato. penso che ci siamo quasi ti prego quest'ultimo sforzo.

    Grazie
    Fabio
  • Re: Campo attivo se soddisfatto controllo

    Per il forum: la discussione è continuata in via privata e ho dovuto analizzare direttamente il database, dal quale ho apportato ulteriori modifiche per risolvere tutto. Ecco quanto di seguito:
    1. Apri una nuova macro in visualizzazione struttura
    2. Apri la colonna Condizioni
    3. Nel rigo1 colonna Condizioni scrivi questo:
    [Maschere]![Pratiche]![Pratica assegnata]=Vero
    4. Accanto, nella colonna Azioni, scrivi:
    ImpostaValore
         Elemento: [Maschere]![Pratiche]![IDConsulente].[Visible]
         Espressione: Vero
    5. Rigo2 Condizioni: ...
    6. Accanto in Azioni: ArrestaMacro
    7. Rigo3 Condizioni:
    [Maschere]![Pratiche]![Pratica assegnata]=Falso
    8. Accanto in Azioni
    ImpostaValore
         Elemento: [Maschere]![Pratiche]![IDConsulente].[Visible]
         Espressione: Falso
    9. Salva la macro con nome MostraConsulente
    10. Vai in visualizzazione struttura maschera Pratiche
    11. Fai doppio-clic sul quadratino in alto a sinistra per vedere le proprietà della maschera e scegli la scheda Eventi
    12. All'evento "Su corrente", scrivi dentro MostraConsulente
    13. Salva tutto

    Fin qui tutto OK rispetto all'ultimo problema sollevato da gaffin. Siccome, anche durante l'input in maschera sarebbe necessario Mostrare/Nascondere il campo IDConsulente, ho applicato la stessa macro all'evento "Prima di aggiornare" nel campo [Pratica assegnata].
Devi accedere o registrarti per scrivere nel forum
8 risposte