Aggiornamento campo tabella collegata

di il
3 risposte

Aggiornamento campo tabella collegata

Ciao,
ho un db access che utilizza una tabella collegata con ODBC. La tabella deve essere modificata tramite una form. Vorrei convertire in maiuscolo i valori digitati nei vari campi testo, per cui ho usato nelle relative caselle di testo il comando =UCase([nometabella]![nomecampo]) nell'evento Su uscita

quando esco dal campo ricevo questo messaggio
" L'espressione Su uscita immessa come impostazione della proprietà di evento ha generato l'errore seguente: L'oggetto non contiene l'oggetto di automazione 'nometabella' "

Non capisco come risolvere, sembra una cosa semplice da fare eppure....

3 Risposte

  • Re: Aggiornamento campo tabella collegata

    Non ho capito il problema. Piuttosto guardando l'espressione UCase, io scriverei così:
    UCase([nometabella].[nomecampo])
    o più semplicemente stando a quanto scritto qui
    https://www.techonthenet.com/access/functions/string/ucase.php
    UCase([nomecampo])
  • Re: Aggiornamento campo tabella collegata

    Julipet ha scritto:


    Ciao,
    ho un db access che utilizza una tabella collegata con ODBC. La tabella deve essere modificata tramite una form. Vorrei convertire in maiuscolo i valori digitati nei vari campi testo, per cui ho usato nelle relative caselle di testo il comando =UCase([nometabella]![nomecampo]) nell'evento Su uscita

    quando esco dal campo ricevo questo messaggio
    " L'espressione Su uscita immessa come impostazione della proprietà di evento ha generato l'errore seguente: L'oggetto non contiene l'oggetto di automazione 'nometabella' "

    Non capisco come risolvere, sembra una cosa semplice da fare eppure....
    Quello ce hai scritto è insensato... stai lavorando in Maschera e fai riferimento alla Tabella a livello concettuale, perchè la sintassi è in ogni caso sbagliata aprescindere...!

    Eventualmente nella TextBox su Evento USCITA devi modificare così
    
    Me!NomeTuaTexBox=UCase(Me!NomeTuaTexBox)
    Personalmente però, ti suggerisco di non usare questa strada che si genera ad OGNI santa volta che si genera l'EXIT... cosa assai inutile...
    Puoi gestire invece l'evento KEYPRESS e condizionare il carattere premuto affinchè sia sempre MAIUSCOLO.

    Come sai o dovresti sapere, il codice ASCII dei caratteri di tastiera è un Numero:
    65-90(Maiuscole)
    97-122(Minuscole)

    Quindi quando il tuo Numero è compreso tra 97-122 non fai altro che sottrarre 32... mi pare banale.
    Questo ti darà il vantaggio che vedrai il risultato direttamente mentre DIGITI, estremamente più professionale, e non si genera se non serve.
    
    Private Sub Testo1_KeyPress(KeyAscii As Integer)
        KeyAscii = CkDgtUcase(KeyAscii)
    End Sub
    La funzione [CkDgtUcase] la metti in un Modulo in modo da poterla richiamare per tutte le Form che vuoi e per ogni specifico controllo lo richieda...
    
    Public Function CkDgtUcase(KeyAscii As Integer) As Integer
        '=========================================
        'Verifica se il TASTO PREMUTO è una lettera Minuscola e la Forza Maiuscola
        'Va inserita nell'EVENTO KEY_PRESS
        '65-90(Maiuscole) 97-122(Minuscole)
        '=========================================
        CkDgtUcase= KeyAscii
        If (KeyAscii >= 97 And KeyAscii <= 122) Then CkDgtUcase= KeyAscii - 32
    End Function
  • Re: Aggiornamento campo tabella collegata

    Grazie mille
Devi accedere o registrarti per scrivere nel forum
3 risposte