VB6 E ACCESS
Boa tarde,
Estou trabalhando num script para envio de alertas SMS para monitorar alguns equipamentos sendo acessados por telnet.
Estou gravando todas as informações que preciso em um arquivo .mdb, porém não tenho experiência em VB, ACCESS é meu primeiro projeto, então gostaria se possÃvel alguém me ajudar com uma rotina como segue:
If [Ô]SELECT status FROM ordem LIMIT 1[Ô] = Enviando Then
Sleep (30)
[ô]volta para If
Else [Ô]SELECT status FROM ordem LIMIT 1[Ô] = Aguardando Then
[Ô]UPDATE ordem SET status=Enviando[Ô]
[ô]Executa a função de envio do SMS
Sleep (30)
[Ô]DELETE * FROM ordem ORDER BY prioridade ASCS LIMIT 1;[Ô]
End if
Vou tentar explicar:
Se o dado que estiver na coluna [Ô]status[Ô] (limitando a 1a linha) for [Ô]Enviando[Ô], ele deve aguardar 30 segundos e fazer a nova verificação, até ele não mais encontrar essa informação.
Se a informação da coluna [Ô]status[Ô] for [Ô]Aguardando[Ô], então ele deve mudar para [Ô]Enviando[Ô], executar um arquivo .bat (que envia o sms), aguardar 30 segundos (tempo para o envio do SMS) e excluir essa primeira linha..
Não sei se consegui ser claro suficiente, se alguém puder ajudar, fico grato.
Abraço
Rafael
Estou trabalhando num script para envio de alertas SMS para monitorar alguns equipamentos sendo acessados por telnet.
Estou gravando todas as informações que preciso em um arquivo .mdb, porém não tenho experiência em VB, ACCESS é meu primeiro projeto, então gostaria se possÃvel alguém me ajudar com uma rotina como segue:
If [Ô]SELECT status FROM ordem LIMIT 1[Ô] = Enviando Then
Sleep (30)
[ô]volta para If
Else [Ô]SELECT status FROM ordem LIMIT 1[Ô] = Aguardando Then
[Ô]UPDATE ordem SET status=Enviando[Ô]
[ô]Executa a função de envio do SMS
Sleep (30)
[Ô]DELETE * FROM ordem ORDER BY prioridade ASCS LIMIT 1;[Ô]
End if
Vou tentar explicar:
Se o dado que estiver na coluna [Ô]status[Ô] (limitando a 1a linha) for [Ô]Enviando[Ô], ele deve aguardar 30 segundos e fazer a nova verificação, até ele não mais encontrar essa informação.
Se a informação da coluna [Ô]status[Ô] for [Ô]Aguardando[Ô], então ele deve mudar para [Ô]Enviando[Ô], executar um arquivo .bat (que envia o sms), aguardar 30 segundos (tempo para o envio do SMS) e excluir essa primeira linha..
Não sei se consegui ser claro suficiente, se alguém puder ajudar, fico grato.
Abraço
Rafael
Vc diz não ter experiência com VB mas está tentando resolver seu problema. No entanto, seria bom explicar se sua aplicação é multi-usuário ou não, pois do jeito que vc está explicando, não tem necessidade disso. Variáveis poderiam muito bem manter estes estados ([ô]enviando[ô] e [ô]aguardando[ô]), não é necessário usar uma tabela pra lidar com esses estados.
Do jeito que vc descreveu, dá pra usar um Timer que de 30 em 30 segundos é disparado. No evento do Timer verifica o estado de uma variável que se estiver [ô]enviando[ô] faz nada, logo os 30 segundos vão passar. Se estiver aguardando, vc desabilita o Timer, muda o estado da variável para [ô]enviando[ô], executa os bats (seria bom se conseguÃssemos rodar de modo sÃncrono, aguardando o fim da execução dos bats), muda o estado da variável para [ô]aguardando[ô].
Do jeito que vc descreveu, dá pra usar um Timer que de 30 em 30 segundos é disparado. No evento do Timer verifica o estado de uma variável que se estiver [ô]enviando[ô] faz nada, logo os 30 segundos vão passar. Se estiver aguardando, vc desabilita o Timer, muda o estado da variável para [ô]enviando[ô], executa os bats (seria bom se conseguÃssemos rodar de modo sÃncrono, aguardando o fim da execução dos bats), muda o estado da variável para [ô]aguardando[ô].
Dê uma olhada nesse tópico e no anexo que coloquei lá. Acho que vai te ajudar.
http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=404828
http://www.vbmania.com.br/pages/index.php?varModulo=Forum&varMethod=abrir&varID=404828
Opa,
Acho que estou conseguindo fazer o que necessito, preciso uma dica quanto a atualizar e excluir dados do DB access.
Primeiro, preciso atualizar apenas um campo da primeira linha da tabela Ordem.
UPDATE ordem SET status=Enviando LIMIT 1 // também tentei com TOP 1 e mesmo assim não funciona.
Segundo, preciso também após efetuar algumas funções, excluir toda essa primeira linha
DELETE * FROM ordem ORDER BY prioridade LIMIT 1
(VB6 e ACCESS)
Obrigado
Acho que estou conseguindo fazer o que necessito, preciso uma dica quanto a atualizar e excluir dados do DB access.
Primeiro, preciso atualizar apenas um campo da primeira linha da tabela Ordem.
UPDATE ordem SET status=Enviando LIMIT 1 // também tentei com TOP 1 e mesmo assim não funciona.
Segundo, preciso também após efetuar algumas funções, excluir toda essa primeira linha
DELETE * FROM ordem ORDER BY prioridade LIMIT 1
(VB6 e ACCESS)
Obrigado
Tópico encerrado , respostas não são mais permitidas