Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.06;
Скачать: CL | DM;

Вниз

Проблемы после выполнения запроса.   Найти похожие ветки 

 
Крутыш ©   (2004-01-13 21:06) [0]

Братаны поясните, что нужно сделать???

Вот такую ошибку выдаёт программа, выполнив запрос, начинаю редактировать
и выходит вот такое сообщение.

Недостаточно сведений ключевого поля для обновления.

Помогите!!!


 
softmaster ©   (2004-01-13 21:34) [1]

полностью симптомы приведи...
что за таблы, связи, что за запрос

А так на твой вопрос можно ответить НЕ ДОСТАТОЧНО СВЕДЕНИЙ КЛЮЧЕВОГО ПОЛЯ ДЛЯ ОБНОВЛЕНИЯ


 
sniknik ©   (2004-01-13 22:09) [2]

может и нету его, этого ключевого поля?


 
Крутыш ©   (2004-01-13 22:21) [3]

Вообщем есть таблица с накладными EnterforNakladnye.
Связана через Adotable1.
Запрос нужен:
Когда пользователь в накладной ввёл какой - то товар,
а затем изменил в справочнике этот товар например
наименование, не закрывая эту накладную, он активирует
её, а там наименование старое. Вот этот запрос и нужен
для этого, т.е. для обновления наименований товаров.

select EnterforNakladnye.id_nak,EnterforNakladnye.nomer_nak,
EnterforNakladnye.id_lek,spravochniklek.name,
EnterforNakladnye.seria,EnterforNakladnye.cena,
EnterforNakladnye.ed_izmerenia,EnterforNakladnye.summa,
EnterforNakladnye.vremy,EnterforNakladnye.kol from EnterforNakladnye,spravochniklek where
(EnterforNakladnye.id_lek=spravochniklek.id_lek)and
(EnterforNakladnye.nomer_nak=q1)

Параметр q1 - это номер накладной.
id_lek - уникальный идентификатор товара.

После выполнения запрос идёт следующий код:

Adotable1.Active:=false;
Adotable1.Recordset:=DataModule4.ADODataSet2.Recordset;
Adotable1.Active:=true;

Обновление происходит нормально.
В гриде отображается как должно.
Но когда начинаешь редактировать вылазит вот такая ошибка.

sniknik[2] поле ключевое задано в таблице id_nak.

Выручайте братаны!!! Горю.


 
sniknik ©   (2004-01-13 23:41) [4]

вот это странная, и совсем не нужная конструкция
Adotable1.Recordset:=DataModule4.ADODataSet2.Recordset;
для рефреша достаточно
Adotable1.Active:=false;
Adotable1.Active:=true;

> Параметр q1 - это номер накладной.
> id_lek - уникальный идентификатор товара.
идентификация идет по двум полям, получается? id_nak + id_lek так?
а ситуации с несколькими одинаковыми товарами в одной накладной, не существует? номер накладной на всю накладную естественно один. как в этом случае менять будет?



Страницы: 1 вся ветка

Текущий архив: 2004.02.06;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.024 c
1-16439
Blade
2004-01-28 12:31
2004.02.06
Потоки


3-16149
Yurich
2004-01-14 23:28
2004.02.06
Перевод базы на др. машину


4-16785
DmitryMN
2003-12-01 18:41
2004.02.06
Закрытие DOS-приложения


1-16251
Maxim2030
2004-01-26 15:29
2004.02.06
как преобразовать .tlb -> .pas через командную строку


1-16497
Slym
2004-01-26 08:53
2004.02.06
Как получить данные в определенный мной буфер из COM объекта?