Jump to content
Bessa

MsgBox "SIM/NÃO" não funciona

Recommended Posts

Bessa

Boas Pessoal!

Mais uma problema que já estou às voltas à muito tempo, mas que nunca consegui resolver e para não estar no mesmo muito tempo, fui avançando para outros...Mas chegou a altura de mais uma vez tentar resolver.

É o seguinte:

- Fiz uma MsgBox SIM/NÃO (Não preencheu todos os campos! Deseja guardar?) que aparece, caso quando clico GUARDAR, os campos que pedi não estejam preenchidos...No Entanto, como o botão tem vários IF, caso eu Clique SIM, ele não guarda. E caso clique não, Não guarda (Correto).

Que poderá ser? Eu acho que ele supostamente estava todo bem, mas ao que parece o VB acha que não... :(

Código do Botão Guardar: (É um pouco grande...  ;) E Os comentário que fiz, algum pode não ter nexo perante o código abaixo dele lol E há por lá o ciclo IF de 1 a 15 que provavelmente há forma com menos código, mas coo sou n00b... lol)

 'VERIFICA SE TODOS OS CAMPOS ESTÃO PREENCHIDOS

        If Artigo_escolhidoComboBox.Text = "" Or Fase_artigoComboBox.Text = "" Or ProgramaTextBox.Text = "" Then 'Or Ferramentas_corte_selecListBox.Text = "" Or Ferramentas_posic_selecListBox.Text = "" Or Comprimento_ferr_corteListBox.Text = "" Or Diametro_ferr_corteListBox.Text = "" Or X_ferr_posListBox.Text = "" Or Y_ferr_posListBox.Text = "" Or Z_ferr_posListBox.Text = "" Then

            MsgBox("Não preencheu todos os campos! Deseja guardar?", MsgBoxStyle.YesNo, "Questão")


            '##############


            'CASO NÃO ESTEJAM, PERGUNTA SE QUER GUARDAR, SE A RESPOSTA FOR NÃO...

            If Windows.Forms.DialogResult.No Then

                'NÃO FAZ NADA

            End If

        Else

            If Windows.Forms.DialogResult.Yes Then


                '##############


                'VERIFICA SE O VALOR DA COMBO É MAIOR QUE 1. SE FOR, LEMBRA QUE TEM DE PREENCHER AS FASES RESTANTES


                'GUARDA

                Dim connection As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Application.StartupPath & "\bdfelino.accdb")

                connection.Open()

                For i As Integer = 0 To Ferramentas_corte_selecListBox.Items.Count - 1 And Ferramentas_posic_selecListBox.Items.Count - 1

                    Dim query As String = "INSERT INTO associar_ferramentas (artigo_escolhido, operacao_artigo, fase_artigo, programa, gfh, ferramentas_corte_selec, ferramentas_posic_selec, comprimento_ferr_corte, diametro_ferr_corte, x_ferr_pos, y_ferr_pos, z_ferr_pos) VALUES (@artigo_escolhido, @operacao_artigo, @fase_artigo, @programa, @gfh, @Ferramentas_corte_selec, @Ferramentas_posic_selec, @Comprimento_ferr_corte, @Diametro_ferr_corte, @X_ferr_pos, @Y_ferr_pos, @Z_ferr_pos)"

                    Dim command As New OleDbCommand(query, connection)

                    command.Parameters.Add("@artigo_escolhido", OleDbType.VarChar).Value = Artigo_escolhidoComboBox.Text
                    command.Parameters.Add("@operacao_artigo", OleDbType.VarChar).Value = Operacao_artigoListBox.Text
                    command.Parameters.Add("@fase_artigo", OleDbType.VarChar).Value = fase_artigo.Text
                    command.Parameters.Add("@programa", OleDbType.VarChar).Value = ProgramaTextBox.Text
                    command.Parameters.Add("@gfh", OleDbType.VarChar).Value = GfhListBox.Text

                    command.Parameters.Add("@ferramentas_corte_selec", OleDbType.VarChar).Value = Ferramentas_corte_selecListBox.Items(i).ToString()
                    command.Parameters.Add("@ferramentas_posic_selec", OleDbType.VarChar).Value = Ferramentas_posic_selecListBox.Items(i).ToString()
                    command.Parameters.Add("@comprimento_ferr_corte", OleDbType.Integer).Value = Comprimento_ferr_corteListBox.Items(i & Environment.NewLine).ToString()
                    command.Parameters.Add("@diametro_ferr_corte", OleDbType.Integer).Value = Diametro_ferr_corteListBox.Items(i).ToString()
                    command.Parameters.Add("@x_ferr_pos", OleDbType.Integer).Value = X_ferr_posListBox.Items(i).ToString()
                    command.Parameters.Add("@y_ferr_pos", OleDbType.Integer).Value = Y_ferr_posListBox.Items(i).ToString()
                    command.Parameters.Add("@z_ferr_pos", OleDbType.Integer).Value = Z_ferr_posListBox.Items(i).ToString()

                    command.ExecuteNonQuery()

                Next

                connection.Close()

                If fase_artigo.Text = Fase_artigoComboBox.Text Then

                    MsgBox("Já preencheu todas as fases que definiu para esta Operação!", MsgBoxStyle.Information, "Informação")

                    Artigo_escolhidoComboBox.Enabled = True
                    Fase_artigoComboBox.Enabled = True
                    Operacao_artigoListBox.Enabled = False
                    GfhListBox.Enabled = False
                    fase_artigo.Text = "1"
                    Ferramentas_corte_selecListBox.Items.Clear()
                    Ferramentas_posic_selecListBox.Items.Clear()
                    Comprimento_ferr_corteListBox.Items.Clear()
                    Diametro_ferr_corteListBox.Items.Clear()
                    X_ferr_posListBox.Items.Clear()
                    Y_ferr_posListBox.Items.Clear()
                    Z_ferr_posListBox.Items.Clear()
                    ProgramaTextBox.Text = ""
                Else

                    If Fase_artigoComboBox.Text > "1" And fase_artigo.Text <= Fase_artigoComboBox.Text Then

                        MsgBox("Preencha a(s) fase(s) restante(s)!", MsgBoxStyle.Information, "Informação")

                        Fase_artigoComboBox.Enabled = False
                        Artigo_escolhidoComboBox.Enabled = False


                        Artigo_escolhidoComboBox.Enabled = False
                        Fase_artigoComboBox.Enabled = False
                        Ferramentas_corte_selecListBox.Items.Clear()
                        Ferramentas_posic_selecListBox.Items.Clear()
                        Comprimento_ferr_corteListBox.Items.Clear()
                        Diametro_ferr_corteListBox.Items.Clear()
                        X_ferr_posListBox.Items.Clear()
                        Y_ferr_posListBox.Items.Clear()
                        Z_ferr_posListBox.Items.Clear()
                        Operacao_artigoListBox.Enabled = False
                        GfhListBox.Enabled = False
                        '##############


                        'VERIFICA E INSERE NA TEXTBOX, QUAL A PRÓXIMA FASE A PREENCHER


                        If fase_artigo.Text = "1" Then
                            fase_artigo.Text = "2"
                        Else
                            If fase_artigo.Text = "2" Then
                                fase_artigo.Text = "3"
                            Else
                                If fase_artigo.Text = "3" Then
                                    fase_artigo.Text = "4"
                                Else
                                    If fase_artigo.Text = "4" Then
                                        fase_artigo.Text = "5"
                                    Else
                                        If fase_artigo.Text = "5" Then
                                            fase_artigo.Text = "6"
                                        Else
                                            If fase_artigo.Text = "6" Then
                                                fase_artigo.Text = "7"
                                            Else
                                                If fase_artigo.Text = "7" Then
                                                    fase_artigo.Text = "8"
                                                Else
                                                    If fase_artigo.Text = "8" Then
                                                        fase_artigo.Text = "9"
                                                    Else
                                                        If fase_artigo.Text = "9" Then
                                                            fase_artigo.Text = "10"
                                                        Else
                                                            If fase_artigo.Text = "10" Then
                                                                fase_artigo.Text = "11"
                                                            Else
                                                                If fase_artigo.Text = "11" Then
                                                                    fase_artigo.Text = "12"
                                                                Else
                                                                    If fase_artigo.Text = "12" Then
                                                                        fase_artigo.Text = "13"
                                                                    Else
                                                                        If fase_artigo.Text = "13" Then
                                                                            fase_artigo.Text = "14"
                                                                        Else
                                                                            If fase_artigo.Text = "14" Then
                                                                                fase_artigo.Text = "15"


                                                                                Artigo_escolhidoComboBox.Enabled = False
                                                                                Fase_artigoComboBox.Enabled = False
                                                                                Ferramentas_corte_selecListBox.Items.Clear()
                                                                                Ferramentas_posic_selecListBox.Items.Clear()
                                                                                Comprimento_ferr_corteListBox.Items.Clear()
                                                                                Diametro_ferr_corteListBox.Items.Clear()
                                                                                X_ferr_posListBox.Items.Clear()
                                                                                Y_ferr_posListBox.Items.Clear()
                                                                                Z_ferr_posListBox.Items.Clear()

                                                                                '##############

                                                                                '##########


                                                                                'VALIDA OS CAMPOS

                                                                                ProgramaTextBox.Enabled = True
                                                                                Fase_artigoComboBox.Enabled = False
                                                                                Button2.Enabled = False
                                                                                Button6.Enabled = False
                                                                                Button8.Enabled = False
                                                                                Button9.Enabled = False
                                                                                Artigo_escolhidoComboBox.Enabled = False
                                                                                Operacao_artigoListBox.Enabled = False
                                                                                GfhListBox.Enabled = False
                                                                                '##############

                                                                            Else


                                                                                ' SE FOR MENOR OU IGUAL A 1, GUARDA

                                                                                If Fase_artigoComboBox.Text <= "1" Then

                                                                                    'Dim connection As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Application.StartupPath & "\bdfelino.accdb")

                                                                                    connection.Open()

                                                                                    For i As Integer = 0 To Ferramentas_corte_selecListBox.Items.Count - 1 And Ferramentas_posic_selecListBox.Items.Count - 1

                                                                                        Dim query As String = "INSERT INTO associar_ferramentas (artigo_escolhido, operacao_artigo, fase_artigo, programa, gfh, ferramentas_corte_selec, ferramentas_posic_selec, comprimento_ferr_corte, diametro_ferr_corte, x_ferr_pos, y_ferr_pos, z_ferr_pos) VALUES (@artigo_escolhido, @operacao_artigo, @fase_artigo, @programa, @gfh, @Ferramentas_corte_selec, @Ferramentas_posic_selec, @Comprimento_ferr_corte, @Diametro_ferr_corte, @X_ferr_pos, @Y_ferr_pos, @Z_ferr_pos)"

                                                                                        Dim command As New OleDbCommand(query, connection)

                                                                                        command.Parameters.Add("@artigo_escolhido", OleDbType.VarChar).Value = Artigo_escolhidoComboBox.Text
                                                                                        command.Parameters.Add("@operacao_artigo", OleDbType.VarChar).Value = Operacao_artigoListBox.Text
                                                                                        command.Parameters.Add("@fase_artigo", OleDbType.VarChar).Value = fase_artigo.Text
                                                                                        command.Parameters.Add("@programa", OleDbType.VarChar).Value = ProgramaTextBox.Text
                                                                                        command.Parameters.Add("@gfh", OleDbType.VarChar).Value = GfhListBox.Text

                                                                                        command.Parameters.Add("@ferramentas_corte_selec", OleDbType.VarChar).Value = Ferramentas_corte_selecListBox.Items(i).ToString()
                                                                                        command.Parameters.Add("@ferramentas_posic_selec", OleDbType.VarChar).Value = Ferramentas_posic_selecListBox.Items(i).ToString()
                                                                                        command.Parameters.Add("@comprimento_ferr_corte", OleDbType.Integer).Value = Comprimento_ferr_corteListBox.Items(i & Environment.NewLine).ToString()
                                                                                        command.Parameters.Add("@diametro_ferr_corte", OleDbType.Integer).Value = Diametro_ferr_corteListBox.Items(i).ToString()
                                                                                        command.Parameters.Add("@x_ferr_pos", OleDbType.Integer).Value = X_ferr_posListBox.Items(i).ToString()
                                                                                        command.Parameters.Add("@y_ferr_pos", OleDbType.Integer).Value = Y_ferr_posListBox.Items(i).ToString()
                                                                                        command.Parameters.Add("@z_ferr_pos", OleDbType.Integer).Value = Z_ferr_posListBox.Items(i).ToString()

                                                                                        command.ExecuteNonQuery()

                                                                                    Next

                                                                                    connection.Close()

                                                                                    '##########

                                                                                    'Validar

                                                                                    ProgramaTextBox.Enabled = False
                                                                                    Fase_artigoComboBox.Enabled = False
                                                                                    Button2.Enabled = False
                                                                                    Button6.Enabled = False
                                                                                    Button8.Enabled = False
                                                                                    Button9.Enabled = False
                                                                                    Operacao_artigoListBox.Enabled = False
                                                                                    GfhListBox.Enabled = False

                                                                                    Artigo_escolhidoComboBox.Text = ""
                                                                                    ProgramaTextBox.Text = ""
                                                                                    Fase_artigoComboBox.Text = ""

                                                                                    If Windows.Forms.DialogResult.No Then

                                                                                        'NÃO FAZ NADA

                                                                                    End If
                                                                                End If
                                                                            End If
                                                                        End If
                                                                    End If
                                                                End If
                                                            End If
                                                        End If
                                                    End If
                                                End If
                                            End If
                                        End If
                                    End If
                                End If
                            End If
                        End If
                    End If
                End If
            End If
        End If

Share this post


Link to post
Share on other sites
Caça

Tenta assim

If MsgBox("Não preencheu todos os campos! Deseja guardar?", MsgBoxStyle.YesNo, "Questão") = Windows.Forms.DialogResult.Yes Then
'Faz o que tem a fazer quando o user clicou em sim
Else
'Faz o que tem a fazer quando o user clicou em Não
End If


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Bessa

Se eu fizer assim, ele realmente grava quando eu selecciono SIM.

Mas se aquela TextBox estiver preenchida, apesar de não me dar nenhuma MsgBox (mas devia dar a que diz "que já definiu todas as fases ou que ainda falta definir algum)", não me guarda. :(

Obrigado desde já.

Share this post


Link to post
Share on other sites
Caça

Esse código está muito confuso...

Provavelmente, esta-te a falhar algum If, no meio disso tudo.


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Bessa

Pois... :S

Já li mais que uma vez o Código e não estou a ver onde falha! :wallbash:

Share this post


Link to post
Share on other sites
thoga31

Normalmente eu até costumo utilizar, quando a aplicação é em GUI e não em Consola, o MessageBox e não o MsgBox.

No teu caso, faria assim:

Dim Result As DialogResult = MessageBox.Show("Não preencheu todos os campos!" & vbNewLine & "Deseja guardar?", _
                                             "Atenção!", MessageBoxButtons.YesNo, MessageBox.Exclamation)

Select Case Result
       Case Windows.Forms.DialogResult.Yes
            ' Código
       Case Windows.Forms.DialogResult.No
            ' Código
End Select

Cumpz. :(


Knowledge is free!

Share this post


Link to post
Share on other sites
Bessa

thoga31

Obrigado pela tentares ajudar. :( Tentei com o código e já com mas umas invenções que tive a fazer a apartir do código anterior e não consegui resolver o problema.

O Resultado é sempre o mesmo: Se estiver tudo preenchido NÃO GUARDA, se NÃO estiver tudo preenchido, dá o aviso se quero guardar ou não e faz o que é devido, se carregar SIM GUARDA, se carregar NÃO, Não guarda! 🤔

Share this post


Link to post
Share on other sites
thoga31

thoga31

Obrigado pela tentares ajudar. :( Tentei com o código e já com mas umas invenções que tive a fazer a apartir do código anterior e não consegui resolver o problema.

O Resultado é sempre o mesmo: Se estiver tudo preenchido NÃO GUARDA, se NÃO estiver tudo preenchido, dá o aviso se quero guardar ou não e faz o que é devido, se carregar SIM GUARDA, se carregar NÃO, Não guarda! 🤔

Então o problema não é da MessageBox, pois ela, pelos vistos, está a funcionar.

        If Artigo_escolhidoComboBox.Text = "" Or Fase_artigoComboBox.Text = "" Or ProgramaTextBox.Text = "" Then 'Or Ferramentas_corte_selecListBox.Text = "" Or Ferramentas_posic_selecListBox.Text = "" Or Comprimento_ferr_corteListBox.Text = "" Or Diametro_ferr_corteListBox.Text = "" Or X_ferr_posListBox.Text = "" Or Y_ferr_posListBox.Text = "" Or Z_ferr_posListBox.Text = "" Then
            MsgBox("Não preencheu todos os campos! Deseja guardar?", MsgBoxStyle.YesNo, "Questão")
            If Windows.Forms.DialogResult.No Then
                'NÃO FAZ NADA
            End If
        Else

            If Windows.Forms.DialogResult.Yes Then

Este DialogResult é de onde?


Knowledge is free!

Share this post


Link to post
Share on other sites
bioshock

Sinceramente não consegui perceber muito bem o teu problema. Mas dado as respostas, eu utilizo sempre este método:

 If MessageBox.Show("Hello darling", My.Application.Info.Title, MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
            MsgBox("Cum catano, deus nosso senhor!")
        Else
            MsgBox("Tá queto no rapaz mosso.")
        End If

Share this post


Link to post
Share on other sites
thoga31

Sinceramente não consegui perceber muito bem o teu problema. Mas dado as respostas, eu utilizo sempre este método:

 If MessageBox.Show("Hello darling", My.Application.Info.Title, MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
            MsgBox("Cum catano, deus nosso senhor!")
        Else
            MsgBox("Tá queto no rapaz mosso.")
        End If

Pelos vistos o problema nem está na MessageBox. Acho que já entendi. Vou sistematizar:

  • Campos todos preenchidos
    • Guardar as informações - problema está aqui, NÃO está a guardar.

    [*]Falta preencher campos - aparece MessageBox

    • Deseja guardar mesmo assim? SIM - guarda - tudo ok;
    • Deseja guardar mesmo assim? NÃO - cancela - tudo ok.

É isto, Bessa?


Knowledge is free!

Share this post


Link to post
Share on other sites
Bessa

thoga31

É a mesma coisa que deixar apenas o ELSE. Mas coloquei esse código só para ver se acontecia algo de diferente! :(:P

Se for Não então

...

Senão

Se for for SIM  então

...

Com o Código que está no Tópico, o que acontece é (E é o que demonstro no vídeo):

  • Campos todos preenchidos
    • Guardar as informações - guarda - tudo ok;

    [*]Falta preencher campos - aparece MessageBox

    • Deseja guardar mesmo assim? SIM - problema está aqui, NÃO está a guardar.
    • Deseja guardar mesmo assim? NÃO - cancela - tudo ok.

Com o Código do Caça, é como dizes:

  • Campos todos preenchidos
    • Guardar as informações - problema está aqui, NÃO está a guardar.

    [*]Falta preencher campos - aparece MessageBox

    • Deseja guardar mesmo assim? SIM - guarda - tudo ok;
    • Deseja guardar mesmo assim? NÃO - cancela - tudo ok.

bioshock

Aqui está um vídeo com o problema:

http://www.mediafire.com/?u1tpwpx1o91b6g1

Obrigado por tudo colegas. :)

Share this post


Link to post
Share on other sites
Caça

@Bessa, está ai um If a escapar-te, mostra o teu código actual.

Coloca no inicio desse código um BreakPoint e percorre o código linha a linha com a tecla F10


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
thoga31

Não tenho tempo de momento para ver o vídeo, mas vou-te dar uns conselhos de optimização do código e estruturação.

O processo de guardar as informações pode ser feito num Sub à parte - chamemos-lhe Guardar. Assim, quando aceitas o formulário, ele apenas vai analisar se está tudo preenchido ou não. Se está, então faz o Sub Guardar. Se não está, mostra a Message Box e se Sim, faz a Sub Guardar, se não, não faz nada e regressa ao formulário.

Suspeito que se tentares assim será mais fácil resolver o problema.

Mais, em vez da confusão de If Else, que culmina numa lista interminável de End If, faz assim:

If X Then
   'código
ElseIf Y Then
   'código
ElseIf Z Then
   'código
   'etc...
End If

Ficas com um só End If e é muito mais fácil de ler. :(


Knowledge is free!

Share this post


Link to post
Share on other sites
bioshock

Não vi o vídeo. Mas pelos comentários que aqui vão, estás a fazer grande filme.

Faz lá o seguinte:

Private Sub Guarda()
' Mete todo o teu código para guardar
End Sub
Private Sub Butt_Click() ' Whatever...
If Textbox1.Text <> "" Then
Guarda()
Else
If MessageBox.Show("Existem alguns campos NULL!" & VbCrLf & "Deseja gravar na mesma?" , My.Application.Info.Title, MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
            Guarda()
        End If
End Sub

Edit: Btw, estive a olhar para a parte final do teu código, mais propriamente para o encadeamento das condições. Visto que são muitas, aconselho-te a usar selecções, exemplo:

SELECT Case Galinha
        Case "Missa"
               Galinha.GoesTo = "Missa"
        Case "Ovos"
               Galinha.GoesTo = "PutEggs"
        Case Else
               Galinha.GoesTo = "Canja de Galinha!"
End Select

Share this post


Link to post
Share on other sites
Bessa

PROBLEMA RESOLVIDO!

Muito Obrigado a todos os colegas! :P

Com a Ideia do thoga31, de criar o Sub à parte + a ajuda do bioshock, funcionou 5*! :)

Há membros do P@P que mereciam uma estátua só por me aturarem e ajudarem! eheheh

Ontem, ainda tentei fazer o Sub, só que estava a dar erro...Erro esse que descobri hoje de manhã! Tinha um EndSub a mais, escondido! LOL Como ficou a funcionar, preferi não arriscar a colocar o "SELECT CASE".  :) Com a sorte que tenho, estragava tudo. :(

Ficou assim:

Botão GUARDAR:

        If Artigo_escolhidoComboBox.Text <> "" And Fase_artigoComboBox.Text <> "" And ProgramaTextBox.Text <> "" Then
            Guarda()

        Else
            If MessageBox.Show("Não preencheu todos os campos!" & vbCrLf & "Deseja guardar?", "Atenção", MessageBoxButtons.YesNo) = Windows.Forms.DialogResult.Yes Then
                Guarda()
            End If
        End If

Private Sub GUARDA

        Dim connection As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & Application.StartupPath & "\bdfelino.accdb")

        connection.Open()

        For i As Integer = 0 To Ferramentas_corte_selecListBox.Items.Count - 1 And Ferramentas_posic_selecListBox.Items.Count - 1

            Dim query As String = "INSERT INTO associar_ferramentas (artigo_escolhido, operacao_artigo, fase_artigo, programa, gfh, ferramentas_corte_selec, ferramentas_posic_selec, comprimento_ferr_corte, diametro_ferr_corte, x_ferr_pos, y_ferr_pos, z_ferr_pos) VALUES (@artigo_escolhido, @operacao_artigo, @fase_artigo, @programa, @gfh, @Ferramentas_corte_selec, @Ferramentas_posic_selec, @Comprimento_ferr_corte, @Diametro_ferr_corte, @X_ferr_pos, @Y_ferr_pos, @Z_ferr_pos)"

            Dim command As New OleDbCommand(query, connection)

            command.Parameters.Add("@artigo_escolhido", OleDbType.VarChar).Value = Artigo_escolhidoComboBox.Text
            command.Parameters.Add("@operacao_artigo", OleDbType.VarChar).Value = Operacao_artigoListBox.Text
            command.Parameters.Add("@fase_artigo", OleDbType.VarChar).Value = fase_artigo.Text
            command.Parameters.Add("@programa", OleDbType.VarChar).Value = ProgramaTextBox.Text
            command.Parameters.Add("@gfh", OleDbType.VarChar).Value = GfhListBox.Text

            command.Parameters.Add("@ferramentas_corte_selec", OleDbType.VarChar).Value = Ferramentas_corte_selecListBox.Items(i).ToString()
            command.Parameters.Add("@ferramentas_posic_selec", OleDbType.VarChar).Value = Ferramentas_posic_selecListBox.Items(i).ToString()
            command.Parameters.Add("@comprimento_ferr_corte", OleDbType.Integer).Value = Comprimento_ferr_corteListBox.Items(i & Environment.NewLine).ToString()
            command.Parameters.Add("@diametro_ferr_corte", OleDbType.Integer).Value = Diametro_ferr_corteListBox.Items(i).ToString()
            command.Parameters.Add("@x_ferr_pos", OleDbType.Integer).Value = X_ferr_posListBox.Items(i).ToString()
            command.Parameters.Add("@y_ferr_pos", OleDbType.Integer).Value = Y_ferr_posListBox.Items(i).ToString()
            command.Parameters.Add("@z_ferr_pos", OleDbType.Integer).Value = Z_ferr_posListBox.Items(i).ToString()

            command.ExecuteNonQuery()

        Next

        connection.Close()

        If fase_artigo.Text = Fase_artigoComboBox.Text Then

            MsgBox("Já preencheu todas as fases que definiu para esta Operação!", MsgBoxStyle.Information, "Informação")

            Artigo_escolhidoComboBox.Enabled = True
            Fase_artigoComboBox.Enabled = True
            Operacao_artigoListBox.Enabled = False
            GfhListBox.Enabled = False
            fase_artigo.Text = "1"
            Ferramentas_corte_selecListBox.Items.Clear()
            Ferramentas_posic_selecListBox.Items.Clear()
            Comprimento_ferr_corteListBox.Items.Clear()
            Diametro_ferr_corteListBox.Items.Clear()
            X_ferr_posListBox.Items.Clear()
            Y_ferr_posListBox.Items.Clear()
            Z_ferr_posListBox.Items.Clear()
            ProgramaTextBox.Text = ""
        Else

            If Fase_artigoComboBox.Text > "1" And fase_artigo.Text <= Fase_artigoComboBox.Text Then

                MsgBox("Preencha a(s) fase(s) restante(s)!", MsgBoxStyle.Information, "Informação")

                Fase_artigoComboBox.Enabled = False
                Artigo_escolhidoComboBox.Enabled = False


                Artigo_escolhidoComboBox.Enabled = False
                Fase_artigoComboBox.Enabled = False
                Ferramentas_corte_selecListBox.Items.Clear()
                Ferramentas_posic_selecListBox.Items.Clear()
                Comprimento_ferr_corteListBox.Items.Clear()
                Diametro_ferr_corteListBox.Items.Clear()
                X_ferr_posListBox.Items.Clear()
                Y_ferr_posListBox.Items.Clear()
                Z_ferr_posListBox.Items.Clear()
                Operacao_artigoListBox.Enabled = False
                GfhListBox.Enabled = False

                'VERIFICA E INSERE NA TEXTBOX, QUAL A PRÓXIMA FASE A PREENCHER

                If fase_artigo.Text = "1" Then
                    fase_artigo.Text = "2"
                Else
                    If fase_artigo.Text = "2" Then
                        fase_artigo.Text = "3"
                    Else
                        If fase_artigo.Text = "3" Then
                            fase_artigo.Text = "4"
                        Else
                            If fase_artigo.Text = "4" Then
                                fase_artigo.Text = "5"
                            Else
                                If fase_artigo.Text = "5" Then
                                    fase_artigo.Text = "6"
                                Else
                                    If fase_artigo.Text = "6" Then
                                        fase_artigo.Text = "7"
                                    Else
                                        If fase_artigo.Text = "7" Then
                                            fase_artigo.Text = "8"
                                        Else
                                            If fase_artigo.Text = "8" Then
                                                fase_artigo.Text = "9"
                                            Else
                                                If fase_artigo.Text = "9" Then
                                                    fase_artigo.Text = "10"
                                                Else
                                                    If fase_artigo.Text = "10" Then
                                                        fase_artigo.Text = "11"
                                                    Else
                                                        If fase_artigo.Text = "11" Then
                                                            fase_artigo.Text = "12"
                                                        Else
                                                            If fase_artigo.Text = "12" Then
                                                                fase_artigo.Text = "13"
                                                            Else
                                                                If fase_artigo.Text = "13" Then
                                                                    fase_artigo.Text = "14"
                                                                Else
                                                                    If fase_artigo.Text = "14" Then
                                                                        fase_artigo.Text = "15"

                                                                        Artigo_escolhidoComboBox.Enabled = False
                                                                        Fase_artigoComboBox.Enabled = False
                                                                        Ferramentas_corte_selecListBox.Items.Clear()
                                                                        Ferramentas_posic_selecListBox.Items.Clear()
                                                                        Comprimento_ferr_corteListBox.Items.Clear()
                                                                        Diametro_ferr_corteListBox.Items.Clear()
                                                                        X_ferr_posListBox.Items.Clear()
                                                                        Y_ferr_posListBox.Items.Clear()
                                                                        Z_ferr_posListBox.Items.Clear()

                                                                        'VALIDA OS CAMPOS

                                                                        ProgramaTextBox.Enabled = True
                                                                        Fase_artigoComboBox.Enabled = False
                                                                        Button2.Enabled = False
                                                                        Button6.Enabled = False
                                                                        Button8.Enabled = False
                                                                        Button9.Enabled = False
                                                                        Artigo_escolhidoComboBox.Enabled = False
                                                                        Operacao_artigoListBox.Enabled = False
                                                                        GfhListBox.Enabled = False

                                                                    Else

                                                                        ' SE FOR MENOR OU IGUAL A 1, GUARDA

                                                                        If Fase_artigoComboBox.Text <= "1" Then

                                                                            connection.Open()

                                                                            For i As Integer = 0 To Ferramentas_corte_selecListBox.Items.Count - 1 And Ferramentas_posic_selecListBox.Items.Count - 1

                                                                                Dim query As String = "INSERT INTO associar_ferramentas (artigo_escolhido, operacao_artigo, fase_artigo, programa, gfh, ferramentas_corte_selec, ferramentas_posic_selec, comprimento_ferr_corte, diametro_ferr_corte, x_ferr_pos, y_ferr_pos, z_ferr_pos) VALUES (@artigo_escolhido, @operacao_artigo, @fase_artigo, @programa, @gfh, @Ferramentas_corte_selec, @Ferramentas_posic_selec, @Comprimento_ferr_corte, @Diametro_ferr_corte, @X_ferr_pos, @Y_ferr_pos, @Z_ferr_pos)"

                                                                                Dim command As New OleDbCommand(query, connection)

                                                                                command.Parameters.Add("@artigo_escolhido", OleDbType.VarChar).Value = Artigo_escolhidoComboBox.Text
                                                                                command.Parameters.Add("@operacao_artigo", OleDbType.VarChar).Value = Operacao_artigoListBox.Text
                                                                                command.Parameters.Add("@fase_artigo", OleDbType.VarChar).Value = fase_artigo.Text
                                                                                command.Parameters.Add("@programa", OleDbType.VarChar).Value = ProgramaTextBox.Text
                                                                                command.Parameters.Add("@gfh", OleDbType.VarChar).Value = GfhListBox.Text

                                                                                command.Parameters.Add("@ferramentas_corte_selec", OleDbType.VarChar).Value = Ferramentas_corte_selecListBox.Items(i).ToString()
                                                                                command.Parameters.Add("@ferramentas_posic_selec", OleDbType.VarChar).Value = Ferramentas_posic_selecListBox.Items(i).ToString()
                                                                                command.Parameters.Add("@comprimento_ferr_corte", OleDbType.Integer).Value = Comprimento_ferr_corteListBox.Items(i & Environment.NewLine).ToString()
                                                                                command.Parameters.Add("@diametro_ferr_corte", OleDbType.Integer).Value = Diametro_ferr_corteListBox.Items(i).ToString()
                                                                                command.Parameters.Add("@x_ferr_pos", OleDbType.Integer).Value = X_ferr_posListBox.Items(i).ToString()
                                                                                command.Parameters.Add("@y_ferr_pos", OleDbType.Integer).Value = Y_ferr_posListBox.Items(i).ToString()
                                                                                command.Parameters.Add("@z_ferr_pos", OleDbType.Integer).Value = Z_ferr_posListBox.Items(i).ToString()

                                                                                command.ExecuteNonQuery()

                                                                            Next

                                                                            connection.Close()

                                                                            'Validar

                                                                            ProgramaTextBox.Enabled = False
                                                                            Fase_artigoComboBox.Enabled = False
                                                                            Button2.Enabled = False
                                                                            Button6.Enabled = False
                                                                            Button8.Enabled = False
                                                                            Button9.Enabled = False
                                                                            Operacao_artigoListBox.Enabled = False
                                                                            GfhListBox.Enabled = False

                                                                            Artigo_escolhidoComboBox.Text = ""
                                                                            ProgramaTextBox.Text = ""
                                                                            Fase_artigoComboBox.Text = ""

                                                                        Else


                                                                        End If
                                                                    End If
                                                                End If
                                                            End If
                                                        End If
                                                    End If
                                                End If
                                            End If
                                        End If
                                    End If
                                End If
                            End If
                        End If
                    End If
                End If
            End If
        End If

Vou passar para o outro problema do outro tópico... 🤔

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.