Ejemplo basico de consulta a BD desde ASP .NET utilizando OleDB.
Imports System.Data.OleDb


Public Class WebForm1
    Inherits System.Web.UI.Page
    Protected WithEvents ddlEmpleados As System.Web.UI.WebControls.DropDownList
    Protected WithEvents Label1 As System.Web.UI.WebControls.Label

#Region " Código generado por el Diseñador de Web Forms "

    'El Diseñador de Web Forms requiere esta llamada.
    <System.Diagnostics.DebuggerStepThrough()>vate Sub InitializeComponent()

    End Sub

    Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Init
        'CODEGEN: el Diseñador de Web Forms requiere esta llamada de método
        'No lo modifique con el editor de código.
        InitializeComponent()
    End Sub

#End Region

    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'Introducir aquí el código de usuario para inicializar la página
        Dim conexion As System.Data.OleDb.OleDbConnection
        Dim comando As System.Data.OleDb.OleDbCommand
        Dim datos As System.Data.OleDb.OleDbDataReader


        Dim conString As String
        Dim sentencia As String

        If Not Me.IsPostBack Then
            'Para cargar el combo solo una vez

            'String de conexion para una bd access
            conString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.MapPath("Empresa.mdb")

            'establecemos la sentencia
            sentencia = "select * from empleados"

            'creamos el objeto conexion
            conexion = New OleDbConnection(conString)

            'todo lo hacemos en un bloque try-catch
            Try

                'establecemos conexion
                conexion.Open()
                Response.Write("OK conexion establecida <br>)

                'Creamos el objeto comando
                comando = New OleDbCommand(sentencia, conexion)

                Response.Write("OK comando creado <br>")

                'ejecucion de una consulta
                datos = comando.ExecuteReader()
                Response.Write("OK comando ejecutado <br>")

                Dim tmpItem As ListItem

                ' Recorremos el resultset y cargamos el combo
                Do While datos.Read()
                    tmpItem = New ListItem(datos("nombre") & " " & datos("apellidos"), datos("codigo"))
                    ddlEmpleados.Items.Add(tmpItem)
                Loop

                ' en caso de error.. capturamos y mostramos
            Catch ex As Exception
                Response.Write("Error al acceder a la BD<br>" & ex.Message)
            Finally
                'en cualquier caso hacemos esto (mal, sin comprobar)
                conexion.Close()
                conexion = Nothing
                comando = Nothing
            End Try


            'si la pagina ya se habia cargado antes aparecemos aqui
        Else
            Response.Write("OK, la pagina ya estaba cargada<br>")
        End If


    End Sub

End Class