Pagina 1 di 1

[VB]Definire moduli

MessaggioInviato: ven set 12, 2008 9:23 pm
da dararag
so di iniziare a rompere, ma non ho trovato niente, qualcuno mi saprebbe indicare un sito dove spiega come definire un modulo, in modo che le azioni che eseguo lì siano valide per tutte le sub?

Re: [VB]Definire moduli

MessaggioInviato: sab set 13, 2008 12:46 pm
da Silver Black
dararag ha scritto:so di iniziare a rompere, ma non ho trovato niente, qualcuno mi saprebbe indicare un sito dove spiega come definire un modulo, in modo che le azioni che eseguo lì siano valide per tutte le sub?


Il manuale in linea. Ma intendi forse "dove tutte le sub del mosulo siano valide per le altre form/moduli del programma" forse? Prova a guardare la parola chiave "public" per dichiarare le sub (il default infatti, se la ometti, è private).

Re: [VB]Definire moduli

MessaggioInviato: sab set 13, 2008 2:37 pm
da M@ttia
Esatto, puoi usare il costrutto
Codice: Seleziona tutto
Public Sub ...

per rendere quel Sub accessibile/leggibile da tutte le form del tuo progetto.

Re: [VB]Definire moduli

MessaggioInviato: sab set 13, 2008 3:42 pm
da dararag
no, è che avevo capito che c'era un modo per far si che io faccia una azione tipo una apertura di database, e questa fosse già valida per le altre sub che non la fanno, ma a quanto pare non è possibile, grazie [:)]

Re: [VB]Definire moduli

MessaggioInviato: dom set 14, 2008 8:39 pm
da Silver Black
dararag ha scritto:no, è che avevo capito che c'era un modo per far si che io faccia una azione tipo una apertura di database, e questa fosse già valida per le altre sub che non la fanno, ma a quanto pare non è possibile, grazie [:)]


Sai cos'è una procedura, una funzione o un metodo di classe? Se scrivi la tua, poi puoi richiamarla da qualsiasi altra sub che come dici tu, in modo un po' improprio "non lo fa". E così, per magia, lo farà! [std]

Re: [VB]Definire moduli

MessaggioInviato: dom set 14, 2008 10:36 pm
da dararag
intendevo, che ne so, aprire una connessione così:
Codice: Seleziona tutto
Set con = New ADODB.Connection
Set rs = New ADODB.Recordset
con.Open "Provider=provider;ecc..."
rs.Open "SELECT * FROM tabella", con, 3, 3

e fare in modo che, alla pressione di un pulsante, ci si possa spostare con una semplice rs.movenext, perché l'azione di apertura è valida per tutte le sub

Re: [VB]Definire moduli

MessaggioInviato: lun set 15, 2008 12:11 am
da Silver Black
dararag ha scritto:intendevo, che ne so, aprire una connessione così:
Codice: Seleziona tutto
Set con = New ADODB.Connection
Set rs = New ADODB.Recordset
con.Open "Provider=provider;ecc..."
rs.Open "SELECT * FROM tabella", con, 3, 3

e fare in modo che, alla pressione di un pulsante, ci si possa spostare con una semplice rs.movenext, perché l'azione di apertura è valida per tutte le sub


[...] [...] [...] [...] [...] Era questo il problema? Basta rendere pubbliche le variabili con e rs.
E' come istanziare l'oggetto di una particolare classe: se l'oggetto è pubblico, lo crei dove vuoi tu, una volta sola e poi potrà essere usato ovunque.
E' il concecco di "SCOPE" di una variabile.

Re: [VB]Definire moduli

MessaggioInviato: lun set 15, 2008 12:30 pm
da dararag
strano... ci avevo provato con public, ma non era cambiato niente, riproverò, se è così, ci devo riuscire, grazie