powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Таблица.Update избежания ошибки
7 сообщений из 7, страница 1 из 1
Таблица.Update избежания ошибки
    #38179254
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поле "FullPath" в базе данных Access обозначено как индексированное поле где значения не повторяются. В момент MDB_Links.Update само собой будет ошибка если запись повторится. Как можно отловить возмущения ядра базы данных чтоб не доводилось ставить on error goto.... чтоб свободно узнать и поставить CancelUpdate. Без дополнительного поиска и запроса. Думаю такое должно быть предвидено.

MDB_Links.AddNew
MDB_Links("FullPath") = LCase(Trim(RealNameLink))
MDB_Links("LinkPath") = LCase(Trim(Pth))
MDB_Links.Update
...
Рейтинг: 0 / 0
Таблица.Update избежания ошибки
    #38179258
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не хочу просто такой безобразии (((
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Public Function AddToTmpLink(ByVal RealNameLink As String, ByVal Pth As String) As Boolean
  'If PerevirkaNayavnostiFile(Pth) = False Then Exit Function
  MDB_Links.AddNew
  MDB_Links("FullPath") = LCase(Trim(RealNameLink))
  MDB_Links("LinkPath") = LCase(Trim(Pth))
  'MDB_Links("LenFile") = FNFileLen(Pth)
  On Error GoTo er
  MDB_Links.Update
  AddToTmpLink = True
dali:
  On Error GoTo 0
 Exit Function
er:
  MDB_Links.CancelUpdate
  Resume dali
End Function
...
Рейтинг: 0 / 0
Таблица.Update избежания ошибки
    #38179259
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну безобразию, положим, можно упростить до линейного алгоритма:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Public Function AddToTmpLink(ByVal RealNameLink As String, ByVal Pth As String) As Boolean
  'If PerevirkaNayavnostiFile(Pth) = False Then Exit Function
  MDB_Links.AddNew
  MDB_Links("FullPath") = LCase(Trim(RealNameLink))
  MDB_Links("LinkPath") = LCase(Trim(Pth))
  'MDB_Links("LenFile") = FNFileLen(Pth)
  On Error GoTo Resume Next
  MDB_Links.Update
  If Err<>0 Then
    MDB_Links.CancelUpdate
  Else
    AddToTmpLink = True
  End If
End Function
...
Рейтинг: 0 / 0
Таблица.Update избежания ошибки
    #38179260
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опа.. а счетчик в любом случае "+1" считает и в случае успешного добавления и в случае запрета
...
Рейтинг: 0 / 0
Таблица.Update избежания ошибки
    #38179261
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Андрей159Опа.. а счетчик в любом случае "+1" считает и в случае успешного добавления и в случае запретада, а ты хотел непрерывности счетчика? Не выйдет, не для того он предназначен.
...
Рейтинг: 0 / 0
Таблица.Update избежания ошибки
    #38179262
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хотя мне это не помеха.

Короче, нет на Update типа как функции (я так понял) чтоб дало к примеру true - обновило или false - не может обновить. Будет ошибка в любом случае и только через On Error и никак по другому ?
...
Рейтинг: 0 / 0
Таблица.Update избежания ошибки
    #38179263
Фотография Андрей159
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, нет так нет. Все мелочи. Главное что работает.
Спасибо
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Таблица.Update избежания ошибки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]