Acquista i nostri libri consigliati su Amazon.it
+ Rispondi al messaggio
Visualizzazione dei risultati da 1 a 7 su 7

Ado specificare nome campo tramite valore di una variabile di tipo stringa

  1. #1
    nogero non è in linea Novello
    Post
    21
    Like Inviati  
    0
    Like Ricevuti  
    0
    Salve a tutti,
    sto realizzando una sub ado che deve andare ad inserire in determinati campi di un determinato record dei valori.
    Ora siccome ogni volta la funzione deve andare ad inserire il valore in un campo diverso, volevo sapere se era possibile specificare il nome del campo in cui inserire il valore tramite una il valore di una variabile di tipo stringa.
    Ho provato in un paio di modi ma nulla da fare.
    in pratica vorrei fare questo:

    Function cercaMese(ByVal strQueryName As String, ByVal strNomeEsercizio As String)
    .....
    ......
    rstTotali.Open "Riepiligo", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
                rstTotali.AddNew
                rstTotali!Anno = rstTotMese!Anno
                rstTotali!Mese = rstTotMese!Mese
                rstTotali!("'strNomeEsercizio'") = rstTotMese!SommaDiIncasso_reale
                rstTotali.Update
                rstTotali.Close
    ......
    .....
    end function
    
    quindi rstTotali!"Qui vorrei mettere il valore della variabile" = .....

    Se lo scrivo rstTotali!strNomeEsercizio giustamente lo interpreta come nome del campo, come faccio a specificare che il nome del campo è quello contenuto nella variabile strNomeEsercizio?

    esiste un modo per farlo?

    grazie!!

  2. #2
    L'avatar di Elimar
    Elimar non è in linea Scribacchino
    Post
    693
    Like Inviati  
    0
    Like Ricevuti  
    0
    Hai provato a scrivere:

    rstTotali!(strNomeEsercizio)= ......


    dove strNomeEsercizio è il nome della tua variabile??

    Ciao

    Andrea

  3. #3
    nogero non è in linea Novello
    Post
    21
    Like Inviati  
    0
    Like Ricevuti  
    0
    Si.. e mi dice:

    "Errore di compilazione:

    Il carattere di dichiarazione tipo non corrisponde al tipo di dati dichiarato"

    boh..

  4. #4
    L'avatar di Elimar
    Elimar non è in linea Scribacchino
    Post
    693
    Like Inviati  
    0
    Like Ricevuti  
    0
    e tu come hai dichiarato la variabile?

  5. #5
    nogero non è in linea Novello
    Post
    21
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quote Originariamente inviato da Elimar Visualizza il messaggio
    e tu come hai dichiarato la variabile?
    cosi:

    ByVal strNomeEsercizio As String

  6. #6
    L'avatar di Elimar
    Elimar non è in linea Scribacchino
    Post
    693
    Like Inviati  
    0
    Like Ricevuti  
    0
    scusa non l'avevo visto.

    Io ho testato il tuo problema adattandolo ad un mio codice già esistente.

    Sub SendEmailSollecitoByOutlook()
    
    Dim rstMail As New ADODB.Recordset
    Dim Descrizione As String
    Dim Check As Boolean
    Dim FDIDUCATO As String
    Dim OPERAZIONE As String
    Dim ISIN As String
    Dim TradeD As String
    Dim Quantità As String
    Dim Mail As String
    Dim Mail1 As String
    Dim Mail2 As String
    Dim Mail3 As String
    Dim Mail4 As String
    Dim Mail5 As String
    Dim Mail6 As String
    Dim Mail7 As String
    Dim Mail8 As String
    Dim Mail9 As String
    
    Dim Email As String
    Dim Ref As String
    
    '** Creo le variabili per Outlook
    Dim ObjOutlook As Outlook.Application
    Dim ObjEMail As Outlook.MailItem
    
    
        Check = False
        rstMail.Open "MailSollecito", CurrentProject.Connection, adOpenStatic
     Dim prova As String
     prova = ("FDIDUCATO")
        
        With rstMail
            
            Do While Not .EOF
            
                If .Fields("sollecito") = -1 Then
                    Check = True
            
                FDIDUCATO = .Fields(prova)
                OPERAZIONE = .Fields("OPERAZIONE")
                Quantità = .Fields("Quantità")
                ISIN = .Fields("ISIN")
                Email = .Fields("CONTATTIXCONF")
    
    e devo dire che funziona, ora l'unica differenza che noto rispetto al tuo è che io utilizzo il comando with e poi faccio riferimento ai campi con .fields ...

  7. #7
    nogero non è in linea Novello
    Post
    21
    Like Inviati  
    0
    Like Ricevuti  
    0
    Quote Originariamente inviato da Elimar Visualizza il messaggio
    scusa non l'avevo visto.

    Io ho testato il tuo problema adattandolo ad un mio codice già esistente.

    e devo dire che funziona, ora l'unica differenza che noto rispetto al tuo è che io utilizzo il comando with e poi faccio riferimento ai campi con .fields ...
    Elimar, grazie per l'aiuto,
    Allora, controllando parte precedente della sub, che prevedeva l'aggiornamento di alcuni dati, io utilizzavo il metodo .fields(nomevariabile) e funzionava, quando invece ho creato la parte per creare un nuovo record, ho utilizzato la notazione str!campo e in quel modo non riesco a farlo funzionare.

    Quindi forse con quella notazione non è possibile farlo funzionare, in ogni caso posso sempre usare questa.
    Io non conoscendo quasi nulla su ado e vba ho consultato una guida e ho visto che faceva gli aggiornamenti con una notazione e gli inserimenti con l'altra, quindi senza dedicarci l'attenzione dovuta, ho dato per scontato che si dovessero semrpe utilizzare quelli, mentre in realtà posso usarli indifferentemente.

    Grazie mille per l'aiuto!

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Risposte: 1
    Ultimo Post: 02-01-2018, 18:05
  2. Assegnare un valore stringa variabile al nome di un variabile
    Da radiatorista nel forum Microsoft Excel
    Risposte: 10
    Ultimo Post: 22-05-2015, 10:23
  3. riempimento campo report con campo a nome variabile
    Da RiccardoA nel forum Microsoft Access
    Risposte: 5
    Ultimo Post: 15-01-2013, 10:56
  4. Risposte: 1
    Ultimo Post: 06-03-2012, 13:59
  5. Impostrare una stringa di codice tramite variabile
    Da chorro nel forum Microsoft Word
    Risposte: 7
    Ultimo Post: 06-08-2010, 09:15