Siebel VB Language Reference > VB Language Reference >

GoTo Statement

This standard VB method transfers program control to a specified label.


GoTo label



A name beginning in the first column of a line of code and ending in a colon (:)


Not applicable


A label has the same format as any other Basic name. Reserved words are not valid labels.

GoTo cannot be used to transfer control out of the current Function or Subprogram.


This example displays the date for one week from the date entered by the user. If the date is invalid, the GoTo statement sends program execution back to the beginning.

Sub Button_Click
   Dim str1 as String
   Dim nextweek
   Dim msgtext
   str1 = "5/20/2001"
   answer = IsDate(str1)
   If answer = -1 then
      str1 = CVDate(str1)
      nextweek = DateValue(str1) + 7
      msgtext = "One week from the date entered is "
      msgtext = msgtext & Format(nextweek,"dddddd")
      GoTo start
      End If
End Sub

NOTE:  Good programming practice is to avoid the use of GoTo statements. When possible, other constructs should be used to accomplish the same end. For example, the previous example could be reworked so that the If statement appears in a separate function called by the main program. If the test failed, the initial routine could be called again. The following example demonstrates this alternative.

(general) (declarations)
Option Explicit
' Variables must be declared in this section so that they
' can be used by both procedures.
Dim str1 As String, nextweek, MsgText As String
Declare Function CheckResponse(Answer) As String

Function CheckResponse(Answer) As String
   str1 = CVDate(str1)
   nextweek = DateValue(str1) + 7
   CheckResponse = "One week from the date entered is " & _
      Format(nextweek, "dddddd")
End Function

Sub Button1_Click
   Dim Answer as String
   str1 = "2/5/2001"
   Answer = IsDate(str1)
   If Answer <> -1 Then
      'Invalid date or format. Try again.
      Answer = CheckResponse(Answer)
      End If
End Sub

See Also

Do...Loop Statement
If...Then...Else Statement
Select Case Statement
While...Wend Statement

Siebel VB Language Reference