Maschere evento su caricamento e problema con c.combinata

di il
6 risposte

Maschere evento su caricamento e problema con c.combinata

Salve, venia per le domande elementari ma non riesco a superare alcuni problemi con access: per lavoro sto "programmando" un piccolo database...è quasi finito ma: come faccio all'apertura della maschera a fare attivare (click) un determinato pulsante che nella fattispecie blocca alcuni campi per timore che possano essere modificati? (ho pensato a 2 pulsanti blocca e sblocca con la funzione Me.nomecampo.locked = false (e true). Altro quesito: tramite una query riesco a filtrare i dati che mi servono (cognome, nome, etc) senza problemi (sono campi testo associati ad una tabella anagrafica), invece quando cerco di filtrare i campi di prima aggiungendo i valori di una casella combinata (associata ad una tabella con relativa maschera) non mi fa vedere il contenuto di quest'ultimo bensì il relativo ID. Non riesco a capire dove sbaglio che, e me ne vergogno, sto superando il problema stampando i nominativi (es. cognome per ditta - dove "ditta" è la casella combinata) e siccome accanto al nome mi dà l'ID alla stampa stessa allego un'altra stampa della maschera "ditta" per associare l'ID alla "ditta". Vi ringrazio anticipatamente.

6 Risposte

  • Re: Maschere evento su caricamento e problema con c.combinata

    Benvenuto nel forum. No problem per la qualità delle tue domande. Hai posto 2 normali domande e hai fatto bene a chiedere aiuto al forum. Solamente una cosa. Se leggi bene il regolamento, è bene proporre un thread per ogni problema. In questo caso sarebbe stato meglio scriverne 2 separati. Per me per ora non importa e proverò a rispondere a entrambi.

    aco coranna ha scritto:


    come faccio all'apertura della maschera a fare attivare (click) un determinato pulsante che nella fattispecie blocca alcuni campi per timore che possano essere modificati?
    Penso che lo hai detto con le tue stesse parole. Devi sfruttare l'evento "Su apertura" della maschera e (con macro o codice VBA) impostare la corrispettiva proprietà del pulsante in causa.

    aco coranna ha scritto:


    quando cerco di filtrare i campi di prima aggiungendo i valori di una casella combinata (associata ad una tabella con relativa maschera) non mi fa vedere il contenuto di quest'ultimo bensì il relativo ID
    È un problema molto ricorrente, non te ne devi vergognare.
    Devi guardare fra le proprietà della casella combinata. Alla proprietà Larghezza colonne, il primo valore deve essere 0 cm, che vuol dire "nascondimi la prima colonna". La tua prima colonna è proprio ID, nascondendola fai in modo di mostrare quella immediatamente successiva (solitamente testuale).
  • Re: Maschere evento su caricamento e problema con c.combinata

    Ciao,
    per il primo quesito che poni, nella scheda dati dei controlli della form trovi la proprietà bloccato si/no, impostali tutti su si.
    inserisci una casella di controllo a cui assegni come valore predefinito -1 (vero) e nome ck1
    Su evento click imposti per ogni controllo della form bloccato : me.tuoControllo.locked=me.ck1.
    All’apertura della form tutti i controlli sono non modificabili, quando deflagghi la checkbox invece si.
    se hai molti controlli nella form converrebbe un ciclo per impostare la proprietà, intanto inizia così...
    Un saluto.
  • Re: Maschere evento su caricamento e problema con c.combinata

    Devi guardare fra le proprietà della casella combinata. Alla proprietà Larghezza colonne, il primo valore deve essere 0 cm, che vuol dire "nascondimi la prima colonna". La tua prima colonna è proprio ID, nascondendola fai in modo di mostrare quella immediatamente successiva (solitamente testuale).[/quote]

    Grazie per il benvenuto. Ho fatto come mi hai suggerito ma sulla proprietà larghezza colonne c'era già impostato il seguente valore: 0cm;2,54cm;2,54cm

    Per quanto riguarda il primo quesito non ho capito cosa inserire dopo "private sub form_load()" come gli dico di attivare il pulsante x?
  • Re: Maschere evento su caricamento e problema con c.combinata

    Goku ha scritto:


    Ciao,
    per il primo quesito che poni, nella scheda dati dei controlli della form trovi la proprietà bloccato si/no, impostali tutti su si.
    inserisci una casella di controllo a cui assegni come valore predefinito -1 (vero) e nome ck1
    Su evento click imposti per ogni controllo della form bloccato : me.tuoControllo.locked=me.ck1.
    All’apertura della form tutti i controlli sono non modificabili, quando deflagghi la checkbox invece si.
    se hai molti controlli nella form converrebbe un ciclo per impostare la proprietà, intanto inizia così...
    Un saluto.
    Grazie. Questo l'ho già fatto, mi serviva solo capire come fare all'apertura della maschera attivare il pulsante "Blocca", che, se decido di inserire o di modificare i campi, lo "Sblocco" con altro pulsante.
  • Re: Maschere evento su caricamento e problema con c.combinata

    Ciao,

    aco coranna ha scritto:


    Grazie. Questo l'ho già fatto, mi serviva solo capire come fare all'apertura della maschera attivare il pulsante "Blocca", che, se decido di inserire o di modificare i campi, lo "Sblocco" con altro pulsante.
    ti ho dato un suggerimento utilizzando una checkbox perché è visibilmente più chiaro- vedendo o non vedendo la spunta sul controllo - capire lo stato della proprietà locked dei controlli in questione.
    Sei certo di avere colto il suggerimento? in ogni per il command button la proprietà enabled è booleana quindi impostabile analogamente a come ti ho indicato nel post precedente.
    un saluto.
  • Re: Maschere evento su caricamento e problema con c.combinata

    Quesito 2: Scusa, ho interpretato male io.
    Credo che il problema risieda nella query, cioè nella scelta del campo appropriato. Anzichè mostrare il campo ID della tabella figlia, ti conviene, in visualizzazione struttura query, aggiungere la tabella madre e trascinare il campo testuale. È su quest'ultimo che devi focalizzare la tua attenzione.
Devi accedere o registrarti per scrivere nel forum
6 risposte