|
|
|
| Здравствуйте! Помогите пожалуйста, пытаюсь сделать себе напоминалку но что-то не клеится...
ствлю тоже самое на опен форм, толку ноль. Заранее благодарю.
Private Sub Form_Activate()
If Time = ("09:00") Then
DoCmd.OpenForm "форма1"
end if
End Sub | |
|
| |
|
|
|
| Может так?
Private Sub Form_Open(Cancel As Integer)
If Time > 09:00:00 Then
DoCmd.OpenForm "форма1"
end if
End Sub
|
| |
|
| |
|
|
|
| нет не помогает и такое пробую:
Private Sub Form_Activate()
Me.Time = "19:58:00"
End Sub
Private Sub Form_Timer()
DoCmd.OpenForm "Форма1"
End Sub
и почему ругается на двоеточие? | |
|
| |
|
|
|
| чтобы не ругался на двоеточие, попробуйте использовать функцию Format()
а таймер у Вас включен ? | |
|
| |
|
|
|
| Я сделал следующее, в форме вставил поле10 = Time()
Private Sub Form_Activate()
Me.TimerInterval = 30000
End Sub
Private Sub Form_Timer()
Refresh
If [Поле10] = "21:34" Then
DoCmd.OpenForm "Form1"
End If
End Sub
только и это не прокатывает да таймер включен | |
|
| |
|
|
|
|
Не верь глазам своим.
Какого лешего сравниваете значение типа Date со строкой?
И неплохо бы гасить таймер при выполнении условия, так, на всякий случай. | |
|
| |
|
|
|
| а как указать то нужное время если не сравнивать со стороковым значением? извите конечно для вас наверное уже глупый вопрос, а я только учусь и как гасить таймер после выполнения условия? | |
|
| |
|
|
|
| 1. Почитайте при тип Date, в каком виде он хранится:
Date variables are stored as IEEE 64-bit (8-byte) floating-point numbers...
When other numeric types are converted to Date, values to the left of the decimal represent date information while values to the right of the decimal represent time.
2. Ставить интервал таймера=0 | |
|
| |
|
|
|
| 1. если под VBA - то создать переменную типа date и потом присвоить ей строку
например
Dim strDate as Date
srtDate="21:00:00"
или воспользоваться Format()
или поле в котором происходит установка ограничения сделать дата/время (т.е. формат поля hh\:nn\:ss)
2. Me.Timer=""
Me.TimerOn=0 | |
|
| |
|
|
|
|
Я тоже люблю пошутить. | |
|
| |
|
|
|
| Грубо но иногда пролазит......
(я про Dim strDate as Date) | |
|
| |
|
|
|
|
| Сделайте так - заработает:
Format(Now, "long time") >= #9:00:00 AM#
| и отключите потом
- это для VBA
да и ставте наверное на | |
|
| |
|
|
|
| не в какую, может у кого есть пример такой програмульки или ссылку где про это почитать можно? всем спасибо! | |
|
| |
|
|
|
| Если время представляете в виде "21:34" (Краткий формат времени), то сравнивайте не значение поля, а текст, в нём находящийся ;-) | |
|
| |
|
11 Кб. |
|
| Будильник
Private Sub Form_Open(Cancel As Integer)
Dim i As Double
Me.cbbTime.AddItem -1 & ";" & "Выключен"
For i = 0 To 1 Step 1 / 48 / 10 ' с шагом в 3 минуты (если достаточно получаса убрать /10)
Me.cbbTime.AddItem i & ";" & Format(i, "Short Time")
Next i
Me.cbbTime = -1
End Sub
Private Sub cbbTime_AfterUpdate()
If Nz(Me.cbbTime, -1) > -1 Then Me.TimerInterval = 3000 'для пробы ваставлен в 3 секунды
End Sub
Private Sub Form_Timer()
Me.fldTime = Time()
If Time() > CDbl(Me.cbbTime) Then
Me.TimerInterval = 0
Me.cbbTime = -1
MsgBox "Дзинь дзинь дзинь"
End If
End Sub
|
| |
|
| |
|
|
|
| Огромное спасибо, все получилось! | |
|
| |
|
|
|
| Такой вопрос, а можно ли сделать так, чтоб MsgBox выходил поверх всех окон windows ? потому как если сидишь не в Аксе табличку не увидешь....
Private Sub Form_Timer()
Me.fldTime = Time()
If Time() > CDbl(Me.Час2) Then
Me.TimerInterval = 0
Me.Час2 = -1
MsgBox "Цель Звонка: " + [Цельзвонка], vbExclamation + vbOKOnly, [Компания]
End If
End Sub | |
|
| |