Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: И опять ADO Добавлено: 25.04.08 13:01  

Автор вопроса:  ygen | Web-сайт: soft.ygen.ru/
Возникает ошибка при обработке. Я подключаюсь в базе данных Microsoft Access. Программа работает вроде бы нормально. Но иногда при добавлении данных она выводит ошибку:
"Произошла ошибка во время выполнения многоваговой операции"...

Как исправить данную ошибку? Раньше она возникала часто. Просто думал что проблема заключается в размере полей в базе данных. Изменил на 255.

Код:

Call open_close(1)
Adodc1.Recordset.Update
Adodc1.Refresh
Form1.Adodc1.Recordset.Open
Form1.Adodc1.Refresh
Form1.grd1.Refresh
Form1.Adodc1.Recordset.Close
Call open_close(0)
Unload Me


Open_close:

If i = 0 Then If Adodc1.Recordset.State = 1 Then Adodc1.Recordset.Close
If i = 1 Then If Adodc1.Recordset.State = 0 Then Adodc1.Recordset.Open

Ответить

  Ответы Всего ответов: 6  

Номер ответа: 1
Автор ответа:
 Иван



Вопросов: 34
Ответов: 53
 Web-сайт: www.harami.ru
 Профиль | | #1
Добавлено: 25.04.08 16:45
Насколько я помню, это сообщение Вам выдает не VBasic, а Access.
Наиболее вероятные причины:
1) Ошибка обновления каскадных связей в таблицах;
2) Попытка сохранить некорректные данные в каком-либо поле.

Ответить

Номер ответа: 2
Автор ответа:
 ygen



Вопросов: 36
Ответов: 87
 Web-сайт: soft.ygen.ru/
 Профиль | | #2
Добавлено: 25.04.08 16:47
А может ли эта ошибка возникать из-за того что я так делаю обновления и не указываю какие конкретно поля надо обновить?

Ответить

Номер ответа: 3
Автор ответа:
 Иван



Вопросов: 34
Ответов: 53
 Web-сайт: www.harami.ru
 Профиль | | #3
Добавлено: 25.04.08 17:04
Нет, это само по себе не должно вызывать ошибку. Вы обновляете ЗАПИСЬ (либо текущую, либо все), и VB при этом обновляет в базовой таблице только поля, в которые вносились изменения.
Ктати, проверьте, не пытаетесь ли Вы обновить необновляемое поле (поле счетчика).

Ответить

Номер ответа: 4
Автор ответа:
 ygen



Вопросов: 36
Ответов: 87
 Web-сайт: soft.ygen.ru/
 Профиль | | #4
Добавлено: 25.04.08 17:08
Скорее всего я нашёл ошибку.Одно поле в Access было "разворачивающимся" списком и данные брались из несуществующей таблицы. Я убрал эти данные.

А могут ли возникать ошибки из за логической переменной?

(в VB я использую checkbox, и если true то передаю параметр -1, иначе 0)

Ответить

Номер ответа: 5
Автор ответа:
 Иван



Вопросов: 34
Ответов: 53
 Web-сайт: www.harami.ru
 Профиль | | #5
Добавлено: 25.04.08 17:32
Здесь, по-моему, не должно быть проблемы, если только для флажка не установлено тройное состояние.
Кстати, не знаю как в других версиях VB, но в VB6 флажок имеет значения не True/False, а 1/0. Как ни странно, иногда это вызывает проблемы (хотя, казалось бы, ноль это всегда False, а число, отличное от нуля, всегда True).

Ответить

Номер ответа: 6
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #6
Добавлено: 25.04.08 17:58
Попробуй по одному изменять поле и вызывать Update. После которого ошибка выскочит, то и неверно, разбирайся с ним

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам