I am a real beginner so I am adding more code than you probably need to see.

I have a health care database where people will not navigate between people tracked by the database. I basically am setting it up like Outlook in that you pick a profile and then only have access to information from that profile after Outlook is open, unless you back out of the original profile and pick another profile. So the solution opens to a Select form with a datagrid listing all the people in the tblPerson Access table. Once they select a row in the datagrid and click open the Main form opens. The controls on the Main form display information based on the PK (primary key) that I developed in a module.

Public PK As Single = fclsSelect.PK

Pk is created with this

Private Sub DataGrid1_CurrentCellChanged(ByVal sender As Object, ByVal
e As System.EventArgs) Handles DataGrid1.CurrentCellChanged
' Highlight the entire row for user feedback.
DataGrid1.Select(DataGrid1.CurrentCell.RowNumber)
Dim dgc As New DataGridCell(DataGrid1.CurrentRowIndex, 0)
PK = DataGrid1.Item(dgc)
End Sub

At the top of the Select code I have Public Shared PK As Single Which I not
sure I need.

The click event of the Open button is written as follows

Private Sub btnOpen_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles btnOpen.Click
If PK = 0 Then
MsgBox("You must select a person, then click Open.")
Else
Try
OleDbDataAdapter1.Update(DsPerson1)
Catch ex As Exception
MsgBox(ex.ToString)
End Try
'Hides the Select Form
Me.Hide()
'Declare the Main form
Dim Main As New Main
'Show the Main Form
Main.Show()
'Pass the selected PersonID value
Main.txtID.Text = PK
End If
End Sub

Then I placed this BindingManagerBase code in the Main form's load event

Private Sub Main_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
DsPersonMain1.Clear()
OleDbDataAdapter_Person1.Fill(DsPersonMain1)
Dim bmbPerson As BindingManagerBase
bmbPerson = Me.BindingContext(DsPersonMain1, "tblPerson")
bmbPerson.Position = PK
lblPK.Text = PK 'this is just to test to make sure the PK was picked
up properly

End Sub

I thought the problem may be because I had assigned the PK value to the Main.txtID in the open event. But if I comment that line out of the Open button click event the first record is displayed when the main form opens and the correct PK is shown in the lblPK. But the first, middle, and last names don