2016-11-04 4 views
2

У меня есть форму и для ее проверки, я использую eval(). Предпосылкой является то, что я определил правила в таблице. Эти правила содержат заполнители. Правило скомпилировано, а затем eval() должно проверить его истинное или ложное.MS Access: eval() возвращает NULL при доступе. Свойство .Column (x, y)

Часть одного правила содержит проверку значения списка. Я решил, что это проблема. Я мог бы свести к следующим:

Application.Forms("frmDMAE").lstHistory.Column(6, Application.Forms("frmDMAE").lstHistory.ListCount - 1)

возвращается т.е. 2,

eval("Application.Forms(""frmDMAE"").lstHistory.Column(6, Application.Forms(""frmDMAE"").lstHistory.ListCount - 1)")

возвращает NULL - но я не могу понять, почему !?

eval("Application.Forms(""frmDMAE"").lstHistory.Column(6, 5)")

возвращает NULL, а !? Столбец 6, строка 5 определенно содержит числовое значение.

Также вставив следующий код в окно отладки показывает «2» в качестве возвращаемого значения в обоих случаях:

Application.Forms("frmDMAE").lstHistory(6, Application.Forms("frmDMAE").lstHistory.ListCount - 1) Application.Forms("frmDMAE").lstHistory.Column(6, 5)

Любая идея кто ??? У меня больше нет ни копейки.

[EDIT]

Решение работы Андре. Просто измените индексы свойства .Column в Eval(). Используйте .Column (rowindex, colindex) вместо .Column (colindex, rowindex)!

[/ EDIT]

Большое спасибо, Томас

ответ

2

Wow. Какая странная вещь.

Видимо, вы должны Переключите параметры (или массив индексов) в .Column собственности вокруг при использовании его с Eval().

В моем списке есть 2 строки и 7 столбцов с числом в 6-й колонке (= столбец 5).

? Forms!myForm!myList.Column(5,1) 
3600 

? Eval("Forms!myForm!myList.Column(5,1)") 
Null 

? Eval("Forms!myForm!myList.Column(1,5)") 
3600 

Я действительно не знаю, что с этим делать.

Примечание: Я использую Access 2010.

+0

Ваше решение работает! И да, это действительно странно. Я никогда бы не попытался изменить индексы свойства '.Column' в' Eval() '. Вы обнаружили это случайно? Мои случайные мысли об этом были пустыми :-). –

+0

Kinda random, да. Я начал получать всегда NULL (как вы), затем он внезапно начал работать, и мне потребовалось немного узнать, что происходит. Я думаю, что это было, когда я попробовал один и тот же номер столбца и строки (это, очевидно, будет работать с Eval и без него). – Andre