Question Program flow

hendrikbez

Active member
Joined
Nov 24, 2005
Messages
35
Location
South Afica
Programming Experience
1-3
Sorry for the long code, but I need help!!!!!

I think the flow of my program is not correct, and I can not seem to get it right

someone have told me that my flow of my program is non correct that is ehay my edit is not working

Only the edit it giving me a pain in the nek.

If this is in the worng place please delete it then


VB.NET:
Imports System.Data
Imports System.Data.OleDb

Public Class frm_Blokkies

    Inherits System.Windows.Forms.Form

#Region "Dim"

    'Connect to database

    Dim SaveOrEdit As String = ""
    Dim ConnString As String = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source = C:\Blokkies\Database\blokkies.mdb;Jet OLEDB:Database Password=HendrikNellie;"

#End Region

#Region "Search in Listbox"

    Private Sub Txtsoek_TextChanged_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Txtsoek.TextChanged

        'Search with txtsoek.txt

        Dim item As String = Txtsoek.Text.ToString()
        Dim index As Integer = ListBox1.FindString(item)
        If index = -1 Then
            ListBox1.SelectedIndex = ListBox1.SelectedIndex
        Else
            ListBox1.SetSelected(index, True)
        End If
    End Sub

#End Region

#Region "Listbox Search"

    Private Sub ListBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged

        'to show everything in listbox

        Dim SqlStr As String

        SqlStr = "Select * from tblokkies where leidraad = """ & ListBox1.Items(ListBox1.SelectedIndex) & """"

        FillTextBox(SqlStr)
    End Sub

#End Region

#Region "Form load"

    Private Sub frm_Blokkies_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        'load form
        'DisableTextboxes()
        FillListBox("Select * from Tblokkies")
        FillDataGrid("Select * from Tblokkies")
        btnDelete.Enabled = True
        btnupdate.Enabled = True
        btnAdd.Enabled = True
        DisableTextboxes()
        Me.ClientSize = New System.Drawing.Size(979, 635)

    End Sub

#End Region

#Region "Function Fill Text Box Leidraad"

    Public Function FillTextBox(ByVal Sqlstring As String)

        ' Fill the text boxes


        Dim OleDbConn As OleDbConnection = New OleDbConnection(ConnString)
        OleDbConn.Open()

        Dim MyDataReader As OleDbDataReader

        Dim MyOleDbCommand As OleDbCommand = New OleDbCommand()
        MyOleDbCommand.Connection = (OleDbConn)
        MyOleDbCommand.CommandText = Sqlstring

        MyDataReader = MyOleDbCommand.ExecuteReader

        Try
            Do While MyDataReader.Read

                TxtLuidraad.Text = (MyDataReader.Item(0))
                txtA1.Text = (MyDataReader.Item(1))
                txtA2.Text = (MyDataReader.Item(2))
                txtA3.Text = (MyDataReader.Item(3))
                txtA4.Text = (MyDataReader.Item(4))
                txtA5.Text = (MyDataReader.Item(5))
                txtA6.Text = (MyDataReader.Item(6))
                txtA7.Text = (MyDataReader.Item(7))
                txtA8.Text = (MyDataReader.Item(8))
                txtA9.Text = (MyDataReader.Item(9))
                txtA10.Text = (MyDataReader.Item(10))
                txtA11.Text = (MyDataReader.Item(11))
                txtA12.Text = (MyDataReader.Item(12))

            Loop

            StatusLabel.Text = "Leidraad  :" & TxtLuidraad.Text & ": geselekteer"

        Catch err As System.Exception

            StatusLabel.Text = " Selected Record Contains Null String"

            MyDataReader.Close()

            OleDbConn.Close()
            OleDbConn.Dispose()
        End Try

    End Function

#End Region

#Region "Function Fill List Box"
    Public Function FillListBox(ByVal Sqlstring As String)

        ' Fill the lisbox

        ListBox1.Items.Clear()
        ListView1.Items.Clear()

        Dim OleDbConn As OleDbConnection = New OleDbConnection(ConnString)
        OleDbConn.Open()
        Dim MyDataReader As OleDbDataReader
        Dim MyOleDbCommand As OleDbCommand = New OleDbCommand()

        Dim MyDataSet As DataSet = New DataSet()

        Dim MyOleDataAdapter As OleDbDataAdapter = New OleDbDataAdapter()

        MyOleDataAdapter.SelectCommand = New OleDbCommand(Sqlstring, OleDbConn)

        MyOleDataAdapter.Fill(MyDataSet)

        MyOleDbCommand.Connection = (OleDbConn)

        MyOleDbCommand.CommandText = Sqlstring

        MyDataReader = MyOleDbCommand.ExecuteReader

        NeroBar1.MinValue = 0
        NeroBar1.MaxValue = MyDataSet.Tables(0).Rows.Count

        Do While MyDataReader.Read

            ListBox1.Items.Add(MyDataReader("Leidraad"))

            Dim MyItem = ListView1.Items.Add(MyDataReader("Leidraad".ToString))

            With MyItem

                .SubItems.Add(MyDataReader("A1").ToString)
                .SubItems.Add(MyDataReader("A2").ToString)
                .SubItems.Add(MyDataReader("A3").ToString)
                .SubItems.Add(MyDataReader("A4").ToString)
                .SubItems.Add(MyDataReader("A5").ToString)
                .SubItems.Add(MyDataReader("A6").ToString)
                .SubItems.Add(MyDataReader("A7").ToString)
                .SubItems.Add(MyDataReader("A8").ToString)
                .SubItems.Add(MyDataReader("A9").ToString)
                .SubItems.Add(MyDataReader("A10").ToString)
                .SubItems.Add(MyDataReader("A11").ToString)
                .SubItems.Add(MyDataReader("A12").ToString)

            End With

            NeroBar1.Value = NeroBar1.Value + 1
        Loop

        MyDataReader.Close()

        OleDbConn.Close()
        OleDbConn.Dispose()

    End Function

#End Region

#Region "Function Fill Data Grid"

    Public Function FillDataGrid(ByVal Sqlstring As String)

        'Fill my datagrid

        Dim OleDbConn As OleDbConnection = New OleDbConnection(ConnString)
        OleDbConn.Open()

        Dim MyDataSet As DataSet = New DataSet()

        Dim MyOleDataAdapter As OleDbDataAdapter = New OleDbDataAdapter()
        MyOleDataAdapter.SelectCommand = New OleDbCommand(Sqlstring, OleDbConn)
        MyOleDataAdapter.Fill(MyDataSet)

        Me.DataGrid1.DataSource = MyDataSet.Tables(0)

        StatusLabel.Text = " Daar is tans " & """" & MyDataSet.Tables(0).Rows.Count & """" & " Leidraade in die Blokkies Raaisel oplosing."

        MyOleDataAdapter.Dispose()
        MyDataSet.Dispose()
        OleDbConn.Close()
        OleDbConn.Dispose()

    End Function

#End Region

#Region "Function Add New"
    Public Function AddNew()

        'function to add new data

        Try

            Dim OleDbConn As OleDbConnection = New OleDbConnection(ConnString)
            OleDbConn.Open()

            Dim MyOledbCommand As OleDbCommand = New OleDbCommand()


            Dim String1, String2, String3, String4, String5, string6, string7, string8, string9, string10, string11, string12, string13 As String

            String1 = TxtLuidraad.Text
            String2 = txtA1.Text()
            String3 = txtA2.Text()
            String4 = txtA3.Text()
            String5 = txtA4.Text()
            string6 = txtA5.Text()
            string7 = txtA6.Text()
            string8 = txtA7.Text()
            string9 = txtA8.Text()
            string10 = txtA9.Text()
            string11 = txtA10.Text()
            string12 = txtA11.Text()
            string13 = txtA12.Text()


            MyOledbCommand.CommandText = "Insert into Tblokkies (leidraad, A1, A2, A3,A4, A5, A6, A7, A8, A9, A10, A11, A12) Values (@string1, @string2, @string3, @string4, @string5, @string6, @string7, @String8, @string9, @string10, @string11, @string12, @string13) "
            'then you add your parameters to the command object for each value


            MyOledbCommand.Parameters.AddWithValue("@string1", Me.TxtLuidraad.Text)
            MyOledbCommand.Parameters.AddWithValue("@string2", Me.txtA1.Text)
            MyOledbCommand.Parameters.AddWithValue("@string3", Me.txtA2.Text)
            MyOledbCommand.Parameters.AddWithValue("@string4", Me.txtA3.Text)
            MyOledbCommand.Parameters.AddWithValue("@string5", Me.txtA4.Text)
            MyOledbCommand.Parameters.AddWithValue("@string6", Me.txtA5.Text)
            MyOledbCommand.Parameters.AddWithValue("@string7", Me.txtA6.Text)
            MyOledbCommand.Parameters.AddWithValue("@string8", Me.txtA7.Text)
            MyOledbCommand.Parameters.AddWithValue("@string9", Me.txtA8.Text)
            MyOledbCommand.Parameters.AddWithValue("@string10", Me.txtA9.Text)
            MyOledbCommand.Parameters.AddWithValue("@string11", Me.txtA10.Text)
            MyOledbCommand.Parameters.AddWithValue("@string12", Me.txtA11.Text)
            MyOledbCommand.Parameters.AddWithValue("@string13", Me.txtA12.Text)


            MyOledbCommand.Connection = OleDbConn

            MyOledbCommand.ExecuteNonQuery()
            OleDbConn.Close()


            NeroBar1.Value = 0

            FillDataGrid("Select * from Tblokkies")
            FillListBox("Select * from Tblokkies")

            TxtLuidraad.Enabled = False
            txtA1.Enabled = False
            txtA2.Enabled = False
            txtA3.Enabled = False
            txtA4.Enabled = False
            txtA5.Enabled = False
            txtA6.Enabled = False
            txtA7.Enabled = False
            txtA8.Enabled = False
            txtA9.Enabled = False
            txtA10.Enabled = False
            txtA11.Enabled = False
            txtA12.Enabled = False

            btnupdate.Enabled = True
            btnDelete.Enabled = True
            'btnAdd.Enabled = True

            SaveOrEdit = "Cancel"

            ' StatusLabel.Text = "Inligting   :" & TxtLuidraad.Text & ": bygevoeg."
            StatusLabel.Text = "Leidraad :" & TxtLuidraad.Text & ": is bygevoeg."

        Catch err As System.Exception
            StatusLabel.Text = err.Message
        End Try

    End Function

#End Region

#Region " Function Edit"

    Public Function Edit() As String

        'Function to edit my data

        Try

            Dim OleDbConn As OleDbConnection = New OleDbConnection(ConnString)
            OleDbConn.Open()

            Dim MyOledbCommand As OleDbCommand = New OleDbCommand()

            Dim String1, String2, String3, String4, String5, string6, string7, string8, string9, string10, string11, string12, string13 As String

            String1 = TxtLuidraad.Text
            String2 = txtA1.Text()
            String3 = txtA2.Text()
            String4 = txtA3.Text()
            String5 = txtA4.Text()
            string6 = txtA5.Text()
            string7 = txtA6.Text()
            string8 = txtA7.Text()
            string9 = txtA8.Text()
            string10 = txtA9.Text()
            string11 = txtA10.Text()
            string12 = txtA11.Text()
            string13 = txtA12.Text()

            MyOledbCommand.CommandText = "UPDATE Tblokkies SET A1 = @string2, A2 = @string3, A3 = @string4, A4 = @string5, A5 = @string6, A6 = @string7, A7 = @string8, A8 = @string9, A9 = @string10, A10 = @string11, A11 = @string12, A12 = @string13  WHERE leidraad = @string1"

            MyOledbCommand.Parameters.AddWithValue("@string1", Me.TxtLuidraad.Text)
            MyOledbCommand.Parameters.AddWithValue("@string2", Me.txtA1.Text)
            MyOledbCommand.Parameters.AddWithValue("@string3", Me.txtA2.Text)
            MyOledbCommand.Parameters.AddWithValue("@string4", Me.txtA3.Text)
            MyOledbCommand.Parameters.AddWithValue("@string5", Me.txtA4.Text)
            MyOledbCommand.Parameters.AddWithValue("@string6", Me.txtA5.Text)
            MyOledbCommand.Parameters.AddWithValue("@string7", Me.txtA6.Text)
            MyOledbCommand.Parameters.AddWithValue("@string8", Me.txtA7.Text)
            MyOledbCommand.Parameters.AddWithValue("@string9", Me.txtA8.Text)
            MyOledbCommand.Parameters.AddWithValue("@string10", Me.txtA9.Text)
            MyOledbCommand.Parameters.AddWithValue("@string11", Me.txtA10.Text)
            MyOledbCommand.Parameters.AddWithValue("@string12", Me.txtA11.Text)
            MyOledbCommand.Parameters.AddWithValue("@string13", Me.txtA12.Text)


            MyOledbCommand.Connection = OleDbConn

            MyOledbCommand.ExecuteNonQuery()
            OleDbConn.Close()

            DisableTextboxes()
            NeroBar1.Value = 0

            FillDataGrid("Select * from Tblokkies")
            FillListBox("Select * from Tblokkies")

            TxtLuidraad.Enabled = False
            txtA1.Enabled = False
            txtA2.Enabled = False
            txtA3.Enabled = False
            txtA4.Enabled = False
            txtA5.Enabled = False
            txtA6.Enabled = False
            txtA7.Enabled = False
            txtA8.Enabled = False
            txtA9.Enabled = False
            txtA10.Enabled = False
            txtA11.Enabled = False
            txtA12.Enabled = False

            btnaddNew.Enabled = True
            btnDelete.Enabled = True
            ' btnupdate.Enabled = True

            SaveOrEdit = "Cancel"

            'StatusLabel.Text = " Inligtin Verander."
            StatusLabel.Text = "Leidraad   :" & TxtLuidraad.Text & ": Verander."

        Catch err As System.Exception
            StatusLabel.Text = err.Message
        End Try


    End Function

#End Region

#Region "Function Delete"

    Public Function Delete() As String

        'Function to delete my data

        Try

            Dim OleDbConn As OleDbConnection = New OleDbConnection(ConnString)
            OleDbConn.Open()

            Dim MyOledbCommand As OleDbCommand = New OleDbCommand()

            If ListBox1.SelectedIndex > 0 Then

                'MyOledbCommand.CommandText = "DELETE * FROM tblokkies WHERE leidraad='" & ListBox1.Items(ListBox1.SelectedIndex).ToString() & "'"
                '  MyOledbCommand.CommandText = "DELETE * FROM tblokkies WHERE leidraad = """ & ListBox1.Items(ListBox1.SelectedIndex).ToString() & """"
                ' MyOledbCommand.CommandText = "DELETE * FROM tblokkies WHERE(leidraad = " & ListBox1.Items(ListBox1.SelectedIndex).ToString() & ""

                MyOledbCommand.CommandText = "DELETE * FROM tblokkies WHERE leidraad = ?"
                MyOledbCommand.Parameters.Add("@Param", OleDbType.VarChar).Value = ListBox1.Items(ListBox1.SelectedIndex).ToString()

            End If
            MyOledbCommand.Connection = OleDbConn

            MyOledbCommand.ExecuteNonQuery()
            OleDbConn.Close()

            DisableTextboxes()
            NeroBar1.Value = 0

            FillDataGrid("Select * from Tblokkies")
            FillListBox("Select * from Tblokkies")
            'StatusLabel.Text = " Leidraad is verwyder."
            StatusLabel.Text = "Leidraad   :" & TxtLuidraad.Text & ": is Verwyder."

        Catch err As System.Exception
            StatusLabel.Text = err.Message

        End Try
    End Function


#End Region

#Region "Delete All"

    Public Function DeleteAll() As String
        Try

            Dim OleDbConn As OleDbConnection = New OleDbConnection(ConnString)
            OleDbConn.Open()

            Dim MyOledbCommand As OleDbCommand = New OleDbCommand()

            MyOledbCommand.CommandText = "Delete * From Tblokkies"

            MyOledbCommand.Connection = OleDbConn

            MyOledbCommand.ExecuteNonQuery()
            OleDbConn.Close()

            DisableTextboxes()
            NeroBar1.Value = 0


            FillDataGrid("Select * from Tblokkies")
            FillListBox("Select * from Tblokkies")
            StatusLabel.Text = " Alle inligting is Verwyder."

        Catch err As System.Exception
            StatusLabel.Text = err.Message
        End Try

    End Function

#End Region

#Region "Function Enable Text Boxes"

    Public Function EnableTextboxes(ByVal ClearTextBoxes As Boolean)

        TxtLuidraad.ReadOnly = False
        txtA1.ReadOnly = False
        txtA2.ReadOnly = False
        txtA3.ReadOnly = False
        txtA4.ReadOnly = False
        txtA5.ReadOnly = False
        txtA6.ReadOnly = False
        txtA7.ReadOnly = False
        txtA8.ReadOnly = False
        txtA9.ReadOnly = False
        txtA10.ReadOnly = False
        txtA11.ReadOnly = False
        txtA12.ReadOnly = False

        If ClearTextBoxes = True Then
            TxtLuidraad.Text = vbNullString
            txtA1.Text = vbNullString
            txtA2.Text = vbNullString
            txtA3.Text = vbNullString
            txtA4.Text = vbNullString
            txtA5.Text = vbNullString
            txtA6.Text = vbNullString
            txtA7.Text = vbNullString
            txtA8.Text = vbNullString
            txtA9.Text = vbNullString
            txtA10.Text = vbNullString
            txtA11.Text = vbNullString
            txtA12.Text = vbNullString

        End If

    End Function

#End Region

#Region "Function Disable Text Boxes"

    Public Function DisableTextboxes()

        TxtLuidraad.ReadOnly = True
        txtA1.ReadOnly = True
        txtA2.ReadOnly = True
        txtA3.ReadOnly = True
        txtA4.ReadOnly = True
        txtA5.ReadOnly = True
        txtA6.ReadOnly = True
        txtA7.ReadOnly = True
        txtA8.ReadOnly = True
        txtA9.ReadOnly = True
        txtA10.ReadOnly = True
        txtA11.ReadOnly = True
        txtA12.ReadOnly = True

        TxtLuidraad.Text = vbNullString
        txtA1.Text = vbNullString
        txtA2.Text = vbNullString
        txtA3.Text = vbNullString
        txtA4.Text = vbNullString
        txtA5.Text = vbNullString
        txtA6.Text = vbNullString
        txtA7.Text = vbNullString
        txtA8.Text = vbNullString
        txtA9.Text = vbNullString
        txtA10.Text = vbNullString
        txtA11.Text = vbNullString
        txtA12.Text = vbNullString

    End Function

#End Region

#Region "Clean"

    Private Sub btnClear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnClear.Click

        'clean the form and all textboxes

        DisableTextboxes()
        NeroBar1.Value = 0
        FillDataGrid("select * from Tblokkies")
        FillListBox("select * from Tblokkies")

    End Sub

#End Region

#Region "New"

    Private Sub btnaddNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnaddNew.Click

        'Add Button to add new data in database

        SaveOrEdit = "Save"
        StatusLabel.Text = " Voeg nuwe Leidraad by"
        EnableTextboxes(True)
        TxtLuidraad.Enabled = True
        txtA1.Enabled = True
        txtA2.Enabled = True
        txtA3.Enabled = True
        txtA4.Enabled = True
        txtA5.Enabled = True
        txtA6.Enabled = True
        txtA7.Enabled = True
        txtA8.Enabled = True
        txtA9.Enabled = True
        txtA10.Enabled = True
        txtA11.Enabled = True
        txtA12.Enabled = True
        TxtLuidraad.Select()
        btnAdd.Enabled = True
        btnupdate.Enabled = False
        btnDelete.Enabled = False

    End Sub

#End Region

#Region "Edit/Update"

    Private Sub btnupdate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnupdate.Click

        'Edit Button to to edit my data in database

        StatusLabel.Text = " Kies Leidraad om te verander"

        If ListBox1.SelectedIndex <> -1 Then

            SaveOrEdit = "Edit"
        Else
            StatusLabel.Text = " Geen bestaande leidraad is geselekteer nie, kies nou een om te verander"
        End If

        EnableTextboxes(True)
        TxtLuidraad.Enabled = True
        txtA1.Enabled = True
        txtA2.Enabled = True
        txtA3.Enabled = True
        txtA4.Enabled = True
        txtA5.Enabled = True
        txtA6.Enabled = True
        txtA7.Enabled = True
        txtA8.Enabled = True
        txtA9.Enabled = True
        txtA10.Enabled = True
        txtA11.Enabled = True
        txtA12.Enabled = True

    End Sub

#End Region

#Region "Delete"

    Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click

        'Delete button to delete data from database

        StatusLabel.Text = " Kies Leidraad om te verwyder"

        Dim del As DialogResult

        del = Cls_MessageBbox.Show("Is jy Seker jy will Leidraad" & vbCrLf & vbCrLf & TxtLuidraad.Text & vbCrLf & vbCrLf & "Verwyder", "Verwyder.", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

        If del = Windows.Forms.DialogResult.Yes Then
            If ListBox1.SelectedIndex <> -1 Then
                Delete()
            Else
                ListBox1.Text = "Geen leidraad is verwyder"
            End If
        End If
    End Sub

#End Region

#Region "Save"

    Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click

        'button to save and edit databse

        If SaveOrEdit = "Save" Then

            Dim add As DialogResult

            add = Cls_MessageBbox.Show("Is jy Seker jy will Leidraad" & vbCrLf & vbCrLf & TxtLuidraad.Text & vbCrLf & vbCrLf & "Byvoeg", "Byvoeg.", MessageBoxButtons.YesNo, MessageBoxIcon.Question)

            If add = Windows.Forms.DialogResult.Yes Then
                AddNew()
            Else
                ListBox1.Text = "Geen leidraad is Bygevoeg nie"

            End If

        ElseIf SaveOrEdit = "Edit" Then

            Edit()
        Else

            StatusLabel.Text = " Geen Leidraad is bygevoeg"

        End If


    End Sub

#End Region

#Region "Cancel"

    Private Sub btncancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btncancel.Click

        Try

            ListBox1.ClearSelected()

        Catch err As System.Exception

        End Try

        SaveOrEdit = "Cancel"
        DisableTextboxes()
        StatusLabel.Text = " Aksie is gekanselleer"

        btnaddNew.Enabled = True
        btnDelete.Enabled = True
        btnupdate.Enabled = True

    End Sub

#End Region

#Region "Data Grid"

    Private Sub DataGrid1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles DataGrid1.Click

        Dim SqlStr As String

        SqlStr = "Select * from Tblokkies where leidraad = " & DataGrid1.Item(DataGrid1.CurrentRowIndex, 0)

        FillTextBox(SqlStr)
    End Sub

#End Region

#Region "Back to first form"

    Private Sub btnback_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnback.Click

        Me.Close()
        ' Free the resources used by this form
        Me.Dispose(True)

    End Sub

#End Region


End Class
 
Back
Top