I am new to VB.net so I am trying to learn how to create the same project with several methods. My first attempt is trying to use code instead of wizards. I seem to be having a problem creating a combobox that will fill from a table called Personnel and bind to a field in a table called Shift_log.Operator. Shift_log.Operator contains the initials of the operator. I want to display all the operators names allowing the user to select one and then store that value in the shift_Log.Operator field.
Imports System.Data.SqlClient
Imports System.Data
Code:Class frmShift_Log Private Conn As New SqlConnection("Data Source=O2WBURKE\SQLEXPRESS;Initial Catalog=LaserMiaintLog;Integrated Security=True") Private da As New SqlDataAdapter("SELECT * FROM Shift_Log", Conn) Private ds As New DataSet Private SQLBld As New SqlCommandBuilder(da) Dim MaxRows As Integer Dim inc As Integer = 0 Private Sub frmShift_Log_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Conn.Open() da.Fill(ds, "ShiftLog") MaxRows = ds.Tables("ShiftLog").Rows.Count inc = 0 NavigateRecords() Dim daOper As New SqlDataAdapter("SELECT Name, Initials FROM Personnel", Conn) Dim dsOper As New DataSet daOper.Fill(dsOper, "Personnel") Conn.Close() txtOperator.DisplayMember = "Name" txtOperator.ValueMember = "Initials" txtOperator.DataSource = dsOper End Sub Private Sub btnNext_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnNext.Click If inc <> MaxRows - 1 Then inc = inc + 1 NavigateRecords() Else MsgBox("No More Rows") End If End Sub Private Sub btnPrevious_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrevious.Click If inc > 0 Then inc = inc - 1 NavigateRecords() Else MsgBox("No More Rows") End If End Sub Private Sub btnFirst_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnFirst.Click inc = 0 NavigateRecords() End Sub Private Sub btnLast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLast.Click inc = MaxRows - 1 NavigateRecords() End Sub Private Sub btnUpdate_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles btnUpdate.Click Dim strmsg As String Try ds.Tables("ShiftLog").Rows(inc).Item("Shift_Key") = txtShift_Key.Text ds.Tables("ShiftLog").Rows(inc).Item("Operator") = txtOperator.Text ds.Tables("ShiftLog").Rows(inc).Item("Log_Date") = txtLogDate.Text ds.Tables("ShiftLog").Rows(inc).Item("Shift_Hours") = txtShiftHours.Text ds.Tables("ShiftLog").Rows(inc).Item("Operator_Comments") = txtOperComments.Text da.Update(ds, "ShiftLog") MsgBox("Data updated") Catch ex As Exception strmsg = "Error - Update " & ex.Message MsgBox(strmsg) End Try End Sub Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAdd.Click btnCommit.Enabled = True btnAdd.Enabled = False btnUpdate.Enabled = False btnDelete.Enabled = False txtShift_Key.Clear() txtShift_Key.Clear() End Sub Private Sub btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click btnCommit.Enabled = False btnAdd.Enabled = True btnUpdate.Enabled = True btnDelete.Enabled = True inc = 0 NavigateRecords() End Sub Private Sub btnCommit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCommit.Click If inc <> -1 Then Dim dsNewRow As DataRow dsNewRow = ds.Tables("ShiftLog").NewRow() dsNewRow.Item("Shift_Key") = txtShift_Key.Text dsNewRow.Item("Operator") = txtOperator.Text dsNewRow.Item("Log_Date") = txtLogDate.Text dsNewRow.Item("Shift_Hours") = txtShiftHours.Text dsNewRow.Item("Operator_Comments") = txtOperComments.Text ds.Tables("ShiftLog").Rows.Add(dsNewRow) da.Update(ds, "ShiftLog") MsgBox("New Record added to the Database") btnCommit.Enabled = False btnAdd.Enabled = True btnUpdate.Enabled = True btnDelete.Enabled = True End If End Sub Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnDelete.Click If MessageBox.Show("Do you really want to Delete this Record?", _ "Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) = DialogResult.No Then MsgBox("Operation Cancelled") Exit Sub End If ds.Tables("ShiftLog").Rows(inc).Delete() MaxRows = MaxRows - 1 inc = 0 NavigateRecords() da.Update(ds, "ShiftLog") MsgBox("Record deleted from the Database") End Sub Private Sub NavigateRecords() txtShift_Key.Text = ds.Tables("ShiftLog").Rows(inc).Item("Shift_Key") txtOperator.Text = ds.Tables("ShiftLog").Rows(inc).Item("Operator") txtLogDate.Text = ds.Tables("ShiftLog").Rows(inc).Item("Log_Date") txtShiftHours.Text = ds.Tables("ShiftLog").Rows(inc).Item("Shift_Hours") If Not IsDBNull(ds.Tables("ShiftLog").Rows(inc).Item("Operator_Comments")) Then txtOperComments.Text = ds.Tables("ShiftLog").Rows(inc).Item("Operator_Comments") Else txtOperComments.Text = " " End If End Sub End Class


Reply With Quote

