VBA - Inserire una valore in un campo il cui nome è memorizzato in una variabile

Anonimo
2025-01-07T23:48:55+00:00

Salve a tutti,

dovrei leggere un valore da un campo in una form/subform differente da quella corrente e il nome di questo campo ha una parte fissa (txtQtaDifettoTSA) + un valore numerico terminale che può variare da 1 a 10.

Vorrei recuperare il valore sfruttando il nome del campo che ho disponibile in una variabile (NomeCampoQtaDifTSA) ma non conosco la sintassi.

Vi propongo la riga di codice che ho immaginato io. Non interrompe il codice ma stranamente mi inserisce sempre il valore 1 (per info nella stessa routine inserisco con DAO altri valori e quindi il metodo di inserimento funziona)

rsDifTSA!SchTsaDifQtaPzNC = [Forms]![frmSchedaRegDatiProduzioneTSA]frmSchedaAutocontrolloTSARegDifetti.Value

Non so come si scrive correttamente il percorso, penso sia quello il problema, ho fatto vari tentativi.

Vi ringrazio molto per l'aiuto

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

7 risposte

Ordina per: Più utili
  1. Anonimo
    2025-01-09T15:30:43+00:00

    Buongiorno Carletto1,

    perdona la risposta tardiva e grazie ancora per l'interessamento.

    Non è necessario postare il file in quanto sto cambiando alcune parti per migliorare le dinamiche di funzionamento.

    In ogni caso grazie molte per la disponibilità mostrata.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2025-01-08T15:21:53+00:00

    Se puoi postare un file di esempio si protrebbe capire meglio come hai impostato il programma e magari dare qualche cosiglio migliore.

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2025-01-08T10:48:13+00:00

    Buongiorno Carletto1,

    grazie per la risposta. Si, in effetti nella form frmSchedaAutocontrolloTSARegDifetti avrei il dato disponibile in un controllo non associato e fino a ieri funzionava così.

    Ora però dobbiamo memorizzare dati aggiuntivi che vengono inseriti in una ulteriore form popup a scelta obbligatoria richiamata dalla precedente form, quindi da questo popup al comando salva dobbiamo memorizzare i dati contenuti in entrambe le forms.

    Un excursus... La prima form (che invia dati di difettosità di un processo produttivo) contiene dei pulsanti che rappresentano graficamente il difetto (è un visual aid) e alla loro pressione memorizzano alcuni dati associati (come il codice del difetto) oltre la quantità che si scrive in una textbox vicino ad ogni pulsante

    Le textbox (che sono il dato da leggere) hanno nomi differenti, cioè txtQtaDifettoTSA1, ...2, ...1 mentre il campo di destinazione ovviamente ha un nome univoco. Il nome del campo che varia di volta in volta ce l'ho perchè lo manipolo in una variabile

    Ecco perché voglio recuperare il valore del campo attraverso il suo nome contenuto in una variabile ma non conosco la sintassi.

    Comunque era per completezza di informazioni, credo anch'io debba rivedere la struttura di questa parte.

    Grazie per l'interesse. La tua domanda e considerazione sul giusto modo di operare mi ha comunque indotto a ragionare diversamente

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2025-01-08T06:13:10+00:00

    Una variabile dichiarata su di una maschera può essere letta in un'altra maschera soltanto nel caso che sia stata dichiarata pubblica in un modulo che non appartenga a nessuna maschera, ovvero creato nella finestra di gestione VBA.

    Mis sembra un pò strano questo modo di operare, nella frmSchedaAutocontrolloTSARegDifetti non hai direttamente a disposizione il campo da cui prelevare il dato?

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Eliminata

    Questa risposta è stata eliminata a causa di una violazione del codice di comportamento. La risposta è stata segnalata manualmente o identificata tramite il rilevamento automatizzato prima dell'esecuzione dell'azione. Per ulteriori informazioni, fai riferimento al codice di comportamento.


    I commenti sono stati disattivati. Ulteriori informazioni