Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Обновление данных
 
 автор: Scorpi   (19.06.2008 в 11:54)   личное сообщение
 
 

Есть основная табл и есть временная, где все поля текстовые. во временную из 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, то данные отображаются, но совсем не уверена что согласно условиям, не показывается общее число записей и когда по ним начинаешь передвигаться не сразу но выдает ту же ошибку

  Ответить  
 
 автор: Анатолий (Киев)   (19.06.2008 в 14:58)   личное сообщение
 
 

Мне не нравится это: nz(CInt(f15) ,0)
Если в f15 встретится Null - это вызовет описанную ошибку.
Я бы сделал так: CInt(nz(f15 ,0))

А зачем вам Count? Если без него запрос возвращает 10 записей, то с Count он вернет одну запись с числом 10 в поле (если 0 записей, то он вернет 1 пустую запись с Null в поле) .

А как вы собираетесь менять данные в основной таблице на основе данных этого запроса? Особенно если в нем Count, и возвращается только кол-во несовпадающих записей.

  Ответить  
 
 автор: Scorpi   (20.06.2008 в 04:43)   личное сообщение
 
 

Поправила, заработало. Спасибо
Count это пока просто смотрела сколько записей нужно будет выбирать, конечно для обновления буду выдирать сами столбцы.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList