Gabriel Cabral Postado Maio 7, 2007 Denunciar Share Postado Maio 7, 2007 Olá pessoal.....minha duvida é o seguinte...tenho um campo d uma tabela em que seu conteúdo é determinado tempo [ex.: 03:30]gostaria de saber como faço pro campo desse tempo d todos os clientes cadastrados terem o valor 05:00 ao mudar o mês do computador....espero que possam me ajudarObrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Maio 8, 2007 Denunciar Share Postado Maio 8, 2007 não entendi direito, mas você pode por um timer e checar a cada segundo qual é o mês do pc. quando mudar você troca. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel Cabral Postado Maio 8, 2007 Autor Denunciar Share Postado Maio 8, 2007 não entendi direito, mas você pode por um timer e checar a cada segundo qual é o mês do pc. quando mudar você troca.Mas como eu faço isso???sou iniciante em vb..não sei usar muito bem o timer...poderia me explicar??obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Maio 9, 2007 Denunciar Share Postado Maio 9, 2007 tem mta coisa sobre timer no forum, da uma olhada:http://scriptbrasil.com.br/forum/index.php...;highlite=timeresse aqui tem uma explicacao boa:http://scriptbrasil.com.br/forum/index.php...st&p=246863e esse aqui fala de uma duvida parecida ca sua:http://scriptbrasil.com.br/forum/index.php...14&hl=timere pra pegar a data do windows, caso você não saiba, use a funcao Date. e pra pegar o mês use a funcao Month:mês = Month(Date)qualquer coisa posta aí Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel Cabral Postado Maio 10, 2007 Autor Denunciar Share Postado Maio 10, 2007 Eu poderia usar uma funçao pra pegar a data e assim verificar quando for dia 1º de cada mês, eu gravar o que quero nos campos da tabela.....isso funcionaria se não tivesse dia primeiro que cai em sabado e/ou domingo não é?porque nesses dias o computador não é ligado e então, no dia seguinte, vamos supor um segunda feira, dia 2, o mês mudou mas nada acontecerá porque já não é dia 1º mais......então não dá mesmo pra usar uma funçao dessas....era isso que eu precisava fazer, mas não sei como fzr isso usando o timer...os links que você me passou não ajudaram muito :unsure: você saberia me explicar como eu devo fzr isso....ou como eu devo utilizar o timer pra fzr isso??!!obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Maio 12, 2007 Denunciar Share Postado Maio 12, 2007 hm.. não tem como você saber qual o ultimo mês que você alterou?? tipo, quando chegar o dia 1 de marco e o você fizer sua alteracao no banco, você grava la que a ultima alteracao foi feita no mês 3.ai você testa sempre se o mês atual é diferente do ultimo mês alterado. assim, não importa qual dia do mês seja, a primera vez que o programa for aberto no mês, a alteracao sera feita.quanto a como usar o timer, você viu o que eu disse no otro tópico:É o seguinte, c adiciona um timer (reloginho na barra de componentes).O timer funciona assim:c poe na propriedade interval um valor em milsegundos (1 segundo dividido por mil) que representa o tempo que você quer marcar.Exemplo:Coloque 1000 no interval.Clique duas vezes no timer pra criar o evento timer1_timer.Toda vez que se passarem 1000 milisegundos (= 1 segundo), o programa vai chamar esse evento.Entendeu?O timer serve pra chamar um evento toda vez que se passar um tempo que você determinar.??sugeri o timer pra você pro caso de o programa estar aberto quando o mês mudar, ai você teria que checar de tempos em tempos.se você achar que não precisa do timer (ou seja, você tem certeza que ninguém vai tar usando o programa a 00:00 do dia 30), você pode checar a data, so quando ele abrir o programa por exemplo.veja se você entendeu e se é possivel a ideia que eu passei acima, qualquer coisa poste ai. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel Cabral Postado Agosto 21, 2007 Autor Denunciar Share Postado Agosto 21, 2007 hm.. não tem como você saber qual o ultimo mês que você alterou?? tipo, quando chegar o dia 1 de marco e o você fizer sua alteracao no banco, você grava la que a ultima alteracao foi feita no mês 3.ai você testa sempre se o mês atual é diferente do ultimo mês alterado. assim, não importa qual dia do mês seja, a primera vez que o programa for aberto no mês, a alteracao sera feita.quanto a como usar o timer, você viu o que eu disse no otro tópico:É o seguinte, c adiciona um timer (reloginho na barra de componentes).O timer funciona assim:c poe na propriedade interval um valor em milsegundos (1 segundo dividido por mil) que representa o tempo que você quer marcar.Exemplo:Coloque 1000 no interval.Clique duas vezes no timer pra criar o evento timer1_timer.Toda vez que se passarem 1000 milisegundos (= 1 segundo), o programa vai chamar esse evento.Entendeu?O timer serve pra chamar um evento toda vez que se passar um tempo que você determinar.??sugeri o timer pra você pro caso de o programa estar aberto quando o mês mudar, ai você teria que checar de tempos em tempos.se você achar que não precisa do timer (ou seja, você tem certeza que ninguém vai tar usando o programa a 00:00 do dia 30), você pode checar a data, so quando ele abrir o programa por exemplo.veja se você entendeu e se é possivel a ideia que eu passei acima, qualquer coisa poste ai.não sei como fazer pra saber o ultimo mes que um registro foi alterado....não sei o que usar pra fazer isso ao mudar o mes :( Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Agosto 21, 2007 Denunciar Share Postado Agosto 21, 2007 você não pode criar uma tabela nova no seu banco so pra guardar o mes da ultima atualizacao?? ai seriam dois campos, um pra guardar o mes e outro o ano. depois de criar, adicione um registro na mao mesmo (ela sempre vai ter so um registro) q seja anterior ao mes atual.ai assim q o programa abrisse você faria um teste:sql = "Select * From Tabela"Set rs = cn.Execute(sql)If DateSerial(rs!Ano, rs!Mes, 1) < DateSerial(Year(Date), Month(Date), 1) Then - AQUI você FAZ A ATUALIZACAO Q você PRECISA - sql = "Update Tabela Set Ano = " & Year(Date) & ", Mes = " & Month(Date) cn.Execute sqlEnd If[/code] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel Cabral Postado Agosto 21, 2007 Autor Denunciar Share Postado Agosto 21, 2007 (editado) você não pode criar uma tabela nova no seu banco so pra guardar o mes da ultima atualizacao?? ai seriam dois campos, um pra guardar o mes e outro o ano. depois de criar, adicione um registro na mao mesmo (ela sempre vai ter so um registro) q seja anterior ao mes atual.ai assim q o programa abrisse você faria um teste:sql = "Select * From Tabela" Set rs = cn.Execute(sql) If DateSerial(rs!Ano, rs!Mes, 1) < DateSerial(Year(Date), Month(Date), 1) Then - AQUI você FAZ A ATUALIZACAO Q você PRECISA - sql = "Update Tabela Set Ano = " & Year(Date) & ", Mes = " & Month(Date) cn.Execute sql End If não ficaria assim??? Private Sub MDIForm_Load() SQL = "Select * From Tabela" Set rs = cn.Execute(SQL) If DateSerial(rs!Ano, rs!Mes, 1) < DateSerial(Year(Date), Month(Date), 1) Then "Update Clientes Set Cli_TempoDisp = '" & 05:00 & "'" SQL = "Update Tabela Set Ano = " & Year(Date) & ", Mes = " & Month(Date) cn.Execute SQL End If End Sub mas ta dando erro na linha "Update Clientes Set Cli_TempoDisp = '" & 05:00 & "'"o erro diz: Compile error: Expected: line number or label or statement or end of statementmas não era isso q tinha que fazer??? Editado Agosto 21, 2007 por Gabriel Cabral Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Agosto 21, 2007 Denunciar Share Postado Agosto 21, 2007 SQL = "Update Clientes Set Cli_TempoDisp = '" & 05:00 & "'" cn.Execute SQL SQL = "Update Tabela Set Ano = " & Year(Date) & ", Mes = " & Month(Date) cn.Execute SQL[/code] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel Cabral Postado Agosto 21, 2007 Autor Denunciar Share Postado Agosto 21, 2007 (editado) SQL = "Update Clientes Set Cli_TempoDisp = '" & 05:00 & "'" cn.Execute SQL SQL = "Update Tabela Set Ano = " & Year(Date) & ", Mes = " & Month(Date) cn.Execute SQL Coloquei isso mas o mesmo erro continua na mesma linha a linha fica em vermelho e a parte "Update Clientes Set Cli_TempoDisp = '" fica selecionada em azul Editado Agosto 21, 2007 por Gabriel Cabral Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Agosto 22, 2007 Denunciar Share Postado Agosto 22, 2007 o codigo todo tem q ser assim:Private Sub MDIForm_Load()SQL = "Select * From Tabela"Set rs = cn.Execute(SQL)If DateSerial(rs!Ano, rs!Mes, 1) < DateSerial(Year(Date), Month(Date), 1) Then SQL = "Update Clientes Set Cli_TempoDisp = '" & 05:00 & "'" cn.Execute SQL SQL = "Update Tabela Set Ano = " & Year(Date) & ", Mes = " & Month(Date) cn.Execute SQLEnd IfEnd Sub[/code] Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Gabriel Cabral Postado Agosto 23, 2007 Autor Denunciar Share Postado Agosto 23, 2007 o codigo todo tem q ser assim:Private Sub MDIForm_Load() SQL = "Select * From Tabela" Set rs = cn.Execute(SQL) If DateSerial(rs!Ano, rs!Mes, 1) < DateSerial(Year(Date), Month(Date), 1) Then SQL = "Update Clientes Set Cli_TempoDisp = '" & 05:00 & "'" cn.Execute SQL SQL = "Update Tabela Set Ano = " & Year(Date) & ", Mes = " & Month(Date) cn.Execute SQL End If End Sub Ae kuroi...consegui... ficou assim Set Conex = New ADODB.Connection Conex.Open StringDeConexao SQL = "Select * From Data" Set rs = Conex.Execute(SQL) If DateSerial(rs!Ano, rs!Mes, 1) < DateSerial(Year(Date), Month(Date), 1) Then If MsgBox("Deseja atualizar o Tempo Disponível dos clientes?", vbQuestion + vbYesNo, "Sistempo") = vbYes Then SQL = "Update Clientes Set Cli_TempoDisp = '05:00'" Conex.Execute (SQL) SQL = "Update Data Set Ano = " & Year(Date) & ", Mes = " & Month(Date) Conex.Execute SQL Else MsgBox "Emitir relatórios e atualizar Tempo Disponível dos clientes.", vbExclamation + vbOKOnly, "Sistempo" End If End If um outro problema que estava impedindo a funcionalidade do programa era porque faltava o Set Conex = Nothingno Unload do form principalagora está tudo funcionando perfeitamentemuito obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Gabriel Cabral
Olá pessoal.....
minha duvida é o seguinte...
tenho um campo d uma tabela em que seu conteúdo é determinado tempo [ex.: 03:30]
gostaria de saber como faço pro campo desse tempo d todos os clientes cadastrados terem o valor 05:00 ao mudar o mês do computador....
espero que possam me ajudar
Obrigado
Link para o comentário
Compartilhar em outros sites
12 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.