Domanda

So che questa è una domanda semplice per qualcuno là fuori, ma non ho mai realmente utilizzato modulo funzionale a tutti perché non capivo cosa fossero.

Così ho un sacco di cose che posso usare questo per (ridurre la ridondanza), ma voglio sapere come mi chiamo in un sub (come un pulsante di scatto) Procedura da una forma.

Ho provato questo ...

Sub Command_Click()
    Call "pptCreator"
End Sub

So che è piuttosto male, ma non ho idea di come portare questo in una procedura.

È stato utile?

Soluzione

Ecco alcuni dei diversi modi in cui è possibile chiamare le cose in Microsoft Access:

Per chiamare un modulo sub o una funzione da un modulo

Il sub in forma che si sta chiamando deve essere pubblico, come in:

Public Sub DoSomething()
  MsgBox "Foo"
End Sub

Chiama il sub in questo modo:

Call Forms("form1").DoSomething

Il modulo deve essere aperto prima di effettuare la chiamata.

Per chiamare una routine evento, si dovrebbe chiamare una procedura pubblica all'interno della forma, e chiamare la routine evento all'interno di questa procedura pubblica.

Per chiamare una subroutine in un modulo da un modulo

Public Sub DoSomethingElse()
  MsgBox "Bar"
End Sub

... basta chiamare direttamente dal vostro routine evento:

Call DoSomethingElse

Per chiamare una subroutine da un modulo senza utilizzare una procedura di evento

Se si vuole, si può effettivamente associare la funzione per l'evento del controllo di modulo, senza dover creare una routine evento sotto il controllo. Per fare questo, è necessario prima di una funzione pubblica nel modulo invece di un sub, in questo modo:

Public Function DoSomethingElse()
  MsgBox "Bar"
End Function

Quindi, se si dispone di un pulsante nel modulo, invece di mettere [Routine evento] in caso OnClick della finestra delle proprietà, mettere questo:

=DoSomethingElse()

Quando si fa clic sul pulsante, si chiamerà la funzione pubblica nel modulo.

Per chiamare una funzione invece di una procedura di

Se si chiama un sub è simile al seguente:

Call MySub(MyParameter)

Quindi chiamare una funzione simile a questa:

Result=MyFunction(MyFarameter)

dove Il risultato è una variabile di tipo restituito dalla funzione.

Nota: Non è sempre necessario la parola chiave di chiamata. La maggior parte del tempo, si può chiamare il sub in questo modo:

MySub(MyParameter)

Altri suggerimenti

se pptCreator è una funzione / procedura nello stesso file, si può chiamare, come di seguito

call pptCreator()

Chiamata di una procedura secondaria - 3 Way tecnica

Una volta che avete una procedura, se è stato creato o è parte del linguaggio Visual Basic, è possibile utilizzarlo. Utilizzando una procedura viene indicato anche come chiamarlo.

Prima di chiamare una procedura, si deve prima individuare la sezione di codice in cui si desidera utilizzarlo. Per chiamare una procedura semplice, digitare il suo nome. Ecco un esempio:

Sub CreateCustomer()
    Dim strFullName As String

    strFullName = "Paul Bertrand Yamaguchi"

msgbox strFullName
End Sub

Sub Exercise()
    CreateCustomer
End Sub

Oltre a utilizzare il nome di una procedura di chiamarlo, è anche possibile farlo precedere la parola chiave di chiamata. Ecco un esempio:

Sub CreateCustomer()
    Dim strFullName As String

    strFullName = "Paul Bertrand Yamaguchi"
End Sub

Sub Exercise()
    Call CreateCustomer
End Sub

Quando si chiama un procedimento, fatto o senza la parola chiave di chiamata, è possibile opzionalmente digitare un'apertura e una parentesi chiusa sul lato destro del suo nome. Ecco un esempio:

Sub CreateCustomer()
    Dim strFullName As String

    strFullName = "Paul Bertrand Yamaguchi"
End Sub

Sub Exercise()
    CreateCustomer()
End Sub

Le procedure e livelli di accesso

Come un accesso variabile, l'accesso a una procedura può essere controllato da un livello di accesso. Una procedura può essere reso pubblico o privato. Per specificare il livello di accesso di una procedura, precedere con il privato o la parola chiave Public. Ecco un esempio:

Private Sub CreateCustomer()
    Dim strFullName As String

    strFullName = "Paul Bertrand Yamaguchi"
End Sub
  

Le regole che sono state applicate alle variabili globali sono gli stessi:

     

Privato: Se una procedura è fatto privato, può essere chiamato da altre procedure dello stesso modulo. Procedure di moduli esterni non possono accedere a una tale procedura.

     

Inoltre, quando una procedura è privata, il suo nome non compare nella finestra di dialogo Macro

     

Pubblico:. Una procedura creata come pubblico può essere chiamato dalle procedure dello stesso modulo e da procedure di altri moduli

     

Inoltre, se un procedimento è stato creato come pubblico, quando si accede alla finestra di dialogo Macro, appare il suo nome ed è possibile eseguirlo da lì

Procedure in un modulo di inizio essere utili e generico quando si passa in argomenti.

Ad esempio:

Public Function DoSomethingElse(strMessage As String)  
    MsgBox strMessage
End Function

Ora è possibile visualizzare qualsiasi messaggio che viene passato con la variabile di stringa denominata strMessage.

Per aggiungere una funzione a un nuovo pulsante sul modulo: (ed evitare l'uso di macro per chiamare la funzione)

Dopo aver creato il tuo Funzione (MyFunctionName function ()) e siete in forma vista di disegno:

  1. Aggiungi un nuovo pulsante (non credo che è possibile riassegnare un pulsante di vecchio - non è sicuro però).
  2. Quando la finestra guidata tasto si apre fare clic su Annulla.
  3. Vai proprietà Button Tab Event - Al clic -. Campo
  4. A quel campi menu a discesa selezionare:. Routine evento
  5. Ora cliccate sul pulsante accanto menu a discesa che ha ... in esso e sarete portati ad un nuovo Private Sub nelle forme visive finestra di base.
  6. In che tipo di Private Sub: Call MyFunctionName
    Esso dovrebbe essere simile a questo:

Private Sub Command23_Click ()

chiamata MyFunctionName

End Sub

  1. Poi basta salvarlo.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top