Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Где грабли?

2.0K
20 декабря 2002 года
MNikolay
16 / / 20.12.2002
Привет всем.

Нужна помощь в решении (помоему) элементарной задачи. Вообщем есть две БД на Access - старая и новая, в них есть одинаковые таблицы, пишется прога на VB которая перекинет данныеиз старой БД в новую. Вся фича заключается в том, что в результате простого копирования могут появиться повторные записи, а по сему прежде чем занести запись в новую БД я сравниваю переносимые данные из старой БД с данными из новой БД. Т.е. берется recordsetOld и прогоняется по новой БД методом FindFirst. Проверяется это все по трем полям: № документа - числовой тип, Дате создания записи - тип данных: Дата; и Сумма заказа - тип данных: Денежный, фиксированный. Глюка в том, что

rstNew.FindFirst "D_nomer = '" & rstOld![D_nomer] & "'" & " AND Date = #" & Format(rstOld![Date], "mm-dd-yy") & "#"

работает без проблем, а вот если искать по полю Сумма (D_summa)

rstNew.FindFirst "D_summa= '" & CCur(rstOld![D_summa]) & "'"

то появляеться ошибка Run-time error 3464 "Data type mysmatch in criteria expression". Т.е. если я правильно понимаю, то ему что то ненравиться с типами данных.
Как обойти сею фичу? Наверняка кто-то уже наступал на эти грабли. Спасибо.
2.0K
24 декабря 2002 года
Polev
33 / / 20.12.2002
Цитата:
Originally posted by MNikolay
Привет всем.

Нужна помощь в решении (помоему) элементарной задачи. Вообщем есть две БД на Access - старая и новая, в них есть одинаковые таблицы, пишется прога на VB которая перекинет данныеиз старой БД в новую. Вся фича заключается в том, что в результате простого копирования могут появиться повторные записи, а по сему прежде чем занести запись в новую БД я сравниваю переносимые данные из старой БД с данными из новой БД. Т.е. берется recordsetOld и прогоняется по новой БД методом FindFirst. Проверяется это все по трем полям: № документа - числовой тип, Дате создания записи - тип данных: Дата; и Сумма заказа - тип данных: Денежный, фиксированный. Глюка в том, что

rstNew.FindFirst "D_nomer = '" & rstOld![D_nomer] & "'" & " AND Date = #" & Format(rstOld![Date], "mm-dd-yy") & "#"

работает без проблем, а вот если искать по полю Сумма (D_summa)

rstNew.FindFirst "D_summa= '" & CCur(rstOld![D_summa]) & "'"

то появляеться ошибка Run-time error 3464 "Data type mysmatch in criteria expression". Т.е. если я правильно понимаю, то ему что то ненравиться с типами данных.
Как обойти сею фичу? Наверняка кто-то уже наступал на эти грабли. Спасибо.



Само собой....
В апострофы заключают только текстовые переменные...
rstNew.FindFirst "[D_summa]= " & CCur(rstOld![D_summa])

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог