+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: [Access 2007] Report e formule

  1. #1
    L'avatar di zdelete
    zdelete non è in linea Novello
    Post
    13

    [Access 2007] Report e formule

    Salve a tutti, avrei un problema con una parte di report... vengo subito al sodo: ho un report al cui interno c'è una sottomaschera con dei campi... ora, a me interesserebbe fare in modo che, a seconda del valore di un campo (es. nomecampo1 che potrebbe avere come valore da A01 a D05) mi cambiasse anche il valore di un altro campo (composto questo da una formula che, al momento, fa riferimento al nomecampo1 ma come se avesse sempre lo stesso valore, es. A01).
    Spero di essere stato abbastanza chiaro, in caso contrario chiedete maggiori dettagli...
    PS: complimenti sinceri per il sito
    PS2: naturalmente ho cercato prima di postare ma non ho trovato nulla. Se per caso mi fosse sfuggita una discussione già aperta mi scuso in anticipo...

    Grazie.

  2. #2
    L'avatar di seamission
    seamission non è in linea Scribacchino
    Luogo
    Gela
    Post
    1,347
    Quote Originariamente inviato da zdelete Visualizza il messaggio
    Salve a tutti, avrei un problema con una parte di report... vengo subito al sodo: ho un report al cui interno c'è una sottomaschera con dei campi... ora, a me interesserebbe fare in modo che, a seconda del valore di un campo (es. nomecampo1 che potrebbe avere come valore da A01 a D05) mi cambiasse anche il valore di un altro campo (composto questo da una formula che, al momento, fa riferimento al nomecampo1 ma come se avesse sempre lo stesso valore, es. A01).
    Spero di essere stato abbastanza chiaro, in caso contrario chiedete maggiori dettagli...
    PS: complimenti sinceri per il sito
    PS2: naturalmente ho cercato prima di postare ma non ho trovato nulla. Se per caso mi fosse sfuggita una discussione già aperta mi scuso in anticipo...

    Grazie.
    Se ho capito bene quello che chiedi si può ottenere con del codice inserito su formattazione del report ti allego un esempio di come io
    sostituisco delle scritte su un'etichetta, da adattare al tuo caso.
    codice:
    Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
    If Left$(Me![Partita IVA] & vbNullString, 2) = "IT" Then
    Me.Etichetta169.Caption = "Operazioni non imponibile IVA ai sensi dell'art 9 del D.P.R. n° 633/72"
    Else
    Me.Etichetta169.Caption = "Operazioni non soggetta ad IVA ai sensi dell'art 7-Ter del D.P.R. n° 633/72"
    End If
    End Sub
    Comunque se riesequi la ricerca c'è qualcosa in merito alla farmattazione condizionale.
    Giovanni

  3. #3
    L'avatar di zdelete
    zdelete non è in linea Novello
    Post
    13
    grazie per la risposta. cercherò meglio. Intanto ho provato la tua soluzione ma mi dà errore (impossibile trovare il metodo o il membro dei dati) ed evidenzia proprio la casella di testo che mi dovrebbe cambiare al verificarsi della condizione.
    per meglio capirci ti posto il codice così come l'ho adattato
    codice:
    Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
    If Left$(Me![Ctg_2004] & vbNullString, 2) = "D01" Then
    Me.Testo25.Caption = "Operazioni"
    Else
    Me.Testo25.Caption = "Operazioni non soggetta"
    End If
    End Sub
    naturalmente l'ho fatto così per fare subito per vedere se funziona... poi aggiusto tutto dopo il then...

  4. #4
    L'avatar di seamission
    seamission non è in linea Scribacchino
    Luogo
    Gela
    Post
    1,347
    Quote Originariamente inviato da zdelete Visualizza il messaggio
    grazie per la risposta. cercherò meglio. Intanto ho provato la tua soluzione ma mi dà errore (impossibile trovare il metodo o il membro dei dati) ed evidenzia proprio la casella di testo che mi dovrebbe cambiare al verificarsi della condizione.
    per meglio capirci ti posto il codice così come l'ho adattato
    codice:
    Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
    If Left$(Me![Ctg_2004] & vbNullString, 2) = "D01" Then
    Me.Testo25.Caption = "Operazioni"
    Else
    Me.Testo25.Caption = "Operazioni non soggetta"
    End If
    End Sub
    naturalmente l'ho fatto così per fare subito per vedere se funziona... poi aggiusto tutto dopo il then...
    Questa va bene per le etichette non per i controlli
    Me.Testo25.Caption

    Prova con me!Tuo_nome_controllo.Value
    Poi io uso la funzione left per testare le prime due posizioni della stringa.
    tu potresti scrivere:
    If Me![Ctg_2004] = "D01" Then
    Giovanni

  5. #5
    L'avatar di zdelete
    zdelete non è in linea Novello
    Post
    13
    Provato ma mi dà errore:
    Errore di runtime '2465' - Impossibile trovare il campo a cui si fa riferimento nell'espressione.

    e se invece scrivo così
    codice:
    Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
    If Me.Ctg_2004 = "D01" Then
    Me!Testo25.Value = "Operazioni"
    Else
    Me!Testo25.Value = "Operazioni non soggetta"
    End If
    End Sub
    mi da ugualmente errore...

  6. #6
    L'avatar di seamission
    seamission non è in linea Scribacchino
    Luogo
    Gela
    Post
    1,347
    Quote Originariamente inviato da zdelete Visualizza il messaggio
    Provato ma mi dà errore:
    Errore di runtime '2465' - Impossibile trovare il campo a cui si fa riferimento nell'espressione.

    e se invece scrivo così
    codice:
    Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
    If Me.Ctg_2004 = "D01" Then
    Me!Testo25.Value = "Operazioni"
    Else
    Me!Testo25.Value = "Operazioni non soggetta"
    End If
    End Sub
    mi da ugualmente errore...
    Come segnalato dall'errore non c'è il controllo a cui si fa riferimento,
    magari perchè è stato scritto in modo errato oppure si trova nel sotto report, in questo caso devi scrivere il riferimento completo con il nome del report e sottoreport.
    codice:
    Report!Nome_Report!Nome_Sotto_Report!Nome_Controllo.Value
    Penso ti segnala pure quale è il controllo che non trova
    Per la sintassi corretta scorri l'help.
    Giovanni

  7. #7
    L'avatar di zdelete
    zdelete non è in linea Novello
    Post
    13
    Ho cercato in giro il problema ed ho fatto alcune prove... ora sono arrivato a questo punto
    codice:
    Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
    If Me![Istanza fabbricati 2004]![Ctg_2004] = "D01" Then
    Me![Istanza fabbricati 2004]![Testo25] = "Operazioni"
    Else
    Me![Istanza fabbricati 2004]![Testo25] = "Opera"
    End If
    End Sub
    ed i controlli li trova, solo mi da errore 2448: Impossibile assegnare un valore all'oggetto... forse siamo sulla buona strada! Ho cercato su internet ma senza risolvere (almeno non ancora)...
    Comunque, per completezza, il report si chiama "Istanza fabbricati 2004" al cui interno c'è una maschera che ha lo stesso nome (per distinguere le altre maschere che si differenziano solo per l'annualità).

    Grazie ancora per la pazienza e la disponibilità

  8. #8
    L'avatar di zdelete
    zdelete non è in linea Novello
    Post
    13
    Dunque... ho capito che per eliminare questo errore (2448) devo eliminare l'origine del controllo ed in effetti così non solo non mi da errore ma mi esegue anche una parte della condizione! dico una parte perchè, al verificarsi della prima condizione mi esegue la seconda!

    codice:
    Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
    If Me![Istanza fabbricati 2004]![Ctg_2004] = D01 Then
    Me![Istanza fabbricati 2004]![Testo25] = "Operazioni"
    Else
    Me![Istanza fabbricati 2004]![Testo25] = "Opera"
    End If
    End Sub
    mi scrive sempre Opera...

  9. #9
    L'avatar di seamission
    seamission non è in linea Scribacchino
    Luogo
    Gela
    Post
    1,347
    Quote Originariamente inviato da zdelete Visualizza il messaggio
    Dunque... ho capito che per eliminare questo errore (2448) devo eliminare l'origine del controllo ed in effetti così non solo non mi da errore ma mi esegue anche una parte della condizione! dico una parte perchè, al verificarsi della prima condizione mi esegue la seconda!

    codice:
    Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
    If Me![Istanza fabbricati 2004]![Ctg_2004] = D01 Then
    Me![Istanza fabbricati 2004]![Testo25] = "Operazioni"
    Else
    Me![Istanza fabbricati 2004]![Testo25] = "Opera"
    End If
    End Sub
    mi scrive sempre Opera...
    Puoi Allegare un demo del db con pochi dati?
    Giovanni

  10. #10
    L'avatar di zdelete
    zdelete non è in linea Novello
    Post
    13
    Allegarlo, anche in minima parte, purtroppo no perchè ci sono dati sensibili (e poi anche perchè, se non erro, non ho i permessi per inserire allegati...). Però, se per te va bene, posso isolare una parte di db e mandartelo via pm...

+ Rispondi al Thread
Pagina 1 di 2 12 ultimoultimo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi