Controllo status checkbox

di il
11 risposte

Controllo status checkbox

Buonasera a tutti, in merito all'oggetto, avrei bisogno di un aiuto per un mio db.
Nello specifico espongo il problema:

Ho una tabella con vari campi (COGNOME, NOME, N. TELEFONICO, EMAIL) e una casella di controllo (E-MAIL SOSPESA)
Poi ho una maschera continua che mi rappresenta questi dati tranne la checkbox che si trova in un'altra maschera che serve ad eseguire un lavoro che in un certo modo lega con il mio problema.
Adesso non sto a spiegare come mai il mio db lo realizzato così, ma come dicevo in un'altra maschera ho l'opportunità di aggiornare lo status della casella di controllo E-MAIL SOSPESA. Adesso qui c'è il mio problema.
Ora io vorrei che se ad esempio ai record 2, 10, 20 e 23 la casella di controllo risulta spuntata, nella maschera continua, le textbox dei record in questione, associati al campo EMAIL, devono risultare disabilitate.
Ho provato con la funzione dlookup sull'evento CORRENTE
If Dlookup("[E-MAIL SOSPESA]", "tabella") = -1 THEN
txtEmail.Enabled = False
End If
Ovviamente non funziona, cioè non disabilita le textbox dei record dove la casella di controllo E-MAIL SOSPESA è spuntata.
Come potrei risolvere il mio problema?
Spero di essere espresso bene.
Grazie.

11 Risposte

  • Re: Controllo status checkbox

    A prescindere che il Dlookup non serve a nulla dal momento che esegui su Current leggi il valore diretto del controllo... che senso ha andare a cercare in tabella..?
    Oltretutto senza il criterio... secondo te il Dlookup che valore di quale record restituisce..? Uno a caso magari... ma di certo NON quello che ti serve.

    A parte questi importantissimi errori concettuali... se sei in maschera continua non puoi... o meglio l'esito sarebbe non voluto in quanto l'abilitazione avrebbe effetto sui controlli di TUTTI i Records non solo su quello attivo.
  • Re: Controllo status checkbox

    Ok, ho capita. Grazie per la spiegazione. Allora mi rassegno.
  • Re: Controllo status checkbox

    Buongiorno @Alex scusami se ritorno ancora su questa discussione ma avrei la necessità di trovare il modo di risolvere questo mio problema. Magari con le tue conoscenze potresti darmi una dritta.
    Riassumendo:
    Ho una tabella con vari campi (cognome, nome, telefono, indirizzo e-mail), che vanno a rappresentare una rubrica telefonica. Poi ho una maschera in modalità maschere continue. Tra le tante funzionalità di questo database c'è ne una che va copiare tutti gli indirizzi e-mail presenti in tabella. Attraverso una casella di controllo denominata E-MAIL SOSPESA, ho l'opportunità di bloccare e quindi NON copiare la mail di quei record dove la casella di controllo risulta impostata su VERO.
    Adesso io vorrei trovare un modo per far sì che se la casella di controllo risulta spuntata (quindi impostata su valore VERO) ad alcuni records, allora all'interno della textbox che rappresenta le e-mail (quindi sto parlando in maschere continue), compaia un qualsiasi segno che mi raffiguri che quelle e-mail di quei records sono bloccate.

    Ho seguito alcune discussioni sul web, tra l'altro ce ne sono diverse anche sostenute da te, alcune si avvicinano al mio problema (ad esempio suggerivi di inserire una linea, visibile solo se la condizione è soddisfatta, che va a rappresentare un testo barrato) ma non ho le capacità per gestire tramite vba questo mio problema.
    Non so se puoi essermi di aiuto te ne sarei grato, altrimenti nel mio ufficio i miei colleghi fanno fatica a capire quali sono le mail bloccate e quelle no.
    Grazie
  • Re: Controllo status checkbox

    alexps81 ha scritto:


    Ho una tabella con vari campi (cognome, nome, telefono, indirizzo e-mail), che vanno a rappresentare una rubrica telefonica.
    Io aggiungerei a questi campi un campo di tipo Sì/No che chiamerei Bloccato. Di conseguenza innescherei una query o un filtro apposito per gestire quello che hai chiesto.

    Piuttosto c'è qualcosa che mi sfugge nella struttura. Se Mario Rossi ha più e-mail (diciamo 5) e tu vuoi bloccarne 2...pensi che valga la pena avere 5 record Mario Rossi?
  • Re: Controllo status checkbox

    Piuttosto c'è qualcosa che mi sfugge nella struttura. Se Mario Rossi ha più e-mail (diciamo 5) e tu vuoi bloccarne 2...pensi che valga la pena avere 5 record Mario Rossi?
    Guarda è una rubrica particolare, nel senso che ogni record può avere al massimo una sola e.mail. Dunque nel tuo esempio Mario Rossi avrà solo una mail.
    Io aggiungerei a questi campi un campo di tipo Sì/No che chiamerei Bloccato. Di conseguenza innescherei una query o un filtro apposito per gestire quello che hai chiesto.
    Ma infatti esiste già un campo Si/No e si chiama E-Mail Sospesa. Il mio problema è che non so gestirlo in maschere continue. Nel senso che tutto ciò che ho provato poi si ripercuote su tutti i records dato che sto lavorando in maschere continue. Non mi chiedere di postare ciò che ho provato perché ho cancellato tutto dato che non mi funzionava.
  • Re: Controllo status checkbox

    alexps81 ha scritto:


    Guarda è una rubrica particolare, nel senso che ogni record può avere al massimo una sola e.mail. Dunque nel tuo esempio Mario Rossi avrà solo una mail.
    Daccordo.

    Allora io mi giocherei la "formattazione condizionale" tale che se Sospeso=True allora la casella testo E-Mail deve risultare Enabled=False (o viceversa).
  • Re: Controllo status checkbox

    Si si ma infatti la checkbox è inclusa nella tabella. Adesso vorrei fare in modo che se in quel determinato record (ad esemprio quella relataìiva a Mario Rossi) la checkbox E-Mail Sospesa è spuntata, allora in maschera continua al rigo di Mario Rossi la textbox che rappresenta la sua email risulta un segno che mi fa capire che la sua email è bloccata
  • Re: Controllo status checkbox

    Scusa...scrivevamo in contemporanea e forse io non avevo compreso in pieno. Vada per la "formattazione condizionale", leggi il mio messaggio precedente.
  • Re: Controllo status checkbox

    Mmmmmm....mi sa che già avevo provato una soluzione simile.

    Dunque vado nella textbox con origine controllo il campo E-mail, vado in formattazione condizionale, nuova regola, l'Espressione è:......
    Giusto?
    Se la procedura è questa da qui in poi chiaramente mi blocco. Suggerimenti di scrittura?
  • Re: Controllo status checkbox

    L'espressione è: [E-MAIL SOSPESA]=True
    quindi poi clicchi su Attiva/Disattiva (sta dopo A sottolineato, Colore carattere)
  • Re: Controllo status checkbox

    Penso che ci siamo

    Avevo già provato una soluzione simile ma quando dovevo immette l'espressione è: anziché scrivere [E-MAIL SOSPESA] = True seguivo le indicazioni di access che mi faceva scegliere il campo E-MAIL SOSPESA all'interno della tabella, quindi nel rigo l'espressione è: mi compariva il ["nome della tabella"]![E-MAIL SOSPESA] = True. Adesso ho tolto semplicemente la tabella e lasciato così come mi hai indicato è devo dire che funziona.
    Diciamo che avrei preferito una cosa un po' diversa del tipo che mi comparisse una etichetta con dentro scritto E-MAIL SOSPESA in corrispondenza del record in questione ma credo sia impossibile.
    Cmq grazie per il sostegno.
Devi accedere o registrarti per scrivere nel forum
11 risposte