ошибка [Microsoft][Driver ODBC dBase]...

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

ошибка [Microsoft][Driver ODBC dBase]...

Сообщение shady » 27.06.2006 (Вт) 8:36

ругается:
[Microsoft][Driver ODBC dBase]Числовое выражение выходит за пределы допустимого диапазона (null)
при исполнении вот такого запроса: (если конечно кому-то бует что из него понятно)

Код: Выделить всё
rst.Open "INSERT INTO tmpBase (K_reg, Naim, Fio_men, Grtov, otd, SOtBP1) SELECT " & strSprReg & ".K_reg, " & strSprReg & ".Naim, " & strSprReg & ".Fio_men, " & strSprReg & ".Grtov, " & strSprReg & ".otd, " _
& "((" & strDZ & ".kolo11*(" & strDZ & ".cen1-((" & strDZ & ".tr_cen*" & strDZ & ".cen1)/(" & strDZ & ".tr_cen+" & strDZ & ".summ))+(" & strDZ & ".cen1*" & strDZ & ".sk1/100))*" & strDZ & ".prbp1/100)) AS SOtBP1 FROM " & strSprReg & ", " & strSprProd & ", " & strDZ & "" _
& " WHERE (" & strDZ & ".date_o1 BETWEEN " & d1 & " AND " & d2 & ") AND (" & strSprProd & ".Gt IN (1)) AND (" & strSprReg & ".Grtov IN ('1,2,')) AND (" & strDZ & ".reg = " & strSprReg & ".k_reg) AND (" & strSprProd & ".K_tov = " & strDZ & ".K_tov1) ORDER BY " & strSprReg & ".Fio_men", cnn


с подставленными переменнуми:
Код: Выделить всё
INSERT INTO tmpBase (K_reg, Naim, Fio_men, Grtov, otd, SOtBP1) SELECT REG22060.K_reg, REG22060.Naim, REG22060.Fio_men, REG22060.Grtov, REG22060.otd, ((DZ220606.kolo11*(DZ220606.cen1-((DZ220606.tr_cen*DZ220606.cen1)/(DZ220606.tr_cen+DZ220606.summ))+(DZ220606.cen1*DZ220606.sk1/100))*DZ220606.prbp1/100)) AS SOtBP1 FROM REG22060, TOV22060, DZ220606 WHERE (DZ220606.date_o1 BETWEEN #06/23/2006# AND #06/23/2006#) AND (TOV22060.Gt IN (1)) AND (REG22060.Grtov IN ('1,2,')) AND (DZ220606.reg = REG22060.k_reg) AND (TOV22060.K_tov = DZ220606.K_tov1) ORDER BY REG22060.Fio_men


подскажите пожалуйста как искать, на чем именно он так ругается??

зы dbf

GB826
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 312
Зарегистрирован: 04.08.2005 (Чт) 0:58
Откуда: Планета #3

Сообщение GB826 » 27.06.2006 (Вт) 9:23

Может в результате селекта есть поля со значением Null?
А в таблице куда вставляешь данные Nullы не допускаются для интов?

И причем здесь ВБ?
Пора уже всем хорошим людям собраться и убить всех плохих людей.

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 27.06.2006 (Вт) 9:39

ВБ здесь при том, что я пишу программу на ВБ, а пишу я именно сюда потому что, возможно, что кто-то уже сталкивался с такой проблемой при написании программы.

Может в результате селекта есть поля со значением Null?
А в таблице куда вставляешь данные Nullы не допускаются для интов?


спасибо, сейчас буду пробывать.

Еще хотелось бы услышать совета как можно узнать на какой именно записи он выплевывает эту ошибку? Дело в том, что когда ошибка вывалилась, я жму "END" и лезу посмотреть в мою табличку, то там что-то все есть. Т.е. запрос работает до определенной записи на которой и встает, вот как -нибудь можно узнать на чем именно он остановился?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 27.06.2006 (Вт) 11:34

REG22060.Grtov IN ('1,2,'))

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 27.06.2006 (Вт) 11:54

Konst_One, спасибо, но сейчас появилась проблема, которая остановила всю работу... что делать :cry: :?:
Непредвиденная ошибка драйвера внешней базы данных (8961)

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 27.06.2006 (Вт) 11:57

GB826 писал(а):Может в результате селекта есть поля со значением Null?
А в таблице куда вставляешь данные Nullы не допускаются для интов?

И причем здесь ВБ?

Либо диапазон значений ограничен только Null'ом :|

Nicky
Постоялец
Постоялец
 
Сообщения: 519
Зарегистрирован: 12.08.2004 (Чт) 12:14

Сообщение Nicky » 27.06.2006 (Вт) 11:59

Konst_One писал(а):REG22060.Grtov IN ('1,2,'))

И как это могло помешать?

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 27.06.2006 (Вт) 14:39

Nicky писал(а):
Konst_One писал(а):REG22060.Grtov IN ('1,2,'))

И как это могло помешать?

да это и не мешало... что-то другое... будем искать, мне так кажется, что такое происходит когда в одном из полей 0, а именно думаю что это
Код: Выделить всё
DZ220606.summ
и происходит деление на 0, полчается бесконечность...


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot и гости: 60

    TopList