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

Utilizzo Variabile Pubblica da Form a Modulo

  1. #1
    Do85 non  in linea Novello
    Per prima cosa un saluto a tutti! Sono nuovo ma vi seguo gi da un p di tempo...
    Il mio quesito riguardo le variabili pubbliche.
    Diciamo che utilizzo una variabile definita pubblica all'interno di un modulo Form che mi serve anche all'interno di una funzione che definisco in un modulo generico.
    Il programma mi riconosce la variabile, infatti non mi da errori di dichiarazione, ma la variabile mi arriva al modulo 1 "Vuota" e non so se sia un problema di dichiarazioni. La funzione definita Public.

    Vorrei solo sapere se possibile utilizzare una variabile mantendo il suo valore all'interno di due moduli.

    Grazie mille!
    E scusate se in qualche thread era gi presente ma noin l'ho visto...

  2. #2
    L'avatar di @Alex
    @Alex non  in linea Moderatore Globale
    Quote Originariamente inviato da Do85 Visualizza il messaggio
    Per prima cosa un saluto a tutti! Sono nuovo ma vi seguo gi da un p di tempo...
    Il mio quesito riguardo le variabili pubbliche.
    Diciamo che utilizzo una variabile definita pubblica all'interno di un modulo Form che mi serve anche all'interno di una funzione che definisco in un modulo generico.
    Il programma mi riconosce la variabile, infatti non mi da errori di dichiarazione, ma la variabile mi arriva al modulo 1 "Vuota" e non so se sia un problema di dichiarazioni. La funzione definita Public.

    Vorrei solo sapere se possibile utilizzare una variabile mantendo il suo valore all'interno di due moduli.

    Grazie mille!
    Ciao benvenuto.

    Innanzitutto io sono estremamente contrario all'uso di Variabili Public nei moduli di classe delle FORM, eventualmente io preferisco la definizione di Public Properties in linea con le normali tecniche OOP(ma potrebbe essere una mia pignoleria).

    In ogni caso detta cos non ci consente di aiutarti in quanto non capiamo come tu faccia a leggerla...
    Se per leggerla fai riferimento al nome della Variabile, questo un'errore proprio perch un modulo di una Form non un Modulo standard, ma una Classe, quindi per poter accedere alla Variabile(che in questo caso si comporta da Property da qu il mio suggerimento di prima) devi far riferimento all'Oggetto nel quale inserita.
    es:
    Option Compare Database
    Option Explicit
     
    Public VariabileProva As String
    
    Dal Modulo esterno per leggerla non puoi fare:
    ERRATO
    Public Function XX() As String
        MsgBox VariabileProva
        ' Pensando che VariabileProva sia raggiungibile
    End Function
    
    ma devi riferirti all'oggetto nel quale la Variabile inserita, in quanto una Classe.
    L'oggetto in questione l'Oggetto Form inserito nella Collection Forms.
    Quindi:
    CORRETTO
    Public Function XX() As String
        MsgBox Forms("NomeForm").VariabileProva
        ' Pensando che VariabileProva sia raggiungibile
    End Function
    
    ℹ️ Leggi di pi su @Alex ...

  3. #3
    Do85 non  in linea Novello
    Grazie mille davvero!
    Sei stato preziosissimo!

  4. #4
    Do85 non  in linea Novello
    Posso fare una domanda non inerente al thread per non aprirne un altro!?
    Sto creando un report che voglio mi nasconda l'intestazione di pagina nella prima pagina e me la inserisca nelle successive. Ho preso spunto qua e la ma non riesco a capire come fare per incrementare la variabile che tiene conto delle pagine...

    Option Compare Database
    Dim NumPage As Integer

    Private Sub Corpo_Format(Cancel As Integer, FormatCount As Integer)
    Dim i As Integer, Eti As String

    If NumPage = 1 Then
    For i = 46 To 59
    Eti = "Etichetta" & i
    Me(Eti).Visible = False
    Next i
    Me!Linea45.Visible = False
    Else
    For i = 46 To 59
    Eti = "Etichetta" & i
    Me(Eti).Visible = True
    Next i
    Me!Linea45.Visible = True
    End If
    End Sub

    Private Sub IntestazioneReport_Format(Cancel As Integer, FormatCount As Integer)
    NumPage = 1
    End Sub

    Private Sub SezioneIntestazionePagina_Format(Cancel As Integer, FormatCount As Integer)
    NumPage = NumPage + 1
    End Sub

+ 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. [VB6]Passaggio variabile da form a modulo
    Da Drake88 nel forum Visual Basic 6
    Risposte: 12
    Ultimo Post: 19-05-2008, 21:02
  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