VBA GoTo a Line Label

Η δήλωση GoTo στο VBA σάς επιτρέπει να μεταβείτε σε μια γραμμή κώδικα.

Πρώτα δημιουργήστε μια ετικέτα γραμμής οπουδήποτε στον κώδικά σας:

1 Παραλείπω:

Στη συνέχεια, προσθέστε στη δήλωση "GoTo" για μετάβαση στην ετικέτα γραμμής

1 GoTo Skip

Παραδείγματα GoTo

Αυτό το παράδειγμα δοκιμάζει το έτος. Εάν το έτος είναι 2022 ή μεταγενέστερο, θα μεταβεί στην ετικέτα γραμμής Παράλειψη. Αυτό σας επιτρέπει να παραλείψετε τον κωδικό εάν πληρούνται ορισμένες προϋποθέσεις.

123456789101112 Υπο GoTo_Example ()Dim έτος ως ακέραιοςέτος = 2019Εάν έτος> = 2019 Τότε GoTo Skip«Δεδομένα επεξεργασίας για χρόνια <2022MsgBox "Το έτος είναι πριν από το 2022"Παραλείπω:Τέλος υπο

Ετικέτες πολλαπλών γραμμών GoTo

Μπορείτε επίσης να χρησιμοποιήσετε τις δηλώσεις GoTo για μετάβαση στις σχετικές γραμμές κώδικα. Ας προσαρμόσουμε το προηγούμενο παράδειγμα μας για να μεταβούμε σε διαφορετικές τοποθεσίες κώδικα με βάση το έτος που είναι:

1234567891011121314151617181920212223242526272829303132 Sub GoTo_Statement ()Dim έτος ως ακέραιοςέτος = 2019Αν έτος = 2019 ΤότεGoTo έτος 2019Άλλο Έτος = 2010 ΤότεGoTo έτος 2020ΑλλούGoTo έτος 2021Τέλος εανέτος 2019:«Διαδικασία 2022MsgBox "Το έτος είναι το 2022"GoTo EndProcέτος 2020:«Διαδικασία 2022MsgBox "Το έτος είναι το 2022"GoTo EndProcέτος 2021:«Διαδικασία 2022+MsgBox "Το έτος είναι 2022+"EndProc:Τέλος υπο

Προσέξτε το "GoTo EndProc" πριν από κάθε ετικέτα γραμμής. Προσθέσαμε αυτήν τη γραμμή κώδικα έτσι ώστε να παραλείπονται αυτές οι ενότητες κώδικα, εκτός εάν είναι προσβάσιμες από το σχετικό "GoTo".

GoTo Error Handler Τέλος διαδικασίας

Τώρα ας χρησιμοποιήσουμε το Error Handling για να πάμε στο τέλος της διαδικασίας εάν υπάρχει σφάλμα.

123456789101112 Sub GoTo_OnError ()Dim i As IntegerΣφάλμα GoTo EndProci = 5 /0MsgBox iEndProc:Τέλος υπο

GoTo Repeat Code

Το τελευταίο μας παράδειγμα θα χρησιμοποιήσει τη δήλωση GoTo για να επαναλάβει κάποιον κώδικα.

Παρακάτω χρησιμοποιούμε ένα κουτί μηνυμάτων Ναι / Όχι (Κάντε κλικ για να μάθετε περισσότερα) για να επιβεβαιώσετε ότι ο χρήστης αναγνωρίζει την προειδοποίηση. Εάν κάνουν κλικ στο «Όχι», το πλαίσιο μηνυμάτων θα εμφανιστεί ξανά μέχρι να κάνει κλικ στο «Ναι» (δείτε το GIF παρακάτω).

1234567891011 Sub GoTo_YesNoMsgBox ()RepeatMsg:Αμυδρή απάντηση ως ακέραιοςanswer = MsgBox ("ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Αυτό το αρχείο άνοιξε ως αρχείο μόνο για ανάγνωση, που σημαίνει ότι οι αλλαγές που κάνετε δεν θα αποθηκευτούν εκτός εάν/έως ότου έχετε δικαιώματα εγγραφής-πρόσβασης." & _Chr (13) & Chr (13) & "Select File, SaveAs για να αποθηκεύσετε ένα αντίγραφο πριν εργαστείτε σε αυτό το αρχείο." & vbNewLine & vbNewLine & "Καταλαβαίνετε;", vbExclamation + vb Ναι Όχι, "WARNING!")Αν απάντηση = vb Όχι Τότε GoTo RepeatMsg 'Επανάληψη έως ότου ο χρήστης κάνει κλικ στο "Ναι"Τέλος υπο

VBA GoTo a Line Label στο Access VBA

Όλα τα παραπάνω παραδείγματα λειτουργούν ακριβώς το ίδιο στην Access VBA όπως στο Excel VBA.

1234567 Sub TestGoTo ()On Error GoTo λήξηDoCmd.OpenForm "FrmClients"Έξοδος Subκατάληξη:MsgBox "Δεν είναι δυνατό το άνοιγμα της φόρμας"Τέλος υπο

Θα βοηθήσει στην ανάπτυξη του τόπου, μοιράζονται τη σελίδα με τους φίλους σας

wave wave wave wave wave