Errore "#Nome?"

di il
18 risposte

Errore "#Nome?"

Buongiorno a tutti. Non riesco andare avanti nella progettazione di un Report come sotto descritto:

Nel “Corpo” della struttura del mio Report ho posizionato un SottoReport di nome “Figlio208” che, a sua volta, contiene una casella di testo dal nome “Tot_Ricavi_Anno”.

A questo punto ho inserito nel Corpo di cui sopra una casella di testo che, con il Generatore di Espressioni, dovrebbe riportarmi il valore inerente la casella di testo del sottoreport di cui sopra “Tot_Ricavi_Anno” (il Generatore di Espressioni mi da' nell'"Origine Controllo":=[Figlio208].[Report]![Tot_Ricavi_Anno]).

Purtroppo quando apro il Report mi compare “#Nome?”.

Potreste aiutarmi?

Grazie

18 Risposte

  • Re: Errore "#Nome?"

    Ogni volta che vedo scritto “#Nome” e leggo la parola “report” mi vengono i brividi, perché per me è ancora una cosa “in sospeso”, mai risolta.

    Leggi questo: https://www.iprogrammatori.it/forum-programmazione/access/somma-sottoreport-report-t26211.html

    I file ovviamente non sono più scaricabili ma li ho ancora.

    Ad oggi conosco sempre e solo quella soluzione: via VBA nell'evento Format del corpo del report principale.

    (mi riservo però di dare una rinfrescata alla questione, magari hanno risolto, oppure giro la domanda ai “pezzi grossi” di Access, quelli che hanno contatti diretti con Microsoft, come mi sono sempre riproposto di fare e mai fatto in questi anni).

  • Re: Errore "#Nome?"

    Gentilissimo nella veloce risposta Philcattivocarattere!

    Aggiungo un aspetto davvero strano: 

    Il DB che sto utilizzando è identico (fatto copia) ad un altro creato tempo fa.

    Nel report del DB su cui sto lavorando (copiato) volevo modificare una formula di una casella di testo che nell' “Origine Controllo” aveva: =Figlio208.Report!Tot_Ricavi_Anno-Figlio206.Report!Tot_Costi_Anno+Figlio235.Report!ymag. Tale casella nel DB vecchio funzionava perfettamente! La volevo semplicemente da modificare in 

    =Figlio208.Report!Tot_Ricavi_Anno-Figlio206.Report!Tot_Costi_Anno (ho eliminato l'ultimo pezzo).

    Bene facendo solo questa operazione la casella di testo mi restituisce #Nome?

    Ma com'è possibile? Sto impazzendo!

    Grazie di nuovo

  • Re: Errore "#Nome?"

    12/07/2023 - CoC62 ha scritto:


    A questo punto ho inserito nel Corpo di cui sopra una casella di testo

    Ciao,

    Il corpo del report che orine dati ha ?

  • Re: Errore "#Nome?"

    Ciao By65Franco.

    L'origine dati del report è una query ove sono presenti due info ("data" e “prestazioni”), che mi occorrono per fare due raggruppamenti nel Report in questione. Inoltre nelle altre caratteristiche c'è un filtro ([ydata]=[Forms]![Masch_Rep_Anno_Prestazioni]![Selezionaogg]) ove viene inserito l'anno da una Casella Combitata a discesa.

    Tuttavia, ripeto, l'aspetto “inquietante” è che da una copia effettuata da un DB fatto in precedenza, nel primo DB (vecchio) tale casella di testo funziona mentre in questo DB (copiato) NON funziona (sull'Origine controllo della casella di testo mi vengono messe IN AUTOMATICO le parentesi quadre sull'espressione inserita).

    Grazie per qualsiasi info! Purtroppo se non sblocco tale situazione non posso andare avanti con la programmazione di questo DB

  • Re: Errore "#Nome?"

    12/07/2023 - CoC62 ha scritto:

    Bene facendo solo questa operazione la casella di testo mi restituisce #Nome?

    Ma com'è possibile? Sto impazzendo!

    12/07/2023 - CoC62 ha scritto:

    Purtroppo se non sblocco tale situazione non posso andare avanti con la programmazione di questo DB

    Il vecchio file funzionante con quale versione di Access era stato creato, te lo ricordi?

    Tutto normale nella sua anormalità, nel senso che così si comportava nel 2015 e così si comporta adesso con Access 365: sono andato a ripescare i file creati a suo tempo e mettendoci le mani si trova sempre #Nome.

    Ripeto quanto detto prima: l'unica strada che conosco è valorizzare il controllo nell'evento Format del corpo del report, quindi passando da VBA.

  • Re: Errore "#Nome?"

    12/07/2023 - Philcattivocarattere ha scritto:


    Tutto normale nella sua anormalità, nel senso che così si comportava nel 2015 e così si comporta adesso con Access 365: sono andato a ripescare i file creati a suo tempo e mettendoci le mani si trova sempre #Nome.

    Ma non sarà che …. 
    nel corpo essendoci già una origine dati, la nuova TextBox che si va a creare risulta non associata a quella Origine e access non sa come trattarla restituendo #none

    Proverei a mettere in origine record della TextBox il sottoreport, in questo modo access non dovrebbe fare più confusione.

  • Re: Errore "#Nome?"

    12/07/2023 - By65Franco ha scritto:


    nel corpo essendoci già una origine dati, la nuova TextBox che si va a creare risulta non associata a quella Origine e access non sa come trattarla restituendo #none

    Proverei a mettere in origine record della TextBox il sottoreport, in questo modo access non dovrebbe fare più confusione.

    Prova a ricreare quanto ho illustrato nel link al thread del 2015: sono bastate due tabelle prese dal database Northwind, solo per pigrizia, e creati alcuni report. Se risolvi l'arcano mi togli dalla testa un tarlo che ci si è insediato appunto 8 anni fa. Il top sarebbe farlo con una versione di Access 2003 o predente e confrontare poi il comportamento con una versione almeno 2013 o successiva (visto che mi trovo nella stessa situazione con Access 365 immagino che anche con la 2016, 2019 e 2021 si comporti nello stesso modo)

    Anzi, facciamo così: ripubblico i file creati a suo tempo, per i dettagli su cosa fare guardare il vecchio thread.

    http://www.fileconvoy.com/dfl.php?id=gee9095e34a881f311000502612721eaf148fa16a55

    Per scrupolo metto anche l'hash sha256, in modo da essere sicuri che il sito non abbia modificato i file che ho caricato io.

    SommaSubReport2000.mdb = 11d7b822fd0e961b92ce5711f8e0107fc1cceaeca1150fe131b3a0a5be793768
    SommaSubReport2013.accdb = be5ea10e69387e6d74673a30a47e6661a0349c81046e62d23070f28519da51a9

    (saranno scaricabili per i prossimi 21 giorni)

  • Re: Errore "#Nome?"

    12/07/2023 - Philcattivocarattere ha scritto:


    Prova a ricreare quanto ho illustrato nel link al thread del 2015: sono bastate due tabelle prese dal database Northwind, solo per pigrizia, e creati alcuni report. Se risolvi l'arcano mi togli dalla testa un tarlo che ci si è insediato appunto 8 anni fa. Il top sarebbe farlo con una versione di Access 2003 o predente e confrontare poi il comportamento con una versione almeno 2013 o successiva (visto che mi trovo nella stessa situazione con Access 365 immagino che anche con la 2016, 2019 e 2021 si comporti nello stesso modo)

    io ho vr 2013 e funziona così come eravamo sempre abituati a fare. Sia per le Form che per i Report

    Mi sorge solo il dubbio…. se è bug, possibile che con i successivi rilasci non l'hanno mai risolto ?

    Comunque seguo il Thread, e vediamo se c'è qualche volenteroso che ci illumini  ;-))

  • Re: Errore "#Nome?"

    12/07/2023 - By65Franco ha scritto:

    io ho vr 2013 e funziona così come eravamo sempre abituati a fare. Sia per le Form che per i Report

    Scusa se aggiungo un intervento: ho editato il messaggio precedente con il link per il download dei file creati nel 2015.

  • Re: Errore "#Nome?"

    Philcattivocarattere seguendo le tue indicazioni ho (quasi) risolto. A suo tempo (2015) avevi scritto: “dove nn arriva l'origine del controllo arriva il codice”. Avevi perfettamente ragione! Infatti inserendo il seguente codice nell'Evento (formattazione) del Corpo del Report, mi viene restituito il valore e NON piu' il temibile #Nome?:

    Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
    If Me!Figlio208.Report.HasData Then
    Me!Testo269.Value = Me!Figlio208.Report!Tot_Ricavi_Anno.Value
    Else
    Me!Testo269.Value = 0
    End If
    End Sub

    Un ultimo aiuto. 

    Con il codice suddetto inserito ho avuto come risposta solo un valore (cioè il dato inerente la casella di testo “Tot_Ricavi_Anno” del sottoreport “Figlio208”). Ma a me interessa la differenza tra questo valore ottenuto ed un altro valore presente in un altro sottoreport (Figlio206) nella casella di testo (Tot_Costi_Anno). Visto che sono abbastanza all'asciutto di VBA potresti indicarmi il codice da inserire per avere tale differenza?Ti rigrazio davvero tantissimo per il tuo supporto!!!!! 

  • Re: Errore "#Nome?"

    13/07/2023 - CoC62 ha scritto:


    Visto che sono abbastanza all'asciutto di VBA potresti indicarmi il codice da inserire per avere tale differenza?

    Devi cambiare questa riga

    Me!Testo269.Value = Me!Figlio208.Report!Tot_Ricavi_Anno.Value

    mettendo dopo l'uguale, cioè la parte che assegna il valore a Testo269, la formula completa, come interessa a te.

  • Re: Errore "#Nome?"

    Applicala la matematica delle 4 operazioni di base ;-)    (scherzoooo)

    in questo caso usa l'operatore "Meno"

    Me!Testo269.Value = Me!Figlio208.Report!Tot_Ricavi_Anno.Value - Me!Figlio206.Report!Tot_Costi_Anno.Value

    (controlla la sintassi dei nomi se li ho scritti bene)

    ;-)

  • Re: Errore "#Nome?"

    Funziona. Ho risolto il problema!!! Grazie ancora, Phil!

  • Re: Errore "#Nome?"

    Ciao BY65Franco,

    mi sono dovuto riprendere un libro di terza elementare ;-)))))))))!

    A parte le battute ringrazio ancora tutti voi per la celerità e chiarezza delle risposte.

    Ho creato un DB Access solo con le macro (molto articolato e senza VBA) davvero funzionante!!! Mi sto facendo i comolimenti da solo…

    Tuttavia senza il vostro supporto (soprattutto Phil) ero bloccato da tempo!!!

    Ciao!!

Devi accedere o registrarti per scrivere nel forum
18 risposte