Actualización datos en datagrid vb 2008

Espero puedas ayudarme pues publique mi pregunta pero nadie me ha respondido y ya estoy algo desesperado
te cuento, debo crear una aplicación para mostrar los datos de una base de datos sql que esta en un servidor dentro de mi misma red, para ello use un datagridview, osea hice diferentes data surce para cada listado de tablas que debo mostrar y mediante consulta sql las condicione para que mostraran solo los datos que necesito, en eso voy bien lo que necesito ahora y lo más importante es que debe actualizarse apenas ingresen un dato nuevo en la base de datos (lo ingresan desde otra aplicación), es decir, lo que muestro debe ser totalmente online y de actualización automática en el datagrid
visual basic lo ocupo recién hace una semana así que no manejo mucho los nombres ni los campos, pero como te cuento ya puedo ver los datos solo que para actualizar debo cerrar y abrir la aplicación

1 Respuesta

Respuesta
1
No explicas que tipo de acceso a la base de datos usas, si ADO.NET, sin embargo lo que puedo decirte es que coloques un botón y en el evento clcik del botón vuelves a ejecutar tus consultas para que los datos se actualicen y los muestres en los controles que necesitas.
Gracias por responder
Lo del acceso, lo que hice fue crear un datasource directo del servidor sql, no use opciones ADO, bueno así lo vi yo pues al preguntar que tipo de conexión quería le coloque sql... disculpa si soy poco claro pero como dije no manejo muchos términos(pronto tomare un curso de visual basic :), lo del botón no puede ser así debe ser algo automático o cíclico, estoy probando con un TIMER para que haga un refresh, pero no se en que parte del código debo ponerlo... no se si sirva que te escriba el código que veo pero este es
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.CuentaPorHoraTableAdapter5.Fill(Me.Linea23.CuentaPorHora)
Me.CuentaPorHoraTableAdapter4.Fill(Me.Linea22.CuentaPorHora)
Me.CuentaPorHoraTableAdapter3.Fill(Me.Linea21.CuentaPorHora)
Me.CuentaPorHoraTableAdapter2.Fill(Me.Linea13.CuentaPorHora)
Me.CuentaPorHoraTableAdapter1.Fill(Me.Linea12.CuentaPorHora)
Me.CuentaPorHoraTableAdapter.Fill(Me.Linea11.CuentaPorHora)
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
End Sub
End Class
Espero sirva de algo y disculpa si te molesto con mi pregunta pero hasta el momento eres el primero que me responde en los foros que he preguntado
Gracias
En el timer, existe un evento tick, en ese evento colocas el código de la actualización de los controles.
Gracias
Pero eso ya lo intente, el problema es que no se que escribir en ese timer osea puse
me.datagridview.refresh
y el timer esta seteado cada un segundo como prueba, se ve como si actualizara pues pestañea la aplicación o mejor dicho el datagrid pero no actualñiza los datos, mi duda es que control debo actualizar, pues tengo un datatablemanafer, un datatable y un bindingsource... pero no se como escribir para que se actualicen
ojala me puedas ayudar, te comento que con esta aplicación me ganare la confianza del dueño de la empresa (una empresa grande ) y eso significa un ascenso tanto de sueldo como de status así que te imaginaras lo importante que es para mi
de antemano y nuevamente muchas gracias
Tu actualizas el table adapter, pero ademas debes volver a signarlo al Datasource del datagrid para que los datos del datagrid se refresquen, porque ne el código actualizas las fuentes, pero no el datagrid
Entiendo, ya se me va aclarando el asunto
Ahora mi duda es que por ejemplo como te decía puedo actualizar el datagrid con el refresh pero no así los datos, intento colocar alo como
Me.CuentaPorHoraTableAdapter.refresh
Pero no lo acepta, ¿ademas cómo seria volver a asignarlo al datasource? Mi gran duda es en que parte del código pego eso
No se si estará bien, pero me imagine que si colocase el timer en la parte del código donde se conecta
Me.CuentaPorHoraTableAdapter5.Fill(Me.Linea23.CuentaPorHora)
quisas se reperiria el acceso y refrescaria la plicacion completa
gracias por ayudarme
datagrid.datasource=Me.CuentaPorHoraTableAdapter
Entiendo
Ahora si se me va aclarandoel panorama, me queda la que yo creo es la ultima consultapues con esto del datasource se me habren nuevas ideas
la gran duda es donde coloco el código que me diste pues lo copio en la raíz del form1 y me da error, la verdad donde lo coloque me da error de sintaxis hay que ponerle algún sufijo como me. o dim?
Saludos y gracias por la paciencia y ayuda
Ivan.
Mira el código lo puse así
CuentaPorHoraDataGridView.DataSource = CuentaPorHoraTableAdapter
CuentaPorHoraDataGridView1.DataSource = CuentaPorHoraTableAdapter1
CuentaPorHoraDataGridView2.DataSource = CuentaPorHoraTableAdapter2
CuentaPorHoraDataGridView3.DataSource = CuentaPorHoraTableAdapter3
CuentaPorHoraDataGridView4.DataSource = CuentaPorHoraTableAdapter4
CuentaPorHoraDataGridView5.DataSource = CuentaPorHoraTableAdapter5
Y en el evento tick del timer coloque
CuentaPorHoraDataGridView.Refresh()
CuentaPorHoraDataGridView1.Refresh()
CuentaPorHoraDataGridView2.Refresh()
CuentaPorHoraDataGridView3.Refresh()
CuentaPorHoraDataGridView4.Refresh()
CuentaPorHoraDataGridView5.Refresh()
estara bien asi?
Lo colocas después del código que actualiza los objetos data que usas.
Muchas gracias por tu ayuda pero lo hice de una forma mucho más sencilla
En el evento Tick del TIMER coloque
Refresh()
Me.CuentaPorHoraTableAdapter.Fill(Me.Linea11.CuentaPorHora)
Me.CuentaPorHoraTableAdapter1.Fill(Me.Linea12.CuentaPorHora)
Me.CuentaPorHoraTableAdapter2.Fill(Me.Linea13.CuentaPorHora)
Me.CuentaPorHoraTableAdapter3.Fill(Me.Linea21.CuentaPorHora)
Me.CuentaPorHoraTableAdapter4.Fill(Me.Linea22.CuentaPorHora)
Me.CuentaPorHoraTableAdapter5.Fill(Me.Linea23.CuentaPorHora)
Así que cada cierto tiempo refresca las tablas completas y resulto de lo más bien, ahora en mi empresa están facinados con lo fácil y accesible, así que muchas gracias
Finalizo y valorizo
Muchas Gracias
Me alegro haber podido ayudarte

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas