Usuário com melhor resposta
Mostrar dados sem precisar em tempo real no DataGrid ou ListView, ou ListBox!!!

Pergunta
-
Em uma PC digita os dados e depos que clicar em um botão, esses dados caem em um outro formulário que possui um DataGrid, ou ListView, ou pode ser um ListBox, mas nesse outro formulário, vai ser outro computador que vai estar com esse formulário aberto e vai estar sendo mostrada a informação atualizada sem ele precisar clicar em nenhum botão. O usuário do computador 1 lança os dados e depois de lançado tudo, clica no botão para encerrar lançamento e logo em seguida, esse lançamento vai para um outro formulário que vai conter um ListBox, ou DataGrid, ou ListView. O usuário do computador 2 não vai precisar clicar em nada, ele vai apenas ver na tela a informação em tempo real de lançamento. Após o usuário do computador 2 ter efetuado o que mostra o lançamento, é dado baixa e então retorna para o computador 1 como revisado ou feito.(ou algo assim) Isso não vai precisar ir para o banco de dados, pois não vai ser preciso armazenar no banco neste caso.
Obs: O computador 1 vai lançando os dados e quando lançado finaliza clicando no botão e então vai para outro form do computador 2 e então vai entrando em fila, como em um Cyber e vai sendo eliminado conforme for dando baixa no PC2 e vai sendo mostrado no PC1 em outra janela.
Se conseguirem pelo menos um pouco, postem aí. Espero ajudar no que puder também.
Respostas
-
Já consegui. Aí está aí o código
declarar como pública as varáveis
Public Class SRE Inherits System.Windows.Forms.Form Dim MyTimer As New Timer() 'No LOAD do form coloque AddHandler MyTimer.Tick, AddressOf MyTimer_Elapsed MyTimer.Interval = 1000 MyTimer.Start() 'Criar a sub Private Sub MyTimer_Elapsed(ByVal sender As Object, ByVal e As EventArgs) Mostrar() End Sub 'criar outra SUB para mostrar o banco de dados Sub Mostrar() 'define a string de conexao Dim connStr As String = My.Settings.LC 'define a instrução sql Dim sql As String = "SELECT COD, NOME, FROM LC" 'define os objetos connecton, command e dataadapter Dim conn As OleDbConnection = New OleDbConnection(connStr) Dim comm As OleDbCommand = New OleDbCommand(sql, conn) Dim dataadapter As OleDbDataAdapter = New OleDbDataAdapter(comm) 'define o dataset Dim ds As DataSet = New DataSet() Try '---abre a conexao--- conn.Open() '---preenche o dataset--- dataadapter.Fill(ds, "ID") '---fecha a conexao--- conn.Close() '---vincula o dataset ao DataGridView--- DataGridView1.DataSource = ds 'ou ds.tables(0) '---define a tabela a ser exibida--- DataGridView1.DataMember = "ID" Catch ex As Exception MsgBox(ex.Message) End Try End Sub
Com isso, a cada 1000 ms, ele vai abrir e fechar a conexão e os dados vão ser atualizados nesse período de tempo. Coloque o tempo que quiser. O pessoal usava muito a impressão, mas agora só basta ter outro computador para vizualizar os dados sem ser necessário gastar papel, uma impressora e tinta. Isso e coisa do passado e temos que mudar.
- Sugerido como Resposta C. Augusto Proiete [MVP] quarta-feira, 5 de agosto de 2009 22:59
- Marcado como Resposta Marcos Arantes Júnior quarta-feira, 5 de agosto de 2009 23:01
Todas as Respostas
-
-
-
Já consegui. Aí está aí o código
declarar como pública as varáveis
Public Class SRE Inherits System.Windows.Forms.Form Dim MyTimer As New Timer() 'No LOAD do form coloque AddHandler MyTimer.Tick, AddressOf MyTimer_Elapsed MyTimer.Interval = 1000 MyTimer.Start() 'Criar a sub Private Sub MyTimer_Elapsed(ByVal sender As Object, ByVal e As EventArgs) Mostrar() End Sub 'criar outra SUB para mostrar o banco de dados Sub Mostrar() 'define a string de conexao Dim connStr As String = My.Settings.LC 'define a instrução sql Dim sql As String = "SELECT COD, NOME, FROM LC" 'define os objetos connecton, command e dataadapter Dim conn As OleDbConnection = New OleDbConnection(connStr) Dim comm As OleDbCommand = New OleDbCommand(sql, conn) Dim dataadapter As OleDbDataAdapter = New OleDbDataAdapter(comm) 'define o dataset Dim ds As DataSet = New DataSet() Try '---abre a conexao--- conn.Open() '---preenche o dataset--- dataadapter.Fill(ds, "ID") '---fecha a conexao--- conn.Close() '---vincula o dataset ao DataGridView--- DataGridView1.DataSource = ds 'ou ds.tables(0) '---define a tabela a ser exibida--- DataGridView1.DataMember = "ID" Catch ex As Exception MsgBox(ex.Message) End Try End Sub
Com isso, a cada 1000 ms, ele vai abrir e fechar a conexão e os dados vão ser atualizados nesse período de tempo. Coloque o tempo que quiser. O pessoal usava muito a impressão, mas agora só basta ter outro computador para vizualizar os dados sem ser necessário gastar papel, uma impressora e tinta. Isso e coisa do passado e temos que mudar.
- Sugerido como Resposta C. Augusto Proiete [MVP] quarta-feira, 5 de agosto de 2009 22:59
- Marcado como Resposta Marcos Arantes Júnior quarta-feira, 5 de agosto de 2009 23:01