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

Форум: MS ACCESS

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

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

 
 

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

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

тема: На А97 все работает, а на А2003 не хочет...?
 
 автор: Юка   (09.11.2007 в 08:59)   личное сообщение
 
 

На А97 приложение работает, возникла необходимость присоединить таблицы БД на А2003.
Преобразовал приложение А97 в А2003, перестало работать выдает ошибку.
Причем ошибка возникает и без преобразования, если просто открываешь под А2003.
Ниже приведена часть кода приложения, в котором возникает ошибка:

Private Sub btnLoad_Click()
Dim tTov As Recordset, onError As Integer
Dim shCod As String, res As Integer, otdel As Integer
On Error Resume Next

If BlockCash() Then Exit Sub

Pb.Max = DCount("kodTov", "addTovar") + 1
Set tTov = CurrentDb.OpenRecordset("addTovar")

If TopFolderList() Then Exit Sub
If NextFolder() Then Exit Sub

While Not tTov.EOF
Me!kod = tTov!KodTov: Me!tName = tTov!Name: Me!Price = tTov!Price: Me!nal = tTov!nal

DoEvents
'DoCmd.RepaintObject acForm, Me.Name
If OnLine.EditTovar(tTov!KodTov, tTov!Price, tTov!Name, 1, 1, tTov!nal, 1) = 0 Then
res = OnLine.GetLastError()
If OnLine.AddTovar(GetNameFolder(), tTov!KodTov, tTov!Name, tTov!Price, 1, 1, tTov!nal, 1) = 0 Then
myMsgError
Exit Sub
End If
End If
tTov.MoveNext
Pb.Value = Pb.Value + 1
Wend
Pb.Value = 0
If UnBlockCash() Then Exit Sub
End Sub

Public Sub myMsgError()
Dim title As String
On Error Resume Next
Select Case OnLine.GetLastError()
Case 1
title = "Не найден раздел"
Case 2
title = "Неверное значение кода"
Case 3
title = "Неверное значение стоимости"
Case 4
title = "Неверное значение отдела"
Case 5
title = "Неверное значение товарной группы"
....
End Select
MsgBox title, vbCritical + vbOKOnly, "Ошибка!"
End Sub

Выдает :Ошибка Неверное значение стоимости

Причем, если подставляешь конкретное значение вместо "tTov!Price", например: 789,57 все работает. tTov!Price - денежный формат.

Может у кого-нибудь возникнут идеи на этот счет, буду признателен.

  Ответить  
 
 автор: osmor   (09.11.2007 в 09:46)   личное сообщение
 
 

Ну насколько я понял есть некий класс с неизвестным названием (не в коде создания экземпляра этого класса). но есть сам экземпляр - OnLine видимо где-то внутри этого класса при вызове мотодов EditTovar или AddTovar и происходит ошибка. Код ошибки определяется свойством (или методом) класса GetLastError()
Нужно в отладке посмотреть что происходит внутри этого класса.
Поскольку сама ошибка возникает за пределами того кода который Вы нам представили, то помочь вряд ли получится.
попробуйте tTov!Price заменить на ccur(tTov!Price)

  Ответить  
 
 автор: Юка   (09.11.2007 в 11:35)   личное сообщение
 
 

Osmor, большое спасибо, Вы как всегда на высоте !!! Все заработало!!!

  Ответить  
 
 автор: ДрЮня   (09.11.2007 в 10:16)   личное сообщение
 
 

а также проверьте в региональных настройках способ представления десятичной точки

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