Q:

Changes To Data Set Not Saving

When I add a new row to my data set it is visible on that specific form in the datagridview, however when I switch to another form with the same data bound datagridview the new row is not there. When I close the program my new row is completely gone then. I want to to save the new row to the Access database it is reading from.
Public Class frmAddStudent

Private Sub btnBack_Click(sender As Object, e As EventArgs) Handles btnBack.Click
    Me.Hide()
    frmUserControls.Show()
End Sub

Private Sub frmAddStudent_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'TODO: This line of code loads data into the 'StudentRecords1DataSet.tblLecturer' table. You can move, or remove it, as needed.
    Me.TblLecturerTableAdapter.Fill(Me.StudentRecords1DataSet.tblLecturer)
    'TODO: This line of code loads data into the 'StudentRecords1DataSet.tblStudents' table. You can move, or remove it, as needed.
    Me.TblStudentsTableAdapter.Fill(Me.StudentRecords1DataSet.tblStudents)

End Sub

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

    Dim MyNewRow As DataRow
    MyNewRow = StudentRecords1DataSet.tblStudents.NewRow

    Try

        With MyNewRow
            .Item(1) = txtID.Text
            .Item(2) = txtFirstName.Text
            .Item(3) = txtSurname.Text

        End With

        Me.Validate()
        Me.TblStudentsBindingSource.EndEdit() 'Change this to your binding source ' eg table'
        Me.TableAdapterManager.UpdateAll(Me.StudentRecords1DataSet) ' chnage this to your database name'
        MessageBox.Show("The Data Has Been Saved", "Information", MessageBoxButtons.OK)
    Catch ex As Exception
        'if there is a problem saving the data, it will show a messagebox with the problem as to why it could'nt save the data'
        MessageBox.Show(ex.Message)
    End Try

    StudentRecords1DataSet.tblStudents.Rows.Add(MyNewRow)
    StudentRecords1DataSet.tblStudents.AcceptChanges()

End Sub

Private Sub txtFirstName_MaskInputRejected(sender As Object, e As MaskInputRejectedEventArgs)

End Sub

Private Sub TblStudentsBindingNavigator_RefreshItems(sender As Object, e As EventArgs) Handles TblStudentsBindingNavigator.RefreshItems

End Sub

End Class
Any suggestions please?

A:

UPDATe X2 based off your question update.
try this,
Public Class frmAddStudent

Private Sub btnBack_Click(sender As Object, e As EventArgs) Handles btnBack.Click
    Me.Hide()
    frmUserControls.Show()
End Sub

Private Sub frmAddStudent_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    'TODO: This line of code loads data into the 'StudentRecords1DataSet.tblLecturer' table. You can move, or remove it, as needed.
    Me.TblLecturerTableAdapter.Fill(Me.StudentRecords1DataSet.tblLecturer)
    'TODO: This line of code loads data into the 'StudentRecords1DataSet.tblStudents' table. You can move, or remove it, as needed.
    Me.TblStudentsTableAdapter.Fill(Me.StudentRecords1DataSet.tblStudents)

End Sub

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

    Try
        Me.Validate()
        Me.TblStudentsBindingSource.EndEdit() 'Change this to your binding source ' eg table'
        Me.TableAdapterManager.UpdateAll(Me.StudentRecords1DataSet) ' chnage this to your database name'
        MessageBox.Show("The Data Has Been Saved", "Information", MessageBoxButtons.OK)
        Await Task.Delay(100)
        TblStudentsBindingNavigator_RefreshItems.studentsBindingSource.AddNew()
    Catch ex As Exception
        'if there is a problem saving the data, it will show a messagebox with the problem as to why it could'nt save the data'
        MessageBox.Show(ex.Message)
    End Try

End Sub

Private Sub txtFirstName_MaskInputRejected(sender As Object, e As MaskInputRejectedEventArgs)

End Sub

Private Sub TblStudentsBindingNavigator_RefreshItems(sender As Object, e As EventArgs) Handles TblStudentsBindingNavigator.RefreshItems

End Sub

End Class

