WTF OMG - MEU CODIGO SO FUNCIONA NA 2ª TENTATIVA !

GRIFFON17 29/04/2013 14:58:10
#422689
[txt-color=#2F4F4F]Galera, nunca vi isso antes.

Meu programa possui uma tela de login, ao apertar o botão [Ô]OK[Ô] uma série de códigos são executados, inclusive abrir o Form da Interface, se a senha estiver correta.

Meu problema:
- Por algum motivo, da primeira vez que eu clico no botão [Ô]OK[Ô] o código para de ser executado logo após adicionar um item em uma combobox.
- Na segunda vez que clico, tudo acontece normalmente e o FormInterface é mostrado.
- O problema é que o combobox fica com valores duplicados pois clicou-se 2x no botão OK.

[Ô]PELAMOR[Ô] DE DEUS ME AJUDEM [/txt-color]

      Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click

Dim CN As New ADODB.Connection
Dim RS As New ADODB.Recordset

On Error GoTo ErrorHandler

CN.Open(Path)
RS.Open([Ô]Select * from Usuarios where User_user=[ô][Ô] & TXTuser.Text & [Ô][ô][Ô], CN)

If RS.Fields([Ô]User_senha[Ô]).Value <> TXTsenha.Text Then
MsgBox([Ô]Usuário ou senha inválidos[Ô])
ElseIf RS.Fields([Ô]User_senha[Ô]).Value = TXTsenha.Text Then
FormInterface.LABELusuario.Text = RS.Fields([Ô]User_Nome[Ô]).Value

[txt-color=#007100] [ô]@@@@@@@@@@@@@@@@@@@@@ PREENCHER COMBO_FILTRO_RAMOS @@@@@@@@@@@@@@@@@@@[/txt-color]
Dim STRramos As String = RS.Fields([Ô]User_Ramos[Ô]).Value
Dim Spliter
Dim conta As Integer
Dim contador As Integer

Spliter = STRramos
Spliter = Spliter.Split([Ô];[Ô])
conta = UBound(Spliter)

For contador = 0 To conta
FormInterface.ComboFiltroRamo.Items.Add(Spliter(contador))
Next
FormInterface.ComboFiltroRamo.Items.Add([Ô]--- TODOS ---[Ô])
[txt-color=#FF00FF] [ô]NA PRIMEIRA VEZ QUE CLICO OK, O MEU CÓDIGO PARA DE SER EXECUTADO AQUI [/txt-color]
FormInterface.ComboFiltroRamo.Text = [Ô]--- TODOS ---[Ô]

[txt-color=#007100] [ô]@@@@@@@@@@@@@@@@@@@@@@@@ HABILITA BOTOES @@@@@@@@@@@@@@@@@@@@@@@@@@@@@[/txt-color]
If RS.Fields([Ô]User_Agenda[Ô]).Value = 1 Then [txt-color=#007100][ô]HABILITA BOTÃO AGENDA[/txt-color]
FormInterface.BOTagendar.Show()
End If
If RS.Fields([Ô]User_CalcCam[Ô]).Value = 1 Then [txt-color=#007100][ô]HABILITA BOTÃO CALCULO DE CAMARA FRIA[/txt-color]
FormInterface.BOTcalcpainel.Show()
End If
If RS.Fields([Ô]User_Relatar[Ô]).Value = 1 Then [txt-color=#007100][ô]HABILITA BOTÃO RELATAR[/txt-color]
FormInterface.BOTrelatar.Show()
End If
If RS.Fields([Ô]User_Concorrente[Ô]).Value = 1 Then [txt-color=#007100][ô]HABILITA BOTÃO CONCORRENTES[/txt-color]
FormInterface.BOTconcorrente.Show()
End If

FormInterface.Show()
Me.Close()
End If

RS.Close()
CN.Close()

ErrorHandler:
If Err.Number = 3021 Then [ô] Sem registro corrente
MsgBox([Ô]Usuário ou senha inválidos[Ô])
End If
ErrorHandlerExit:

End Sub
[txt-color=#007100] [/txt-color]
KERPLUNK 29/04/2013 15:26:00
#422693
Você está usando ADO e não ADO.NET? Amigo, você está colocando um motor de fusquinha dentro de uma Ferrari...
GRIFFON17 29/04/2013 16:03:21
#422702
Por enquanto estou usando ADO sim. Será que este podes ser o problema ?
OCELOT 29/04/2013 21:33:31
#422712
Provavelmente está dando algum erro e você está ignorando ele, sem contar que você está usando o tratamento de erros no estilo do VB6 em vez de usar Try/Catch
GRIFFON17 30/04/2013 12:10:16
#422721
Citação:

:
Provavelmente está dando algum erro e você está ignorando ele, sem contar que você está usando o tratamento de erros no estilo do VB6 em vez de usar Try/Catch



Vc tinha razão, o [txt-color=#0000f0]Error Handler[/txt-color] estava ignorando o erro.

Retirei o [txt-color=#0000f0]Error Hadler[/txt-color] e apareceu a seguinte mensagem de erro:

Citação:

[Microsoft][ODBC Driver Manager] Nome da fonte de dados não encontrado e nenhum driver padrão especificado



O estranho é que ignorando esse erro com o [txt-color=#0000f0]Error Handler[/txt-color] e clicando denovo em [Ô]OK[Ô] tudo funciona perfeitamente Alguem sabe como resolver este erro ?
Faça seu login para responder