Hola, tengo un problema con un aplicación hecha en VB 2010 que accede a una BD Access.
La situación es la siguiente: Tengo una base de datos lleva la información sobre cantidad de horas registradas en forma mensual por el personal de una empresa, para ello tengo una tabla de registro de horas (con todas las personas que trabajaron y tabajan en la empresa) llamada HORAS (Codigo, Nombre, Mes, Año y HorasReg) y a su vez tengo una tabla actualizada con los Códigos y Nombres de cada persona llamada PERSONAL (Codigo, Nombre). Estas dos tablas las tengo en el DataSet de mi aplicación pero a su vez he creado un TableAdapter que en realidad es una consulta donde relaciono la tabla HORAS y la tabla PERSONAL pero solo con las personas que trabajan actualmente llamado PERSONALHORASTableAdapter (Codigo, Nombre, Mes, Año, HorasReg)
El tema es que en un form tengo un datagrid con un Datasource = PERSONALHORASTableAdapter (osea le asigno como fuente de datos este tableadapter). En el mismo form hago inserción, actualización y eliminacion de registros pero sobre el tableadapter de la tabla HORAS (HORASTableAdapter), la hago un Update y luego llamo a los FILL de los dos tableAdapter (tanto de HORASTableAdapter como de PERSONALHORASTableAdapter ) y efectivamente vienen con los datos actualizados pero el PROBLEMA ES QUE NO ME ACTUALIZA INMEDIATAMENTE EL DATAGRID , solo si cierro y vuelvo a abrir el formulario. Ya he probado con datagrid.refresh, datagrid.update y nada!!!!! Alguien me ayuda con esto???
El código es el siguiente para agregar un registro es el siguiente:
Private Sub cmdButton_Agregar(......)
Dim xrow = Me.PartesDataSet.Horas.NewRow
xrow("Apellido") = cboNombre.Text
xrow("Mes") = cboMes.Text
xrow("Ano") = nudanio.Value
xrow("HorasReg") = txthoras_reg.Text
'Agrego la fila nueva
Me.PartesDataSet.Horas.Rows.Add(xrow)
'Actualizo la base de datos
Me.HorasTableAdapter.Update(Me.PartesDataSet.Horas )
'Vuelvo a cargar los TableAdapter, ya los habia cargado en el LOAD del form
Me.HorasTableAdapter.Fill(Me.PartesDataSet.Horas)
Me.HorasPersonalTableAdapter.Fill(Me.PartesDataSet .HorasPersonal)
'Actualizo el datagrid
Me.DataGridView1.Update()
Me.DataGridView1.Refresh()
End Sub