![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
dron4ik |
![]()
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
всем привет. Сделал бд в делфи ..в ней..имеется две таблицы, одна из них дочерняя , а др родительская, для каждой таблицы сделал две кнопки, которые реализуют поиски разными методами(первый метод-Lookup, второй- Locate), у первой таблице два метода работают нормально, а вот у второй таблицы не работает метод-Lookup--выходит ошибка при нажати кнопки---Variant or safe array index out of bounds...как исправить жту ошибку я не знаю...вот коды:
procedure TForm1.Button1Click(Sender: TObject); |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Так это не "метод Lookup не работает". Это ты с чего-то решил, что Lookup по второй таблице должен вернуть тебе обязательно массив, в котором будет минимум 3 элемента (с индексами 0, 1 и 2). Но LookUpResults, хоть и массив (раз проверку VarIsArray прошел), однако элементов там, как видно, меньше трех, вот тебе и выбрасывается ошибка при попытке обращения к несуществующему элементу.
|
dron4ik |
![]()
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
нифига не понял(((каких еще элементов не хватает?
Добавлено через 5 мин. Volvo, спасибо за оперативную подсказку!) понял и исправил..не хватало еще одного аттрибута (названия поля которое должно выводиться в результате поиска!) |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Ошибка у тебя здесь:
Цитата If VarIsArray(LookUpResults) then А теперь скажи мне, где у тебя в коде написано, что этот самый массив, который хранится в LookUpResults, должен содержать три элемента? Где написано, что Lookup вернет массив, состоящий как минимум из трех элементов? Ты обращаешься в цикле к LookUpResults[0], LookUpResults[1] и LookUpResults[2], а вдруг там просто НЕТ LookUpResults[2]? Проверь, каков размер SafeArray, и выводи те элементы, которые там ЕСТЬ, а не те, которые ты решил, что должны быть... |
dron4ik |
![]()
Сообщение
#5
|
![]() Бывалый ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 318 Пол: Мужской Репутация: ![]() ![]() ![]() |
LookUpResults:=Table2.Lookup('Kod_lic_ch', StrToInt(Edit6.Text), 'Bank; Soc_nom');---я сюда добавил еще один элемент...вот так LookUpResults:=Table2.Lookup('Kod_lic_ch', StrToInt(Edit6.Text), 'Bank; Soc_nom; Data_nach_dei')и всё сразу чики- чики) Сообщение отредактировано: dron4ik - 18.11.2010 21:43 |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Вот чтоб не получать ошибки - сделай то, что я написал
![]() |
![]() ![]() |
![]() |
Текстовая версия | 13.07.2025 15:13 |