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

[ACCESS 2003] Variabile Pubblica non visibile all'interno di una maschera.

  1. #1
    sanfinix non è in linea Scolaretto
    Salve a tutti,
    ho un piccolo problema con una variabile che dovrebbe essere pubblica ma non viene vista all'interno di una maschera.

    nel modulo Base c'è la dichiarazione:
    Public iLingua As String
    
    sempre nel modulo Base c'è una routine che mi carica alcuni parametri da una tabella apposita e valorizza la variabile:
    Sub CaricaConf()
    Dim ProTest As String Dim Tabella As String Tabella = "QR_Configurazione" iPath = DLookup("[PathFoto]", Tabella) iSmall = DLookup("[SufMin]", Tabella) iLingua = DLookup("[LinguaBase]", Tabella)
    End Sub
    In una maschera ho inserito la chiamata alla routine CaricaConf() in questo modo:
    Private Sub Form_Open(Cancel As Integer)
    Call CaricaConf
    End Sub
    Sempre nella stessa maschera c'è una combobox che viene popolata con i valori estratti, da una tabella apposita, da una query parametrica, con la variabile "iLingua" nel filtro, in questo modo:
    SELECT Sezioni.CodSezione, Descrizioni.DescrizioneBreve, Descrizioni.Lingua
    FROM Sezioni, Descrizioni
    WHERE ((Sezioni!CodiceDescrizioneSezione Like Descrizioni!Codice) And ((Descrizioni.Lingua) Like [iLingua]));
    
    Fino a qualche giorno fa, funzionava tutto correttamente.
    Poi, ho fatto qualcosa durante le prove, qualche modifica ma non so cosa.
    Adesso all'apertura della maschera la query mi apre un msgbox con la richiesta del parametro iLingua, come se non avesse valore.

    Ho inserito 2 volte "iLingua" nella finestra delle espressioni di controllo, una con contesto "tutte le routine / tutti i moduli" l'altra locale alla form.

    Il risultato è che mi risultano diverse, come se a livello locale ne avessi dichiarata un'altra.
    Quella locale mi dice "Fuori contesto"...

    Ho cercato tra gli oggetti ma non trovo nulla.
    Ho eseguito passo passo l'esecuzione della routine e il valore viene caricato e la variabile globale viene valorizzata.


    Cosa posso controllare ?
    Oppure ho sbagliato qualcosa nelle dichiarazioni ?

    Grazie per l'aiuto.
    Enzo
    Ultima modifica di sanfinix; 20-03-2012 12:17 

  2. #2
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    Che funzionasse come l'hai scritta non ci credo nemmeno se la vedo...!

    La Select in quel modo non può sapere dove sia la variabile [iLingua].
    Se devi far recuperare una Public Var da un predicato SQL serve una Funzione che ne recupera il valore.

    Sei certo di non aver apportato una modifica a qualche esempio visto senza averla interpretata bene...?
    ℹ️ Leggi di più su @Alex ...

  3. #3
    sanfinix non è in linea Scolaretto
    Ciao Alex,
    grazie per l'indicazione, probabilmente ho interpretato male un suggerimento datomi da fcarboni in questo thread.

    http://forum.masterdrive.it/access-7...ombobox-64323/

    Avevo apportato delle modifiche al mio progetto pensando che dichiarando una variabile globale, venisse vista anche direttamente nelle query.

    e, ti ripeto, funzionava, probabilmente per un altro motivo, (magari stavo usando una query parametrizzata prendendo il valore da un campo della maschera...)
    Fatto sta che poi, come dicevo, ha smesso.
    Quindi *prima* non mi ero posto il problema.

    Adesso ho, come mi hai consigliato, fatto una funzione che mi restuisce il valore:

    Public Function Parametro_QR() As String
     
      Parametro_QR = iLingua
     
    End Function
    
    e nella query lo uso così:

    SELECT Sezioni.CodSezione, Descrizioni.DescrizioneBreve, Descrizioni.Lingua
    FROM Sezioni, Descrizioni
    WHERE ((Sezioni!CodiceDescrizioneSezione Like Descrizioni!Codice) And ((Descrizioni.Lingua) Like Parametro_QR()));
    
    tutto ok quindi.

    Grazie, alla prossima.
    Si può quindi taggare il thread come risolto ?
    Enzo

  4. #4
    sanfinix non è in linea Scolaretto
    Ciao Alex, il tuo sito (come anticipavi nella home page) non è più online.
    L'hai trasferito, lo trasferirai o l'hai definitivamente chiuso ? (nel terzo caso mi spiace, era un'utile fonte di risorse).

    In ogni caso la tua firma punta ancora lì.

    (volevo mandarti un mp ma non sono abilitato o li hai disattivati, non so...)
    saluti, Enzo

  5. #5
    L'avatar di @Alex
    @Alex non è in linea Moderatore Globale
    La firma è cambiata...

    Il sito è chiuso, MASTER, Giuseppe mi ha concesso un MIRROR quì:MS ACCESS Code Sample - versione usabile/accessibile
    ℹ️ Leggi di più su @Alex ...

+ Rispondi al messaggio

Potrebbero interessarti anche ...

  1. Valore variabile pubblica
    Da OsvaldoLaviosa nel forum Microsoft Access
    Risposte: 6
    Ultimo Post: 19-08-2020, 15:56
  2. [VB2010] Variabile pubblica non valorizzata da funzione in DLL
    Da il Fenomeno nel forum Visual Basic .Net
    Risposte: 10
    Ultimo Post: 24-09-2012, 16:09
  3. Utilizzo Variabile Pubblica da Form a Modulo
    Da Do85 nel forum Microsoft Word
    Risposte: 3
    Ultimo Post: 09-01-2009, 15:36
  4. Variabile pubblica in modalità multiutente
    Da MorleyMan nel forum Microsoft Word
    Risposte: 9
    Ultimo Post: 28-04-2008, 15:37
  5. Dichiarare variabile Pubblica in Modulo in vb5/6
    Da satriano nel forum Visual Basic 6
    Risposte: 8
    Ultimo Post: 22-03-2006, 20:24