rendere invisibile un valore =0

Anonimo
2014-07-07T10:06:33+00:00

Sono uno di quegli utenti che ha incominciato ad utilizzare access da autodidatta e che periodicamente vi torna privo delle abilità acquisite e che vorrebbe pure realizzare dei miglioramenti al proprio database.

Ho un curriculum realizzato con il primo access e desidererei che le numerose opere prive di importo, perché di natura privata, non fossero pari a 0, ma invisibili. La mia idea era quella di rendere invisibile il campo con una forma condizionale nel report, ovvero IIf([importo opera]<>0;[importo opera];"1"). "1" è stato inserito per testare la funzionalità dell'operazione, ma purtroppo mi restituisce un errore, la volontà di rendere invisibile l'etichetta non l'ho ancora provato, ma desidererei mi suggeriste una soluzione per farlo.

Ho anche provato a mettere la stessa condizione nella query di provenienza, ma il valore è già assoggettato a una condizione e "oppure" non è adatto.

Rimango in attesa, grazie in anticipo

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

11 risposte

Ordina per: Più utili
  1. Anonimo
    2014-07-07T13:39:26+00:00

    Ho anche provato a mettere la stessa condizione nella query di provenienza, ma il valore è già assoggettato a una condizione e "oppure" non è adatto.

    Rimango in attesa, grazie in anticipo

    Ciao Roberto,

    a mio avviso potresti fare in 2 modi:

    • perseguendo la strada dell'espressione IIF che hai evidenziato, inserendola però in un nuovo campo nella tua query:

    SpiaValore: IIf([importo opera]<>0;1;0)

    filtrando questo campo per valori 1 escluderai automaticamente quelli ad importo 0.

    • utilizzando il criterio "<>0" nel campo [importo opera] in AND con l'altro criterio già presente. In sostanza, al netto di eventuali altri criteri, la clausola where della tua query diventerebbe

    ... WHERE ([Importo Opera] <> 0 AND [Importo Opera] .....)

    David

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2014-07-16T11:55:22+00:00
    • siccome intendo acquistare un abbonamento Office 365, Access è diventato più amichevole? ad esempio accetta condizioni come quella che avevo costruito io o perché si tratta di un problema strutturale i campi non possono essere visibili o no secondo un semplice comando IIF?
    • Access lo uso per la fatturazione e il curriculum, entrambi i db li ho creati personalmente quando potevo occuparmene ed ero rimasto affascinato dalla struttura, però oggi le modifiche sono complicate vista la complessità del programma e la saltuarietà con cui mi occupo dei file, quindi la domanda è se esistono dei facilitatori che mi permettono di riprendere la struttura e se alcuni vizi della mia versione come i salti pagine che mi fanno impazzire sono stati migliorati.

    Ciao Roberto,

    per applicare la formattazione condizionale puoi aprire il report in modalità struttura.

    Per rispondere invece alle tue due domande: personalmente ritengo Access un programma "non amichevole", se per amichevole intendi un qualcosa che sia completamente autoguidato. Lo diventa (e per molti di noi lo è) se impari a dargli i giusti comandi. Quindi, se pensi di volerlo utilizzare, hai la necessità di capirlo, magari iniziando da un libro "for dummies" che spiega come fare partendo dai concetti base.

    Se ritieni l'impegno eccessivo per l'uso che ne devi fare potresti utilizzare l'accoppiata Word-Excel in stampa unione, utilizzando Excel come base dati e Word per la creazione dei documenti

    David

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2014-07-16T10:23:31+00:00

    Scusa se ho atteso tanto, ma ho avuto impegni e non ho potuto occuparmene.

    L'ipotesi è la b) , ho cercato nella guida come effettuare la formattazione condizionale, ma purtroppo il report a cui voglio applicare la condizione non si apre in layout generando il messaggio "Visualizzazione Layout non disponibile per questo/a Report." (questo/a (?)) e non spiega il perché; immagino perché nel report sono inseriti alcuni sottoreport. Comunque non riesco ad attuare questa modifica.

    Non conosco il VBA anche se leggendo i comandi ne comprendo il significato, ma non capisco dove devo inserire le righe di comando anche perché nell'elenco dei form e dei report non esiste il report a cui vorrei applicare il comando.

    A questo punto ho due domande da farti:

    • siccome intendo acquistare un abbonamento Office 365, Access è diventato più amichevole? ad esempio accetta condizioni come quella che avevo costruito io o perché si tratta di un problema strutturale i campi non possono essere visibili o no secondo un semplice comando IIF?
    • Access lo uso per la fatturazione e il curriculum, entrambi i db li ho creati personalmente quando potevo occuparmene ed ero rimasto affascinato dalla struttura, però oggi le modifiche sono complicate vista la complessità del programma e la saltuarietà con cui mi occupo dei file, quindi la domanda è se esistono dei facilitatori che mi permettono di riprendere la struttura e se alcuni vizi della mia versione come i salti pagine che mi fanno impazzire sono stati migliorati.

    Grazie,

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2014-07-08T07:33:56+00:00

    Ciao Roberto,

    attento a non fare confusione tra le proprietà dei controlli inseriti nel report o nelle maschere con le espressioni all'interno delle query. 

    L'espressione

    =IIf([importo opera]<>0;[importo opera];[importo opera].[Visible].[no])

    non potrà mai funzionare in quanto Visible è appunto una proprietà e non può essere impostata attraverso l'epressione in una query.

    Ora quello che occorre capire bene è il punto in cui dici di voler eliminare il campo quando [importo opera] = 0

    Non avendo a disposizione il tuo db non capisco esattamente cosa intendi e quindi provo con 2 ipotesi:

    a) il tuo report ha come origine dati il risultato della query mostrando un elenco di lavori svolti. In questo caso, mettendo il criterio <>0 nella query hai automaticamente l'effetto di escludere dal tuo report tutti i record che hanno valore 0 in quel campo. Ovviamente escludendo l'intero record non vedi neanche l'attività svolta

    b) tu vuoi fa vedere comunque il lavoro ma vuoi nascondere il campo [importo opera] se il suo valore è uguale a 0. In questo secondo caso ti basta utilizzare la formattazione condizionale sul campo valore imponendo una colorazione bianca (?) al carattere di quel campo quando il suo valore è = 0

    Esiste inoltre un'ulteriore possibilità che coinvolge però VBA e l'evento su formattazione del corpo del report. In sostanza testando il valore di [Importo Opera] durante la formattazione del corpo del report, puoi impostare la proprietà Visibile del controllo.


    Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)

        If Me![Importo Opera].Value = 0 Then

            Me![Importo Opera].Visible = False

        Else

            Me![Importo Opera].Visible = True

        End If

    End Sub


    David

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Anonimo
    2014-07-07T16:27:30+00:00

    0 e 1 li ho inseriti per verificare il funzionamento dell'espressione, ma desidererei che il campo scomparisse nel report nell'ipotesi che il valore fosse =0, questo è il mio intento. Se il valore lo inserisco nella query mi selezione i valori, ma non mi permette di eliminare il campo. O sbaglio?

    La mia strategia era di immettere nella casella di testo nel campo di proprietà "dati" la seguente espressione: =IIf([importo opera]<>0;[importo opera];[importo opera].[Visible].[no]), purtroppo mi restituisce un valore #Nome? per tutti i valori non solo per quelli =0. Se inserisco =IIf([importo opera]<>0;[importo opera];[importo opera].[Visible]), mi restituisce #Errore

    Sbaglio sicuramente, ma non comprendo dove, Un indizio?

    Grazie.

    La risposta è stata utile?

    0 commenti Nessun commento