Страница: 1 |
Привет всем.
Не уверен, но не пробовал ли ты не переводить в денежный тип, или использовть CDbl() вместо CCur() Здесь подводным камнем может оказаться что угодно: от неверно представленного типа до ошибок типа запятая/точка ACESS 2002 sama eto delayet!!! <OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" На сколько я понял, у тебя поле имеет тип Currency. А строку поиска ты строшь так: rstNew.FindFirst D_summa = '123.00', а на самом деле должно быть так rstNew.FindFirst D_summa = 123.00 Попробуй конструкцию: rstNew.FindFirst "D_summa=" & CCur(rstOld![D_summa]) Страница: 1 |
Вопрос: Где грабли?
Добавлено: 20.12.02 18:52
Автор вопроса: 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". Т.е. если я правильно понимаю, то ему что то ненравиться с типами данных.
Как обойти сею фичу? Наверняка кто-то уже наступал на эти грабли. Спасибо.
Ответы
Всего ответов: 4
Номер ответа: 1
Автор ответа:
Jusangel
Вопросов: 0
Ответов: 5
Профиль | | #1
Добавлено: 23.12.02 01:39
Номер ответа: 2
Автор ответа:
vig11
ICQ: 213777061
Вопросов: 21
Ответов: 159
Профиль | | #2
Добавлено: 25.12.02 16:51
По-моему тоже проблема в переводе типов данных. Разве в Acces-е используется тип данных Currenc. Посмотри какой тип данных в этом поле в таблице в новой базе данных.
Номер ответа: 3
Автор ответа:
Millenium
ICQ: 629966
Вопросов: 118
Ответов: 903
Web-сайт:
Профиль | | #3
Добавлено: 25.12.02 17:54
codebase=http://active.macromedia.com/flash2/cabs/swflash.cab#version=4,0,0,
0 ID=http://us.greet1.yimg.com/img.greetings.yahoo.com/g/img/sanrio/xmaswish.swf WIDTH="400" HEIGHT="320">
<PARAM NAME=movie VALUE="http://us.greet1.yimg.com/img.greetings.yahoo.com/g/img/sanrio/xmaswish.swf">
<PARAM NAME=quality VALUE=high>
<PARAM NAME=bgcolor VALUE=#FFFFFF>
<EMBED src="http://us.greet1.yimg.com/img.greetings.yahoo.com/g/img/sanrio/xmaswish.swf" quality=high bgcolor=#FFFFFF WIDTH="400"
HEIGHT="320" TYPE="application/x-shockwave-flash"
PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_
Version=ShockwaveFlash"></EMBED>
</OBJECT>
Номер ответа: 4
Автор ответа:
ГАТ
Вопросов: 2
Ответов: 117
Web-сайт:
Профиль | | #4
Добавлено: 26.12.02 13:27