Как получить блок If в программе базы данных visual basic для выполнения всех задач? - PullRequest
0 голосов
/ 06 декабря 2011

У меня есть функция, закодированная для операции on_click, и она не работает постоянно. Я перемещал различные элементы управления «If», а также сам код несколько раз, и я не могу понять, как заставить его пройти весь путь.

На данный момент он будет проверять, находится ли название компании в базе данных, затем проверять, является ли поле пустым, а затем проверять, является ли поле почтового индекса числовым. Это так далеко, как код идет. Я не могу заставить его циклически проходить и фактически добавлять строку в базу данных. Если я перемещу различные строки кода вокруг, я смогу добавить строку, но это допустит такие ошибки, как неправильный формат zip, а также пустые значения. Мне нужен код для выполнения проверок, затем, если все записи верны, он добавляет строку.

На данный момент я работаю только с одной формой, но эта точная проблема будет применена к нескольким другим формам в рамках моего общего проекта. Однако, если я не смогу заставить работать эту форму, я не смогу заставить работать и другие.

Вот код вопроса:

    Public Sub AddNewButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddNewButton.Click

    Dim CompanyNameCheck = FinancialAgenciesTableAdapter1.CompanyNameCheck(TextBox1.Text)
    Dim i As Integer
    i = 0

    If CompanyNameCheck Is Nothing Then

        If TextBox1.Text = vbNullString Then
            MsgBox("Company name field blank.", MessageBoxButtons.OK, MessageBoxIcon.Error)
            TextBox1.Focus()
        ElseIf TextBox2.Text = vbNullString Then
            MsgBox("Street field blank.", MessageBoxButtons.OK, MessageBoxIcon.Error)
            TextBox2.Focus()
        ElseIf TextBox4.Text = vbNullString Then
            MsgBox("City field blank.", MessageBoxButtons.OK, MessageBoxIcon.Error)
            TextBox4.Focus()
        ElseIf TextBox5.Text = vbNullString Then
            MsgBox("State field blank.", MessageBoxButtons.OK, MessageBoxIcon.Error)
            TextBox5.Focus()
        ElseIf TextBox6.Text = vbNullString Then
            MsgBox("Zip field blank.", MessageBoxButtons.OK, MessageBoxIcon.Error)
            TextBox6.Focus()
        ElseIf i < 1 Then
            Try
                Integer.Parse(TextBox6.Text)
            Catch ex As Exception
                MsgBox("Zip field not correct. Please enter only numbers.", MessageBoxButtons.OK, MessageBoxIcon.Error)
                TextBox6.Focus()
            End Try

        Else


            FinancialDepartmentForm.FinancialAgenciesTableAdapter.Insert(Me.TextBox1.Text, Me.TextBox2.Text, Me.TextBox3.Text, _
                                                                           Me.TextBox4.Text, Me.TextBox5.Text, Me.TextBox6.Text, _
                                                                           Me.TextBox7.Text)
            'Me.Validate()
            'refresh the listbox of companies.
            FinancialDepartmentForm.FinancialAgenciesTableAdapter.Fill(FinancialDepartmentForm.FinancialAgenciesDataSet.FinancialAgencies)
            'show message of task completion.
            MsgBox("Addition complete.", MessageBoxButtons.OK)
            Me.Hide()
            FinancialDepartmentForm.Show()

        End If

    Else
        MsgBox("Company already exist!")
        TextBox1.Focus()
    End If
End Sub

Срок выполнения проекта быстро приближается, и мне действительно нужна помощь. Я очень ценю помощь, потому что это не должно быть таким сложным. Я просто не смог понять это.

1 Ответ

0 голосов
/ 07 декабря 2011

После разговора с другом он связал меня по сети с его другом, который смог помочь. Он добавил еще одну переменную для отслеживания подсчета ошибок, а затем использовал ее в отдельном операторе If, который контролировал код проверки и вставки. Правильно работающий код выглядит следующим образом:

Public Sub AddNewButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AddNewButton.Click

    Dim CompanyNameCheck = FinancialAgenciesTableAdapter1.CompanyNameCheck(TextBox1.Text)
    Dim i As Integer
    i = 0
    Dim errorCount As Integer

    If CompanyNameCheck Is Nothing Then
        errorCount = 0
        If TextBox1.Text = vbNullString Then
            MsgBox("Company name field blank.", MessageBoxButtons.OK, MessageBoxIcon.Error)
            TextBox1.Focus()
            errorCount = errorCount + 1
        ElseIf TextBox2.Text = vbNullString Then
            MsgBox("Street field blank.", MessageBoxButtons.OK, MessageBoxIcon.Error)
            TextBox2.Focus()
            errorCount = errorCount + 1
        ElseIf TextBox4.Text = vbNullString Then
            MsgBox("City field blank.", MessageBoxButtons.OK, MessageBoxIcon.Error)
            TextBox4.Focus()
            errorCount = errorCount + 1
        ElseIf TextBox5.Text = vbNullString Then
            MsgBox("State field blank.", MessageBoxButtons.OK, MessageBoxIcon.Error)
            TextBox5.Focus()
            errorCount = errorCount + 1
        ElseIf TextBox6.Text = vbNullString Then
            MsgBox("Zip field blank.", MessageBoxButtons.OK, MessageBoxIcon.Error)
            TextBox6.Focus()
            errorCount = errorCount + 1
        ElseIf i < 1 Then
            Try
                Integer.Parse(TextBox6.Text)
            Catch ex As Exception
                MsgBox("Zip field not correct. Please enter only numbers.", MessageBoxButtons.OK, MessageBoxIcon.Error)
                TextBox6.Focus()
                errorCount = errorCount + 1
            End Try

        End If

        If errorCount < 1 Then

            FinancialDepartmentForm.FinancialAgenciesTableAdapter.Insert(Me.TextBox1.Text, Me.TextBox2.Text, Me.TextBox3.Text, _
                                                                           Me.TextBox4.Text, Me.TextBox5.Text, Me.TextBox6.Text, _
                                                                           Me.TextBox7.Text)
            Me.Validate()
            'refresh the listbox of companies.
            FinancialDepartmentForm.FinancialAgenciesTableAdapter.Fill(FinancialDepartmentForm.FinancialAgenciesDataSet.FinancialAgencies)
            'show message of task completion.
            MsgBox("Addition complete.", MessageBoxButtons.OK)
            Me.Hide()
            FinancialDepartmentForm.Show()

        End If

    Else
        MsgBox("Company already exist!")
        TextBox1.Focus()
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...