Pulsante visibile mediante una condizione

di il
11 risposte

Pulsante visibile mediante una condizione

Ciao non so se si può fare, io vorrei far vedere il pulsante indicato con la freccia, solo se la commessa è presente.
Allegati:
22918_87441ca90ae994733f5cc503de307892.jpg
22918_87441ca90ae994733f5cc503de307892.jpg

11 Risposte

  • Re: Pulsante visibile mediante una condizione

    Maschera Continua....!
    La risposta è NO.
  • Re: Pulsante visibile mediante una condizione

    Salve,
    Fermo restando quanto asserito da Alex, io risolverei con una txtbox che su clic gestisce il codice in modo condizionale, e la visibilità con una iif come origine dati che renda una stringa "" quando la si vuole rendere invisibile.
    Per cui su origine dati:
    Questo gestisce la visibilità
    IIf(len(commessa)=0;"";"Vedi Commessa")

    mentre su clic di "Vedi Commessa":
    questo gestisce l'azione
    If (len(commessa)>0 then
      Apri maschera o cos'altro
    else
    exit sub
    end if
    Il codice è chiaramente un esempio da adattare al caso.

  • Re: Pulsante visibile mediante una condizione

    Dove lo metteresti in atto questo suggerimento...?
    Se pensi di suggerire "nella maschera" ovviamente per lo stesso motivo per il quale non funziona la gestione della Singola Proprietà di un Oggetto Non associato come Visible, non funzionerebbe nemmeno quello...

    Quindi...?
    La soluzione c'è ovviamente... lascio a te la spiegazione.
  • Re: Pulsante visibile mediante una condizione

    @Alex ha scritto:


    Dove lo metteresti in atto questo suggerimento...?
    Se pensi di suggerire "nella maschera" ovviamente per lo stesso motivo per il quale non funziona la gestione della Singola Proprietà di un Oggetto Non associato come Visible, non funzionerebbe nemmeno quello...

    Quindi...?
    La soluzione c'è ovviamente... lascio a te la spiegazione.
    Non proponevo di gestire la proprietà visibile che ovviamente non può funzionare come premesso.
    Ho proposto di mostrare nell'origine dati della txtBox una stringa null che essendo "" è invisibile.
    poi su evento clic della txtbox funziona o non funziona sulla base della stessa condizione o altra.

    nel pomeriggio posterò un esempio concreto.
    Saluti.
  • Re: Pulsante visibile mediante una condizione

    Io ho capito l'intento ma se non crei un campo calcolato in una query da associare a quella textbox non funziona quello che hai proposto e, se non dici che va fatto nella query direi che ci arrivano solo quelli che hanno gia la soluzione... e non mi pare tu l'abbia nemmeno accennato... anzi leggendo pare tu volessi realizzarlo nella form...
    Se avevi pensato ad altro... non far fatica perché non funziona... questo è l'unico modo.
  • Re: Pulsante visibile mediante una condizione

    Rieccomi,
    Ad osservare bene la maschera postata la questione della visibilità o meno dell'esistenza di una commessa è già stata risolta, infatti se si osserva la colonna commessa i record che posseggono una commessa sono valorizzati gli altri no.
    Quindi io mostrerei il controllo txtcommessa (sottolineato) magari mostrando la "manina" al passaggio del mouse e su clic del medesimo controllo
    If (len(txtcommessa)>0 then
      Apri maschera o cos'altro
    else
    exit sub
    end if
    Oppure:
    If txtcommessa="" then
      exit sub
    else
    Apri maschera o cos'altro
    end if
    O no?
  • Re: Pulsante visibile mediante una condizione

    Hai compreso quello che ti ho esposto...? La query...!!!
    Era il FULCRO, omesso, del suggerimento..., chiarito quello poi vedrà lui se questa opzione lo soddisfa.

    I Campi dati NON VISIBILI nella maschera continua, sono così perchè la Query li restituisce così, saranno NULL o NullString...!!!!!

    Personalmente opto per scelte diverse anche graficamente utili.
    Spesso utilizzo, come spiegato sopra, una Calcolata nella Query, ed utilizzo un Carattere specifico non una scritta, ma un solo CHAR ricavato dal Font Grafico come Webdings o simili per mostrare un simbolino nella TextBox, magari a forma di pallocchio, e con la F.C. ne gestisco il colore.

    Esempio, apri la Mappa Caratteri di Windows, seleziona il Font Webdings, al codice 6E, equivalente ad un bel Pallocchio che corrisponde a: [n].
    Quindi se nella Calcolata della Query metti:
    
    SELECT *, (IIF(Condizione;"n";"") As Test 
    FROM T1
    Poi nella maschera continua aggiungi un Controllo associato al Campo Test della Query ed imponi il FONT(Webdings colore Verde)... otterrai nella maschera continua che i Records che soddisfano la condizione della Query hanno il Pallocchio Verde.

    Ovviamente può essere PREMUTO per avere eventi... e quì si applica quanto giustamente proponevi.
  • Re: Pulsante visibile mediante una condizione

    Scusa Alex ma non era nelle mie intenzioni contraddirti ne ho mai detto che il mio metodo è alternativo o unico nel genere.
    Diciamo che io sono partito dalla domanda, dando per fatto e scontato che i dati ci sarebbero stati.
    La maschera in alto riporta "Riepilogo Offerte Fornitore" il riepilogo mi fa pensare a una query, per non parlare della presenza alternata
    delle colonne Offerte Commessa.
    L'estetica è una questione di gusti, perciò personale.
    Saluti
  • Re: Pulsante visibile mediante una condizione

    Una variante al riguardo, è quella di impiegare una casella di testo che simuli il pulsante di comando (gestita attraverso la formattazione condizionale) come descritto nelle seguenti discussioni:
    https://stackoverflow.com/questions/23941335/conditionally-disable-buttons-on-continuous-forms-in-access
    https://access-programmers.co.uk/forums/showthread.php?t=103659
    https://access-programmers.co.uk/forums/showthread.php?t=142146
    https://access-programmers.co.uk/forums/showthread.php?t=100412
    http://www.tek-tips.com/viewthread.cfm?qid=129987

    Nel caso si voglia osservare un esempio pratico, al riguardo, si può scaricare il demo fornito da Lebans:
    http://lebans.com/conditionalformatting.ht
  • Re: Pulsante visibile mediante una condizione

    Gianni55 ha scritto:


    Scusa Alex ma non era nelle mie intenzioni contraddirti ne ho mai detto che il mio metodo è alternativo o unico nel genere.
    Diciamo che io sono partito dalla domanda, dando per fatto e scontato che i dati ci sarebbero stati.
    La maschera in alto riporta "Riepilogo Offerte Fornitore" il riepilogo mi fa pensare a una query, per non parlare della presenza alternata
    delle colonne Offerte Commessa.
    L'estetica è una questione di gusti, perciò personale.
    Saluti
    Ma io non parlo di estetica... ho semplicemente detto che la prima cosa che dovevi proporre al fine di far comprendere il tuo suggerimento era quella di specificare che la funzione IIF andava nella query perche se rileggi il tuo post è impossibile capirlo e vista appunto la domanda fatta credo proprio non lo avrebbe compreso...
    Tutto qui.
  • Re: Pulsante visibile mediante una condizione

    Salve,
    ritorno solo ora sull'argomento perchè internet mi ha piantato, manco vivessi nel deserto del Sahara.

    Premetto di non voler polemizzare con nessuno men che meno con Alex, ma vorrei rendere più chiaro
    il mio modo di vedere la questione che, evidentemente è risultato poco chiaro.

    Per quanto attiene il rilievo mosso da Alex faccio notare che la query in questione era stata già
    realizzata tant'è che le "commesse" sono visibili solo nei record che possiedono una commessa.
    Ma...bando alle polemiche.
    Quello che volevo sottolineare io, che certamente non ho saputo spiegare a dovere, era l'opportunità
    di avere un testo al posto di un pulsante sterile che non regala niente nè alla visione nè all'informazione.

    Ad onore del vero io, per il caso in questione, non userei nemmeno il testo "Apri Commessa" posto a margine della commessa
    bensì renderei sottolineato il testo della commessa stessa per capirci "C_0020-2018" e su clic della stessa
    aprirei la commessa, stessa cosa farei per l'offerta.

    Questo da un lato, estetico, eliminerebbe quell'obbrobrio di pulsanti in fila, dall'altro lato, intuitivo/funzionale,
    farebbe cliccare l'utente sulla "commessa 20 del 2018" senza costringerlo a prendere la mira su una pila di pulsanti, identici e contigui.

    Per questo allego una maschera dove ho utilizzato delle TxtBox "attivate/disattivate" "visibili/nonvisibili"(non visibili perchè
    il testo ha lunghezza Zero).

    Nel mio caso le condizioni non sono stabilite da una query bensi dall' "idAtto" (una cinquantina di casi)con le txtbox valorizzate dal valore
    residente in tabella.
    https://www.dropbox.com/s/ykjnovp6cq975ru/Screenshot.png?dl=0 (ingrandire al 100% la maschera)

    Spero d'essere stato più chiaro e di essermi reso utile su un problema ricorrente sul forum.

    Questo non toglie nulla alla soluzione prospettata da Alex che anch'io ho utilizzato in alcuni casi (es. per segnalare la presenza o meno
    di un dato).

    Saluti
Devi accedere o registrarti per scrivere nel forum
11 risposte