(изменено: Slava.Coder.Vrn, 28 августа 2007г. 21:08:11)

Тема: Не работают выборки в обработчике Timer()

Требуется сделать в TDMS "напоминалку" о запланированных действиях.
Имеются объекты, у которых есть атрибут типа "дата/время", нужно выдать пользователю список этих объектов, у которых значение этого атрибута меньше значения системного времени.

Написал так

    Set QrySheet = ThisApplication.Queries("QUERY_Remind").Sheet
    If QrySheet.RowsCount > 0 Then
        For Each Act In ThisApplication.Queries("QUERY_Remind").Sheet.Objects
            MsgBox Act.Description    'ЗДЕСЬ РУГАЕТСЯ НА ОТСУТСТВИЕ ОБЪЕКТА
        Next

И вот так

    Set QrySheet = ThisApplication.Queries("QUERY_Remind").Sheet
    If QrySheet.RowsCount > 0 Then
        For i = 0 to QrySheet.RowsCount - 1
            MsgBox QrySheet.RowValue(i).Description    'ЗДЕСЬ РУГАЕТСЯ НА ОТСУТСТВИЕ ОБЪЕКТА
        Next

Не работает ни так ни сяк.
Тот же самый код (1-й вариант) нормально работает в командах

Re: Не работают выборки в обработчике Timer()

А под сисадмином работает?

Re: Не работают выборки в обработчике Timer()

Именно под сисадмином и не работает. Что я, маньяк что-ли, под юзером сразу тестить?  :)

Re: Не работают выборки в обработчике Timer()

Sub Timer()
Set QrySheet = ThisApplication.Queries("QUERY_TEST").Sheet
If QrySheet.RowsCount > 0 Then
    For i = 0 to QrySheet.RowsCount - 1
        Str = Str & QrySheet.RowValue(i).Description & Chr(10)
    Next
    MsgBox Str
End If

End Sub

TDMS 3.0.105
Всё работает. Возможно ошибка в выборке

Re: Не работают выборки в обработчике Timer()

Нет, выборка сама по себе работате нормально. v 3.0.99

Re: Не работают выборки в обработчике Timer()

Выложите пожалуйста полный нерабочий код. Попробую глянуть.

(изменено: Slava.Coder.Vrn, 4 сентября 2007г. 17:17:25)

Re: Не работают выборки в обработчике Timer()

Sub Timer()
    Dim QrySheet
    Dim Actions
    Dim Act
    Dim DlgSel
    Dim i
    
'    On Error Resume Next
'    Exit Sub
    
    Set QrySheet = ThisApplication.Queries("QUERY_Remind").Sheet
    If QrySheet.RowsCount > 0 Then
        For i = 0 to QrySheet.RowsCount - 1
            If QrySheet.RowValue(i).Attributes("ATTR_DateStart").Value <= Now() Then
                msgbox Act.Description
            End If
        Next
    End If
End Sub

Не работают выборки в обработчике Timer()

Re: Не работают выборки в обработчике Timer()

msgbox Act.Description

Эта строчка падает ?

Во всем коде не увидел присвоения переменной Act хоть какого то значения.

Re: Не работают выборки в обработчике Timer()

и еще, Хоть как-то, на что-то ругается? На какой строке прерывает выполнение?

Re: Не работают выборки в обработчике Timer()

Edhunter пишет:
msgbox Act.Description

Эта строчка падает ?

Во всем коде не увидел присвоения переменной Act хоть какого то значения.

Чъерт побъери! [SENSORED] [SENSORED] [SENSORED] [SENSORED] [SENSORED]!
Спасибо большое  :)
Сначала не работала выборка, но ошибки там я не заметил, полез в скрипт чтобы его упростить и поправил код на вышеприведенный неправильный (сначала скрипт был правильный), потом нашел ошибку в выборке и поправил ее. Ессно, все равно ничего не работало... Блн.