Campo su report da casella di testo su maschera

di il
13 risposte

Campo su report da casella di testo su maschera

Ciao a tutti,
sono secoli che non scrivo qui…
tanti anni fa ho fatto un database che in soldoni gestische degli allievi di una scuola “particolare” e tra le altre cose permette di stampare i verbali degli esami.

Devo dire che dopo tanti anni lontano da access, vba e sql, non ricordo molte cose…
mi hanno chiesto di rendere “editabile” un campo sul report allora avevo pensato di inserire una casella di testo su una maschera dove scrivere il testo da visulizzare sul report e associare dopo quel valore al report.

Le mie difficoltà sono due:
1-ho inserito una casella di testo su una maschera (casella di testo non associata a nessuna tabella) ma dopo aver chiuso e riaperto la maschera la casella di testo torna vuota;

2-il secondo problema è quello di visualizzare sul report una frase + il contenuto di quella casella di testo: avevo pensato questa sintassi ma nom so se è corretta: “testo da scrivere” + [nome mascera].[nome casella di testo] .

Chi mi aiuta?

Grazie.

13 Risposte

  • Re: Campo su report da casella di testo su maschera

    Ho fatto delle ricerche e mi pare di capire che se la maschera è continuia si possono usare dei trik… uno di questi è settare il “valore di defalut” della textbox con il testo appena inserito tramite del codice impostato nell'evento “after update”.

    Online ho trovato questo codice ma la proprietà chkcopy non esiste sulla casella di testo… come lo potrei adattare al mio scopo?

    Private Sub txtCaUff_AfterUpdate()
        If Me.chkCopy Then
            Me![txtCaUff].DefaultValue = """" & Me![txtCaUff].Value & """"
        End If
    End Sub
  • Re: Campo su report da casella di testo su maschera

    Non capisco cosa chiedi.

    Il progetto lo hai fatto tu?

    Vuoi che il risultato del report non venga modificato da nessuno ad eccezione delle note ma soltanto da chi ha il permesso di inserirle?

    Le note non devono essere modificabili?

    Spiega meglio, perché ti basta una tabella collegata al report con la sola nota da inserire. Se vuota non stampa nulla altrimenti mostra la nota.

    Chi genera il report non accede alle note chi lo apre può solo aggiungere le note.

  • Re: Campo su report da casella di testo su maschera

    Ciao e grazie per la tua risposta.

    Cerco di spiegarmi meglio:
    vorrei creare una maschera con una casella di testo non associata a nessun campo di nessuna tabella dove l'utente scrive qualcosa e quel testo venga visualizzato su un report che esiste già.

    Il mio problema è che se scrivo qualcosa su una casella di testo, appena chiudo la maschera e la riapro, il testo inserito sparisce.

  • Re: Campo su report da casella di testo su maschera

    08/02/2024 - maxs84 ha scritto:


    Il mio problema è che se scrivo qualcosa su una casella di testo, appena chiudo la maschera e la riapro, il testo inserito sparisce.

    Con quale criterio dovrebbe restare?

    08/02/2024 - maxs84 ha scritto:


    non associata a nessun campo di nessuna tabella dove l'utente scrive qualcosa e quel testo venga visualizzato su un report che esiste già.

    Se non l' associ a niente, come fa il signor caio a capire che la nota si riferisce al report di sempronio? E soprattutto, come fa il pc? 

    Anche se salvi la nota su un file txt devi sempe associare quel file a quel report.

    Per farti capire: hai un biglietto con scritto va bene ed uno con scritto non va bene riferiti a due valutazioni uno di storia e uno di geografia. Sei in grado di stabilire a quale materia si riferisce il biglietto “va bene”?

  • Re: Campo su report da casella di testo su maschera

    Forse se posti il file con alcuni record, sostituendo eventuali dati sensibili, si può capire meglio che cosa hai realizzato e darti consigli utili.

  • Re: Campo su report da casella di testo su maschera

    Credimi che non serve postare il file…
    forse sono io che, conoscendo poco lo strumento, vorrei usarlo in maniera impropria.

    L'esigenza è rendere editabile un campo su un report.
    Io pensavo che, inserendo una casella di testo su una maschera, l'utente potesse scriverci qualcosa dentro senza che quel valore andasse a finire su un campo di una tabella ma evidente non è possibile farlo.
    Detto in altre parole vorre che una maschera contenesse una casella di testo e conservasse l'informazione di quella casella anche quando la maschera viene chiusa.

    Dopo, assocerei una casella di testo presente sul report alla casella di testo della maschera così da vedere sulla stampa quello che l'utente ha precedentemente scritto sulla casella di testo della maschera.

    Adesso ho provato a fare quanto detto ma appena chiudo la maschera il testo sparisce poichè la casella di testo non è associata a nulla.

    Cercando sul web ho letto che potrei usare un trucchetto ovvero, tramite vba sull'evento “after update” della casella di testo, impostare il valore predefinito di quella casella di testo ponendolo uguale al valore di quel momento in modo da “salvare” il testo anche quando la maschera viene chiusa.

    Il codice che ho trovato però, evidentemente non fa riferimento a una casella di testo ma forse a una combo box… infatti l'if viene fatta sulla proprietà “chkCopy” che non esiste sulle caselle di testo.

    La domanda è: esiste un modo per tenere un testo salvato su una casella di testo di una maschera senza associarlo a nessun campo di nessuna tabella?
    Se non riesco a risolvere così creerò una tabella adHoc con una solo campo formato testo e lo associo alla casella di testo e finisce li ma mi sembrava uno spreco di tempo e risorse creare una tabella per un semplice testo di pochi caratteri… tutto qui.

  • Re: Campo su report da casella di testo su maschera

    08/02/2024 - maxs84 ha scritto:


    Cercando sul web ho letto che potrei usare un trucchetto ovvero, tramite vba sull'evento “after update” della casella di testo, impostare il valore predefinito di quella casella di testo ponendolo uguale al valore di quel momento in modo da “salvare” il testo anche quando la maschera viene chiusa.

    Hai usato la parola magica: “salvare”.

    Che sia su un file txt salvato su desktop o in una tabella cosa ti cambia?

    Metti un riferimento ad un file per quel record (o report) e quando lo apri attinge al file (o tabella).

    08/02/2024 - maxs84 ha scritto:


    La domanda è: esiste un modo per tenere un testo salvato su una casella di testo di una maschera senza associarlo a nessun campo di nessuna tabella?

    No! Significherebbe che per ogni bit del disco potrebbe essere da associare al report. A meno che ogni report non riporti la stessa nota ma in quel caso lo inserisci in fase di progetto, non ti serve un file esterno.

  • Re: Campo su report da casella di testo su maschera

    Ogni report porta la stessa nota che per anni non è mai cambiata (è il nome e cognome del capo ufficio) ma adesso è successo che per un periodo quel nome deve essere modificato per poi, probabilmente, tornare a quello precedete.

    Mi sembrava “stupido” fare una tabella anche perchè ero convinto che le caselle di testo mantenessero il dato.

    Visto che non si può troverò un'altra soluzione…

    PS: a scopo di esercizio comunque mi sarebbe piaciuto capire come usare l'evento “afterupdate” per modificare il “default.value” della casella di testo ponendola uguale al “value” di quel momento.

  • Re: Campo su report da casella di testo su maschera

    08/02/2024 - maxs84 ha scritto:


    PS: a scopo di esercizio comunque mi sarebbe piaciuto capire come usare l'evento “afterupdate” per modificare il “default.value” della casella di testo ponendola uguale al “value” di quel momento.

    Nel metodo scrivi:

    Forms!!controllo.DefaultValue = “ciao”

  • Re: Campo su report da casella di testo su maschera

    09/02/2024 - sihsandrea ha scritto:


    08/02/2024 - maxs84 ha scritto:


    PS: a scopo di esercizio comunque mi sarebbe piaciuto capire come usare l'evento “afterupdate” per modificare il “default.value” della casella di testo ponendola uguale al “value” di quel momento.

    Nel metodo scrivi:

    Forms!!controllo.DefaultValue = “ciao”

    Così assegno il valore “ciao”… io vorrei assegnare di volta in volta quello che viene scritto in quel momento:
    "Forms!!controllo.DefaultValue = Forms!!controllo.Value"

    Ma non so se la sintassi corretta è questa.

  • Re: Campo su report da casella di testo su maschera

    Me.NomeControllo.DefaultValue = Me.NomeControllo
  • Re: Campo su report da casella di testo su maschera

    09/02/2024 - sihsandrea ha scritto:


    Nel metodo scrivi:

    Forms!!controllo.DefaultValue = “ciao”

    Sbagliato… il DefaultValue richiede una formattazione atipica quella sintassi va bene per Numeri, per Testo serve raddoppiare.

    Forms!!controllo.DefaultValue = chr(34) & “ciao” & chr(34)
  • Re: Campo su report da casella di testo su maschera

    09/02/2024 - Stifone ha scritto:


    Me.NomeControllo.DefaultValue = Me.NomeControllo

    Stessa considerazione fatta ad Andrea…

Devi accedere o registrarti per scrivere nel forum
13 risposte