Frage

Ich weiß, dass dies eine einfache Frage für jemanden da draußen, aber ich habe nie wirklich Funktionsbaustein überhaupt verwendet, weil ich verstand nicht, was sie waren.

Also habe ich eine ganze Reihe von Dingen habe ich dies für verwenden können (auf Redundanz abgeholzt), aber ich möchte wissen, wie ich in einem Unter nennen (wie eine Schaltfläche klicken) Verfahren aus einem Formular.

Ich habe versucht ...

Sub Command_Click()
    Call "pptCreator"
End Sub

Ich weiß, dass ist ziemlich schlecht, aber ich habe keine Ahnung, wie diese in ein Verfahren zu bringen.

War es hilfreich?

Lösung

Hier sind einige der verschiedenen Möglichkeiten, wie Sie die Dinge in Microsoft Access aufrufen:

Um ein Formular Unter oder Funktion aus einem Modul

aufrufen

Die Unter in Form fordern Sie öffentlich sein müssen, wie in:

Public Sub DoSomething()
  MsgBox "Foo"
End Sub

Rufen Sie den Unter wie folgt aus:

Call Forms("form1").DoSomething

Das Formular muss geöffnet sein, bevor Sie den Anruf zu tätigen.

eine Ereignisprozedur aufzurufen, sollten Sie ein öffentliches Verfahren in der Form nennen, und innerhalb dieser öffentlichen Verfahren, um die Ereignisprozedur aufrufen.

Um ein Unterprogramm in einem Modul aus einem Formular aufrufen

Public Sub DoSomethingElse()
  MsgBox "Bar"
End Sub

... es einfach anrufen direkt von Ihrer Ereignisprozedur:

Call DoSomethingElse

Um ein Unterprogramm von einem Formular aufrufen, ohne eine Ereignisprozedur mit

Wenn Sie möchten, können Sie tatsächlich binden die Funktion der Veranstaltung Form Kontrolle ohne eine Ereignisprozedur unter der Kontrolle zu schaffen. Um dies zu tun, müssen Sie zunächst eine öffentliche Funktion im Modul anstelle eines Unter, wie folgt aus:

Public Function DoSomethingElse()
  MsgBox "Bar"
End Function

Dann, wenn Sie auf eine Schaltfläche auf dem Formular haben, anstatt, [Ereignisprozedur] in das OnClick-Ereignis des Eigenschaftsfenster setzen diese:

=DoSomethingElse()

Wenn Sie auf die Schaltfläche klicken, wird die öffentliche Funktion im Modul aufrufen.

Um eine Funktion anstelle einer Prozedur

aufrufen

Wenn Sie einen Unter Aufruf wie folgt aussieht:

Call MySub(MyParameter)

Dann Aufruf einer Funktion wie folgt aussieht:

Result=MyFunction(MyFarameter)

Dabei Ergebnis eine Variable vom Typ von der Funktion zurückgegeben wird.

Hinweis: Sie müssen nicht immer das Call-Schlüsselwort. Die meiste Zeit können Sie rufen Sie die Unter wie folgt aus:

MySub(MyParameter)

Andere Tipps

Wenn pptCreator eine Funktion / Prozedur in der gleichen Datei ist, können Sie es wie unten

nennen könnte

call pptCreator()

Eine Sub-Prozedur aufrufen - 3-Wege-Technik

Wenn Sie eine Prozedur haben, ob Sie es erstellt oder es ist Teil der Visual Basic-Sprache ist, können Sie es verwenden. Unter Anwendung eines Verfahrens wird auch als Aufruf es bezeichnet.

Vor dem Aufruf einer Prozedur, sollten Sie zunächst den Abschnitt des Codes ausfindig machen, in dem Sie es verwenden möchten. Um eine einfache Prozedur aufrufen, ihren Namen ein. Hier ein Beispiel:

Sub CreateCustomer()
    Dim strFullName As String

    strFullName = "Paul Bertrand Yamaguchi"

msgbox strFullName
End Sub

Sub Exercise()
    CreateCustomer
End Sub

den Namen einer Prozedur Neben der Verwendung zu nennen, können Sie auch mit dem Call-Schlüsselwort vorangestellt es. Hier ein Beispiel:

Sub CreateCustomer()
    Dim strFullName As String

    strFullName = "Paul Bertrand Yamaguchi"
End Sub

Sub Exercise()
    Call CreateCustomer
End Sub

Wenn Sie eine Prozedur aufrufen, ohne oder ohne Call-Schlüsselwort, können Sie optional eine Öffnung und eine Schließung Klammern auf der rechten Seite des Namens eingeben. Hier ein Beispiel:

Sub CreateCustomer()
    Dim strFullName As String

    strFullName = "Paul Bertrand Yamaguchi"
End Sub

Sub Exercise()
    CreateCustomer()
End Sub

Verfahren und Zugriffsebene

Wie ein Variable Zugriff, der Zugang zu einem Verfahren kann durch eine Zugriffsebene gesteuert werden. Eine Prozedur kann aus privaten oder öffentlichen werden. Um die Zugriffsebene eines Verfahren angeben, voraus es mit dem privaten oder dem öffentlichen Schlüsselwort. Hier ein Beispiel:

Private Sub CreateCustomer()
    Dim strFullName As String

    strFullName = "Paul Bertrand Yamaguchi"
End Sub
  

Die Regeln, die auf globale Variablen angewendet wurden, sind die gleichen:

     

Privat: Wenn eine Prozedur privat gemacht wird, kann es durch andere Verfahren des gleichen Moduls aufgerufen werden. Verfahren von außen Module können nicht ein solches Verfahren zugreifen zu können.

     

Auch wenn ein Verfahren privat, sein Name erscheint nicht im Dialogfeld Makros

     

öffentlich. Ein Verfahren wie Öffentlichkeit erstellt wird, kann durch Verfahren des gleichen Moduls und durch Verfahren von anderen Modulen aufgerufen werden

     

Auch wenn ein Verfahren wurde als öffentliche erstellt, wenn Sie das Dialogfeld Makros zuzugreifen, dessen Name angezeigt und Sie können von dort ausführen

Verfahren in einem Modul nützlich und generic starten, wenn Sie in Argumenten übergeben.

Zum Beispiel:

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

Kann jetzt jede Nachricht anzeigen, die in dem String-Variable übergeben wird genannt strMessage.

, um eine Funktion, um einen neuen Knopf auf Formular hinzufügen: (und vermeiden, mit Makro-Funktion aufzurufen)

Nach dem Erstellen Ihrer Funktion (Funktion MyFunctionName ()) und Sie sind in Form der Entwurfsansicht:

  1. Fügen Sie eine neue Schaltfläche (Ich glaube nicht, dass Sie eine alte Taste zuweisen können - nicht sicher, obwohl).
  2. Wenn die Schaltfläche Assistent Fenster öffnet, klicken Sie auf Abbrechen.
  3. Gehen Sie auf die Schaltfläche Eigenschaften Ereignis Tab - Bei Klick -. Feld
  4. Auf den Feldern im Dropdown-Menü auswählen. Ereignisprozedur
  5. Klicken Sie nun neben auf die Schaltfläche im Dropdown-Menü, das ... in ihm hat, und Sie werden auf eine neue Private Sub in den Formen Visual Basic-Fenster gezogen werden.
  6. In diesem privaten Typ: Rufen Sie MyFunctionName
    Es sollte wie folgt aussehen:

Private Sub Command23_Click ()

Anruf MyFunctionName

End Sub

  1. Dann ist es einfach speichern.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top