holas nuevamente espero no sea tarde...
puedes crear la clase como dices donde le pases la consulta y el grid qeu vas a manipular asi como tambien una funcion que te regrese el query(select) que vas autilizar en cada form ... por eejmplo
Public Function getQry(ByVal queQry As Integer) As String
Select Case queQry
Case 1 '''qry para form1
getQry = "select...."
Case 2 '''qry para form2
getQry = "select...."
Case X '''qry para formX
getQry = "select...."
End Select
End Function
analisando las funciones que posteaste
en leerdatoss (que ami oprarecer seria llener el grid)
public Function fillGrid(
byref grid as TipodeGridQueUtilizas, byval selectCommand as string )
-- llamas a la funcion que te crea la
cadena de coneccion(en caso de que la tengasy se ria lo mejor ya que puedes tener conneciones adistintos gestores de bases de datos) y la colocas al crear el data adapter
-- creas tu connecio asi como la tines
> Me.dataAdapter = New SqlClient.SqlDataAdapter(selectCommand,
Funcion_que regrese_la_"cadena"_de_connecion(no el select))
el
selectCommand se lomandas desde el form que estas utilzando este mismo manda allamar ala funcion que te regresa el qry (getQry ocomo le pongas)
y llenas latabal como lo tienes.
la linea no tienne caso Me.BS_Datos.DataSource = tabla
deberias asignarle directamente al grid ya que le estyas pasando el grid ala funcion
...
dataAdapter.Fill(tabla)
grid.DataSource = tabla
...
end function
en private sub F_Tipo_Load (esto seria encada form qeu quieras llenar el grid)
Me.DGV_Datos.DataSource = Me.BS_Datos
esta lienea la puedes omitir y hacerlo directamente en leerdatoss ya que ahi le pasa el grid y ahi mismo lollenas como lo explique antes
leedatos lo llamrias dela sig forma
leerdatos(grid_del_Form, getQry(2) ) ''recuerda que getQry esla funcion que te pasa el Select
end function
en los demas eventos o funciones (borrar editar y actulizar), lo spuedes dejar asi o tambien crear funciones que lo agan por ejemplo
para borrar puedes creara una funcion que lo haga psaandole elgrid y el renglon actual...
espero que te alla sido de ayuda... y no necesariamente debes de ahcerlo como te digo es solo una idea pra que tu veas qeu te comvienne como implementartlo de una mejor forma.....
saludos...

disculpa la forma de escribir pero

XD XD XD
recuerda separa y venceras..
.........Rahd RR