CONSULTA VB6 BANCO .MDB A CADA 500 MILISEGUNDOS
Boa noite amigos....
Tenho um timer rodando com invertal = 500, o mesmo faz uma consulta no bd e retorna o campo [Ô]acao[Ô] em um textbox;
Depois tenho um otro timer que verifica se o textbox for igual a ligar ele executa uma funcao, se for igual a desligar executa outra funcao. funciona blza, so q as vezes da erro, nao anotei ele agora, mas creio que é por estar executando a consulta varias vezes....
Problema que terei que criar 8 timers para fazer essa consulta com o criterio where diferente.... e tenho medo de dar pau devido a serem feitas 8 consultas simultaneamente no mesmo bd a cada 500milisegundos.....
Sera que existe outra forma de fazer?
abaixo o codigo do timer que faz a consulta:
e abaixo o otro timer que executa a acao conforme o que a consulta retorna:
como comentei, estes 2 timers vou precisar fazer 8 iguais, o que ira mudar será o valor [Ô]equip1.Text[Ô] que sera equip2.Text, equip3.Text....
alguem tem alguma outra forma de eu fazer isto?
agradeco a qualquer ideia.
obrigado!
Tenho um timer rodando com invertal = 500, o mesmo faz uma consulta no bd e retorna o campo [Ô]acao[Ô] em um textbox;
Depois tenho um otro timer que verifica se o textbox for igual a ligar ele executa uma funcao, se for igual a desligar executa outra funcao. funciona blza, so q as vezes da erro, nao anotei ele agora, mas creio que é por estar executando a consulta varias vezes....
Problema que terei que criar 8 timers para fazer essa consulta com o criterio where diferente.... e tenho medo de dar pau devido a serem feitas 8 consultas simultaneamente no mesmo bd a cada 500milisegundos.....
Sera que existe outra forma de fazer?
abaixo o codigo do timer que faz a consulta:
Private Sub Timer1_Timer()
Dim con As ADODB.Connection
Set con = New ADODB.Connection
con.Open [Ô]Provider=Microsoft.Jet.OLEDB.4.0;[Ô] & _
[Ô]Data Source=automacaocasa.mdb[Ô]
[ô]Objeto de acesso à tabela Products
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open [Ô]SELECT * [Ô] & _
[Ô]FROM alarme1 [Ô] & _
[Ô]WHERE equipamento = [ô][Ô] & equip1.Text & [Ô] [ô] and data = [ô][Ô] & frmautomacao.dataatual.Text & [Ô][ô] and hora = [ô][Ô] & frmautomacao.horaatual.Text & [Ô][ô][Ô] & _
[Ô]ORDER BY Código;[Ô], con, adOpenKeyset, adLockReadOnly
[ô]Rotina para alimentar o ComboBox
Do While Not rs.EOF
statusacao1.Text = rs.Fields([Ô]acao[Ô])
Timer2.Enabled = True
[ô] Combo1.ItemData(Combo1.NewIndex) = rs.Fields([Ô]codigo[Ô])
rs.MoveNext
Loop
[ô]Fechar e descarregar os objetos de acesso da memória
rs.Close
Set rs = Nothing
[ô]con.Close
Set con = Nothing
End Sub
e abaixo o otro timer que executa a acao conforme o que a consulta retorna:
Private Sub Timer2_Timer()
If statusacao1.Text = [Ô]Ligar[Ô] Then
Call frmautomacao.ligue1
Timer2.Enabled = False
Else
If statusacao1.Text = [Ô]Desligar[Ô] Then
Call frmautomacao.desligue1
Timer2.Enabled = False
End If
End If
End Sub
como comentei, estes 2 timers vou precisar fazer 8 iguais, o que ira mudar será o valor [Ô]equip1.Text[Ô] que sera equip2.Text, equip3.Text....
alguem tem alguma outra forma de eu fazer isto?
agradeco a qualquer ideia.
obrigado!
Private Sub txtNome_Change()
Dim SQL As String
If txtNome.Text <> [Ô][Ô] Then
SQL = [Ô]Select Nome, ClienteID from Cad_Clientes where Nome like [ô][Ô] & Trim$(txtNome.Text) & [Ô]%[ô][Ô]
Set rsClientes = New ADODB.Recordset
rsClientes.Open SQL, CnSql, adOpenDynamic, adLockOptimistic
Set GridC.DataSource = rsClientes [ô]Preenchendo Grid com Ado
GridC.Visible = True
GridC.RowHeight(0) = 0 [ô]Olculta o nome da Colununa
GridC.ColWidth(0) = 0 [ô]não mostra a promeira coluna
GridC.ColWidth(1) = 5800 [ô]tamanho da coluna Nome
GridC.ColWidth(2) = 0 [ô]tamanho da coluna ClienteID
Call OnGotoFocos(GridC)
GridC.ScrollBars = flexScrollBarVertical
End If
If GridC.Row = 0 Then
GridC.Visible = False
End If
If txtNome.Text = [Ô][Ô] Then
GridC.Visible = False
End If
End Sub
[ô]Obs o GridC uso o MSHFlexGrid
Dim SQL As String
If txtNome.Text <> [Ô][Ô] Then
SQL = [Ô]Select Nome, ClienteID from Cad_Clientes where Nome like [ô][Ô] & Trim$(txtNome.Text) & [Ô]%[ô][Ô]
Set rsClientes = New ADODB.Recordset
rsClientes.Open SQL, CnSql, adOpenDynamic, adLockOptimistic
Set GridC.DataSource = rsClientes [ô]Preenchendo Grid com Ado
GridC.Visible = True
GridC.RowHeight(0) = 0 [ô]Olculta o nome da Colununa
GridC.ColWidth(0) = 0 [ô]não mostra a promeira coluna
GridC.ColWidth(1) = 5800 [ô]tamanho da coluna Nome
GridC.ColWidth(2) = 0 [ô]tamanho da coluna ClienteID
Call OnGotoFocos(GridC)
GridC.ScrollBars = flexScrollBarVertical
End If
If GridC.Row = 0 Then
GridC.Visible = False
End If
If txtNome.Text = [Ô][Ô] Then
GridC.Visible = False
End If
End Sub
[ô]Obs o GridC uso o MSHFlexGrid
Tópico encerrado , respostas não são mais permitidas