here's a quick example , using oledb to open an access app
in Form1 :
VB Code:
  1. Imports System.Data
  2.  
  3. Public ds As New DataSet()
  4. Private frm2 As New Form2()
  5.  
  6. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  7.     AddOwnedForm(frm2)
  8.     frm2.Show()
  9.  
  10. End Sub
in Form2 :
VB Code:
  1. Imports System.Data.OleDb
  2.  
  3.     Private frmMain As Form1
  4.  
  5.     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  6.         Dim constring As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\MyDb.mdb"
  7.         frmMain = Owner '/// owner form.
  8.  
  9.         OpenAccess(constring)
  10.     End Sub
  11.  
  12.     Public Function OpenAccess(ByVal strConnection As String, Optional ByVal strCommand As String = "SELECT * FROM Table1")
  13.         Dim objCon As New OleDbConnection(strConnection)
  14.         Try
  15.             objCon.Open()
  16.             Dim objCom As New OleDbCommand(strCommand, objCon)
  17.             Dim objAdapt As New OleDbDataAdapter(objCom)
  18.  
  19.             objAdapt.Fill(frmMain.ds, "Table1")
  20.             DataGrid1.DataSource = frmMain.ds.Tables("Table1")
  21.         Catch ex As Exception
  22.             MessageBox.Show(ex.Message)
  23.         Finally
  24.             objCon.Close()
  25.         End Try
  26.  
  27.     End Function