|
|
|
| Есть основная табл и есть временная, где все поля текстовые. во временную из excel закачиваются данные:
"INSERT INTO импорт1 (f1,..., f71) SELECT * FROM [$A6:BS" & k - 1 & "] IN '" & nm& "'[Excel 8.0;HDR=No]; После закачки надо проверить изменились ли строки в основной и обновить их. Попробовала в аксес выполнить запрос:
SELECT count(импорт3.f1) FROM импорт, импорт3
WHERE КодДМТО=CInt(f1) And (nz( г06_07,0)<>nz(CInt(f15) ,0) or ..... or nz( КритЗимн,"")<>nz(f71,""))
в f1 данные есть в каждой строке.
ругается на "Недопустимое использование Null". Как победить? если делать просто выборку без count, то данные отображаются, но совсем не уверена что согласно условиям, не показывается общее число записей и когда по ним начинаешь передвигаться не сразу но выдает ту же ошибку | |
|
| |
|
|
|
| Мне не нравится это: nz(CInt(f15) ,0)
Если в f15 встретится Null - это вызовет описанную ошибку.
Я бы сделал так: CInt(nz(f15 ,0))
А зачем вам Count? Если без него запрос возвращает 10 записей, то с Count он вернет одну запись с числом 10 в поле (если 0 записей, то он вернет 1 пустую запись с Null в поле) .
А как вы собираетесь менять данные в основной таблице на основе данных этого запроса? Особенно если в нем Count, и возвращается только кол-во несовпадающих записей. | |
|
| |
|
|
|
| Поправила, заработало. Спасибо
Count это пока просто смотрела сколько записей нужно будет выбирать, конечно для обновления буду выдирать сами столбцы. | |
|
| |