Problema su Cancel = True Gruppo Report

di il
6 risposte

Problema su Cancel = True Gruppo Report

Ciao A tutti,

ho un report che contiene 4 gruppi.

Nella proprietà SU FORMATTAZIONE di ogni gruppo, ho inserito un codice che verifica se una casella é spuntata per aprire o meno il gruppo in stampa.

Su 3 gruppi funziona Bene, sul quarto non riesco a capire perché il gruppo viene sempre aperto in stampa, ho provato anche ad inserire una msgbox per essere sicuro che il ciclo IF funzioni, ed effettivamente questo funziona, ma il gruppo viene visualizzato ugualmente, avete qualche idea?

Questo é il codice nella proprietà Su FORMATTAZIONE del gruppo

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

If Forms!NewC!optCA = False Then
Cancel = True

msgbox("OK")
End If

End Sub

6 Risposte

  • Re: Problema su Cancel = True Gruppo Report

    Fai un debug.print del valore letto che condiziona il cancel…

    Ora mi chiedo perché visualizzare il gruppo ed eseguire il Format ogni iterazione per nulla dal momrnto che quel valore già all'apertura del report vale X e non cambia…?

  • Re: Problema su Cancel = True Gruppo Report

    Credo di aver capito cosa intendi, ora ho messo nell'evento di apertura report queste 2 righe, ma il risultato no n cambia, cioé il gruppo é sempre visibile

    
    
    If Forms!NewC!optCA = False Then
    GruppoBenef.visible = False
    End IF

    -UPDATE, se metto i miei elementi nel corpo del gruppo, questi risultano sempre visibili.

    Se invece li metto nella sezione intestaziona pagina, il mio codice funziona.

  • Re: Problema su Cancel = True Gruppo Report

    Suggerimento generale, non collegato alla richiesta specifica. Quando un valore booleano è condizionato al verificarsi di una condizione, applicare direttamente il risultato della verifica. Tradotto in codice:

    GruppoBenef.Visible = Not (Forms!NewC!optCA = False)

    Quindi se il risultato dentro la parentesi è Vero, il Not lo cambia in False e quindi la proprietà Visible di GruppoBenef diventa False, senza bisogno di If.

  • Re: Problema su Cancel = True Gruppo Report

    Ma quanto siete complicati… negare un confronto quando il valore è già quello atteso…!?!?!?!

    GruppoBenef.Visible = Forms!NewC!optCA

    Saluti

  • Re: Problema su Cancel = True Gruppo Report

    Effettivamente questo é sintetizzato al massimo

    18/10/2024 - @Alex ha scritto:


    Ma quanto siete complicati… negare un confronto quando il valore è già quello atteso…!?!?!?!

    GruppoBenef.Visible = Forms!NewC!optCA

    Saluti

    Avete un'idea del perché se metto i miei elementi nel corpo del sottoreport che si trova nel gruppo, qil gruppo viene visualizzato anche  .visible é su False

    mentre Se invece li metto nella sezione intestazione del sottoreport che si trova nel gruppo, il mio codice funziona?

  • Re: Problema su Cancel = True Gruppo Report

    18/10/2024 - @Alex ha scritto:

    Ma quanto siete complicati

    18/10/2024 - Philcattivocarattere ha scritto:

    Suggerimento generale, non collegato alla richiesta specifica. Quando un valore booleano è condizionato al verificarsi di una condizione, applicare direttamente il risultato della verifica

    Poi per il caso concreto mi sono impegnato a renderlo confuso. Ma il principio è quello che conta.

Devi accedere o registrarti per scrivere nel forum
6 risposte