重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
Timer1.Interval = 500
创新互联网络公司拥有10年的成都网站开发建设经验,成百上千客户的共同信赖。提供成都网站设计、网站制作、网站开发、网站定制、卖友情链接、建网站、网站搭建、自适应网站建设、网页设计师打造企业风格,提供周到的售前咨询和贴心的售后服务
Private Sub Timer1_Timer()
Timer1.Enabled = False
Dim ss As String
ss = Format(Now, "HH:mm:ss")
If ss = "12:00:00" Then
'执行备份语句
End If
Timer1.Enabled = True
End Sub
还有一个办法就是可以用SQL自身的功能,在SQL里面可以添加任务 ,设置周期为每天,时间为12点,到时候执行一下备份
一个程序在同一时刻只能处理一个事件,比如时钟事件处理时间比时钟周期长的话,它不会事件还没处理完又被激活了,也就是在程序代码执行过程中不会接收新的事件。所以要把与时钟有关的处理事物放在一个独立的进程中,这个我也不懂,只知道建立一个对象库,对象库是一个独立的进程,程序启动后启动对像库时钟。就是Activex Dll工程。
Threading.Thread.Sleep(500)这句是线程停止等待的,在这500毫秒的时间里你的任何动作都是不响应的,理论上再SendKeys.Send(TextBox2.Text)这段时间内你可以动作,但是send是毫秒级完成的,你还没有来得及响应就进入了下一次的循环,所以跟卡死类似
解决方法:通过timer定时器延时
如果现在时间是19:57:00,Interval=60000,那么timer1第一次激活时间是20:03:00,早过20:00:00,所以这种方法存在很大的误差。
既然要监视从19:59:59到20:00:00,二者相差仅1秒,你就应该设Interval=1000才对。
这就是你要精确监视时间所付出的代价。可以说,除此之外,似乎找不到其他的办法。