My experience with MS Access has been wonderful. Its a fantastic tool to build efficient and reliable applications. The development time is very less.
But if you are building big systems then probably VB.NET is a good tool.
Asafblasberg, if you are building applications where you can use Access, my suggestion would be stick with Access.
Anyway, if you want learn VB.NET gradually and want build few small applications, for sure its going to be rough ride but not impossible.
So coming back to your first question about Access report through VB.NET you can refer to this link:
or
Code Snippet:
Dim strSQLrpt As String
strSQLrpt = "Select * From SomeTable"
Dim rptNew As New Access.Application
With rptNew
.Visible = True
.DoCmd.Maximize()
.OpenCurrentDatabase("mdb Path", False)
.CurrentDb.QueryDefs("Query Name").SQL = strSQLrpt
.DoCmd.OpenReport("Report Name", Access.AcView.acViewPreview)
End With