Results 1 to 9 of 9

Thread: Exit Sub[RESOLVED]

  1. #1

    Thread Starter
    Frenzied Member
    Join Date
    Nov 2004
    Posts
    1,414

    Resolved Exit Sub[RESOLVED]

    Hi to all:

    I need to exit a form in some situation like:

    VB Code:
    1. If var <> 1 Then
    2. MsgBox "Atenção:O Ano Selecionado Não existe na Base de Dados"
    3. Exit Sub
    4. End If

    but the "Exit Sub" don't work like desired,because the code continue to work,in the form ....

    well... I need to exit the form...
    Some help to do this?

    Thanks
    Last edited by sacramento; Feb 25th, 2006 at 04:15 PM.

  2. #2
    Member nn77's Avatar
    Join Date
    Dec 2005
    Posts
    45

    Re: Exit Sub

    How about?
    End
    or
    Unload me

  3. #3

    Thread Starter
    Frenzied Member
    Join Date
    Nov 2004
    Posts
    1,414

    Re: Exit Sub

    end ....end the program
    Unload me don't work

    I just want exit the form

  4. #4
    Member nn77's Avatar
    Join Date
    Dec 2005
    Posts
    45

    Re: Exit Sub

    Then unload with form name eg

    Unload frmMainMenu

  5. #5

    Thread Starter
    Frenzied Member
    Join Date
    Nov 2004
    Posts
    1,414

    Re: Exit Sub

    still not work,because the rest of the code,in the form, continue to be executed

  6. #6
    Smitten by reality Harsh Gupta's Avatar
    Join Date
    Feb 2005
    Posts
    2,938

    Re: Exit Sub

    could you please post the whole code of that form, or atleast of that sub/function in which Exit sub is not working?

    Harsh Gupta
    Show Appreciation. Rate Posts.

  7. #7

    Thread Starter
    Frenzied Member
    Join Date
    Nov 2004
    Posts
    1,414

    Re: Exit Sub

    Dim db As Database
    Dim Ro As Recordset

    Private Sub relatorio()

    Dim mystr As Integer
    Dim itmX As ListItem


    ListView1.ColumnHeaders.Add , , "NºAnilha", ListView1.Width / 9
    ListView1.ColumnHeaders.Add , , "DtªNasc.", ListView1.Width / 14, lvwColumnCenter
    ListView1.ColumnHeaders.Add , , "Côr", ListView1.Width / 5, lvwColumnCenter
    ListView1.ColumnHeaders.Add , , "Sexo", ListView1.Width / 15, lvwColumnCenter
    ListView1.ColumnHeaders.Add , , "Viveiro Nº", ListView1.Width / 8, lvwColumnCenter
    ListView1.ColumnHeaders.Add , , "Grau Qualidade", ListView1.Width / 10, lvwColumnCenter
    ListView1.ColumnHeaders.Add , , "NºViveiro Madrasta", ListView1.Width / 9, lvwColumnCenter
    ListView1.ColumnHeaders.Add , , "NºAnilha Pai", ListView1.Width / 10, lvwColumnCenter
    ListView1.ColumnHeaders.Add , , "NºAnilha Mãe", ListView1.Width / 10, lvwColumnCenter
    ListView1.ColumnHeaders.Add , , "Raça Pai", ListView1.Width / 10, lvwColumnCenter
    ListView1.ColumnHeaders.Add , , "Raça Mãe", ListView1.Width / 10, lvwColumnCenter
    ListView1.ColumnHeaders.Add , , "NRA", ListView1.Width / 20, lvwColumnCenter
    ListView1.ColumnHeaders.Add , , "NRS", ListView1.Width / 20, lvwColumnCenter
    ListView1.ColumnHeaders.Add , , "NRA", ListView1.Width / 20, lvwColumnCenter
    ListView1.View = lvwReport

    ListView2.ColumnHeaders.Add , , "Raça", ListView1.Width / 3
    ListView2.View = lvwReport

    'CARREGA O LISTVIEW2 COM AS RAÇAS QUE EXISTEM NA TABELA DE RAÇAS

    Set db = Workspaces(0).OpenDatabase(App.Path & "\progaves.mdb")
    aSQL = "Select * from tabelaracas"
    Set Ro = db.OpenRecordset(aSQL)
    Set Data1.Recordset = Ro

    Do While Not Data1.Recordset.EOF

    Set itmX = ListView2.ListItems.Add(, , CStr(Data1.Recordset![raca]))

    Ro.MoveNext

    Loop

    Set itmX = ListView2.ListItems.Add(, , CStr("Relatório Geral"))


    '=====================================================================================

    'VAI VERIFICAR SE O ANO SELECIONADO EXISTE

    ano = Text33.Text

    Set db = Workspaces(0).OpenDatabase(App.Path & "\progaves.mdb")
    aSQL = "Select * from anoscriados"
    Set Ro = db.OpenRecordset(aSQL)
    Set Data1.Recordset = Ro


    Do While Not Data1.Recordset.EOF

    anos = Data1.Recordset![anos]

    If ano = anos Then
    var = 1
    Exit Do
    End If

    Ro.MoveNext

    Loop

    If var <> 1 Then
    MsgBox "Atenção:O Ano Selecionado Não existe na Base de Dados"
    Unload frmrelatorio
    End If


    '=====================================================================================
    'CARREGA O LISTVIEW COM OS ELEMENTOS



    Set db = Workspaces(0).OpenDatabase(App.Path & "\progaves.mdb")
    aSQL = "Select * from " & ano
    aSQL = aSQL & " ORDER BY n_anilha1,n_anilha2,n_anilha3,n_anilha4,n_anilha5,n_anilha6,n_anilha7,n_anilha8"
    Set Ro = db.OpenRecordset(aSQL)
    Set Data1.Recordset = Ro


    Do While Not Data1.Recordset.EOF


    For n = 1 To 8

    s1 = "n_anilha" & n
    s2 = "estadoavemorte" & n
    s3 = "estadoave" & n
    s4 = "cor" & n
    s5 = "sexo" & n
    s6 = "viveiro_nº"
    s7 = "dt_nascenca" & n
    s8 = n & "ºovoviveiro"
    s9 = "anilhamacho"
    s10 = "anilhafemea"
    s11 = "racamacho"
    s12 = "racafemea"


    valor = Data1.Recordset.Fields(s1).value
    valor1 = Data1.Recordset.Fields(s2).value
    valor2 = Data1.Recordset.Fields(s3).value
    valor3 = Data1.Recordset.Fields(s4).value
    valor4 = Data1.Recordset.Fields(s5).value
    valor5 = Data1.Recordset.Fields(s6).value
    valor6 = Data1.Recordset.Fields(s7).value
    valor7 = Data1.Recordset.Fields(s8).value
    valor8 = Data1.Recordset.Fields(s9).value
    valor9 = Data1.Recordset.Fields(s10).value
    valor10 = Data1.Recordset.Fields(s11).value & ""
    valor11 = Data1.Recordset.Fields(s12).value & ""


    If valor <> "" And valor1 = "" Then
    Data = Right(valor6, 4)
    If Data <> Text33.Text Then
    Else
    Set itmX = ListView1.ListItems.Add(, , CStr(valor))
    itmX.SubItems(1) = CStr(valor6)
    itmX.SubItems(2) = CStr(valor3)
    itmX.SubItems(3) = CStr(valor4)
    itmX.SubItems(4) = CStr(valor5)
    itmX.SubItems(6) = CStr(valor7)
    itmX.SubItems(7) = CStr(valor8)
    itmX.SubItems(8) = CStr(valor9)
    itmX.SubItems(9) = CStr(valor10)
    itmX.SubItems(10) = CStr(valor11)


    End If
    End If


    Next

    Ro.MoveNext

    Loop



    End Sub
    Private Sub Form_Load()

    frmrelatorio.BackColor = RGB(239, 238, 238)
    Text33.BackColor = RGB(153, 204, 51)
    For n = 0 To 2
    Label1(n).ForeColor = RGB(153, 204, 51)
    Next
    For n = 0 To 2
    Label1(n).BackColor = RGB(239, 238, 238)
    Next
    Label3.BackColor = RGB(114, 112, 111)
    Label2.BackColor = RGB(239, 238, 238)


    Text33.Text = frmAno.Text1(1).Text

    relatorio

    End Sub

    Private Sub ListView2_Click()

    Dim racas As String

    racas = ListView2.SelectedItem

    Label2 = "Por Raça: " & racas & ":"

    ano = Text33.Text

    'CARREGA O LISTVIEW COM OS ELEMENTOS

    Set db = Workspaces(0).OpenDatabase(App.Path & "\progaves.mdb")
    aSQL = "Select * from " & ano
    aSQL = aSQL & " ORDER BY n_anilha1,n_anilha2,n_anilha3,n_anilha4,n_anilha5,n_anilha6,n_anilha7,n_anilha8"
    Set Ro = db.OpenRecordset(aSQL)
    Set Data1.Recordset = Ro

    ListView1.ListItems.Clear

    Do While Not Data1.Recordset.EOF


    For n = 1 To 8

    s1 = "n_anilha" & n
    s2 = "estadoavemorte" & n
    s3 = "estadoave" & n
    s4 = "cor" & n
    s5 = "sexo" & n
    s6 = "viveiro_nº"
    s7 = "dt_nascenca" & n
    s8 = n & "ºovoviveiro"
    s9 = "anilhamacho"
    s10 = "anilhafemea"
    s11 = "racamacho"
    s12 = "racafemea"


    valor = Data1.Recordset.Fields(s1).value
    valor1 = Data1.Recordset.Fields(s2).value
    valor2 = Data1.Recordset.Fields(s3).value
    valor3 = Data1.Recordset.Fields(s4).value
    valor4 = Data1.Recordset.Fields(s5).value
    valor5 = Data1.Recordset.Fields(s6).value
    valor6 = Data1.Recordset.Fields(s7).value
    valor7 = Data1.Recordset.Fields(s8).value
    valor8 = Data1.Recordset.Fields(s9).value
    valor9 = Data1.Recordset.Fields(s10).value
    valor10 = Data1.Recordset.Fields(s11).value & ""
    valor11 = Data1.Recordset.Fields(s12).value & ""


    If valor <> "" And valor1 = "" And Data1.Recordset![racamacho] = racas Then
    Data = Right(valor6, 4)
    If Data <> Text33.Text Then
    Else
    Set itmX = ListView1.ListItems.Add(, , CStr(valor))
    itmX.SubItems(1) = CStr(valor6)
    itmX.SubItems(2) = CStr(valor3)
    itmX.SubItems(3) = CStr(valor4)
    itmX.SubItems(4) = CStr(valor5)
    itmX.SubItems(6) = CStr(valor7)
    itmX.SubItems(7) = CStr(valor8)
    itmX.SubItems(8) = CStr(valor9)
    itmX.SubItems(9) = CStr(valor10)
    itmX.SubItems(10) = CStr(valor11)

    End If
    End If

    If valor <> "" And valor1 = "" And racas = "Relatório Geral" Then
    Label2 = "Geral de Criações"
    Data = Right(valor6, 4)
    If Data <> Text33.Text Then
    Else
    Set itmX = ListView1.ListItems.Add(, , CStr(valor))
    itmX.SubItems(1) = CStr(valor6)
    itmX.SubItems(2) = CStr(valor3)
    itmX.SubItems(3) = CStr(valor4)
    itmX.SubItems(4) = CStr(valor5)
    itmX.SubItems(6) = CStr(valor7)
    itmX.SubItems(7) = CStr(valor8)
    itmX.SubItems(8) = CStr(valor9)
    itmX.SubItems(9) = CStr(valor10)
    itmX.SubItems(10) = CStr(valor11)

    End If
    End If


    Next

    Ro.MoveNext

    Loop



    End Sub

  8. #8
    Oi, fat-rag! bushmobile's Avatar
    Join Date
    Mar 2004
    Location
    on the poop deck
    Posts
    5,592

    Re: Exit Sub

    This should work:

    VB Code:
    1. If var <> 1 Then
    2.   MsgBox "Atenção:O Ano Selecionado Não existe na Base de Dados"
    3.   Unload Me
    4.   Exit Sub
    5. End If

    I think that the Unload statement posts a WM_CLOSE message to the window, so you then have exit the procedure you are in so it can respond to the next message (the close message). I think that's how it happens, but someone may correct me.

  9. #9

    Thread Starter
    Frenzied Member
    Join Date
    Nov 2004
    Posts
    1,414

    Re: Exit Sub

    yes...now work..

    Thanks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width