powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Добавление записи в таблицу. ADP.
13 сообщений из 13, страница 1 из 1
Добавление записи в таблицу. ADP.
    #32392348
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Задача:
Есть таблица Client. У неё составной ключ ClientID, DepartmentID.
Для табл. есть тригер:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Alter trigger tI_Client on dbo.Client
for insert
as

declare @ClientID int

set @ClientID = (
	select max(ClientID) from Client where DepartmentID = (
		select DepartmentID from inserted))+ 1 

update client set ClientID = @ClientID 
where ClientID = (select ClientID from inserted)
and DepartmentID = (select DepartmentID from inserted)


т.е. при добавление записи обновляется добавленная запись.

Захожу в таблицу (не в форму!!!) при добавлении записи получаю такую ошибку:

“Данные, добавленные в БД, не будут отображены в форме, так как они противоречат условиям на базовый источник записей.”

Даные добавляются, но не отображаются. Что я делаю не так? Я пока что новичок в ADP.
В любом случае: Как погасить это сообщение?
...
Рейтинг: 0 / 0
Добавление записи в таблицу. ADP.
    #32392362
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Еще один попался :)\r
/topic/40261&pg=2#288707
...
Рейтинг: 0 / 0
Добавление записи в таблицу. ADP.
    #32392382
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2Senin Viktor
Ни одно из полей ClientID, DepartmentID - не является Identity.
В табл. вообще нет счётчиков.

В любом случае спасибо.
...
Рейтинг: 0 / 0
Добавление записи в таблицу. ADP.
    #32392402
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На форме никаих проблем нет. Помогает команда синхронизации.
В таблицу напрямую - не даёт вставлять. В чём проблема? не понимаю.
...
Рейтинг: 0 / 0
Добавление записи в таблицу. ADP.
    #32392434
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй поставить в начале триггера

Код: plaintext
set nocount on


И еще можно написать так (хотя к данному вопросу не относится)

Код: plaintext
1.
select @ClientID = max(ClientID)+ 1  from Client where DepartmentID = (
		select DepartmentID from inserted)
...
Рейтинг: 0 / 0
Добавление записи в таблицу. ADP.
    #32392444
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если нет уникального поля - то редактировать таблицы Акес не даст
...
Рейтинг: 0 / 0
Добавление записи в таблицу. ADP.
    #32392529
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Senin Viktor
Написано - составной ключ по двум полям. Всё даст редактировать.
...
Рейтинг: 0 / 0
Добавление записи в таблицу. ADP.
    #32392540
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Написано - составной ключ по двум полям. Всё даст редактировать.

Ну, если бы еще было явно написано, что индекс на составной ключ уникален было бы проще глупости не говорить :)

2AlTis
Даные добавляются
В таблицу напрямую - не даёт вставлять
легко запутаться что у тебя к чему

Берем в руки Профайлер и смотрим, что Акес получает.
И вообще - зачем в таблицы на прямую лезть?
...
Рейтинг: 0 / 0
Добавление записи в таблицу. ADP.
    #32392575
Hummer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Senin Viktor
Согласен:)

2 AlTis
Действительно, пользователь же только с формами будет работать, я надеюсь?:)
...
Рейтинг: 0 / 0
Добавление записи в таблицу. ADP.
    #32392635
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Hummer, VS
Мне просто интересно, почему в форме добавляет, а в табл. напрямую нет.
Для меня это всё ново.

В форме запись стала добавляться, когда прописал в строке синхронизации:
Select * from (client ) where clientID=? and DepartmentID=?,
причём обязательны (). По ссылке, которую мне дал VS, я в принципе немного разобрался что к чему, там же прочитал и про (). Но сейчас возникла другая проблема:
Добавили запись. Перешли в другое поле. Возвратились к добавленной. Начали редактировать. Сразу вылезает куча ошибок, связанная с конфликтом записи.
Причём этих окошек – штук 20. Далее ошибка «Line 1. Incorrect syntax near ‘)’», тоже штук 20 (наверное по кол-ву полей).

Думаю, что без поля счётчика + совета Владимира Смирнова никак не обойтись. Верно?
...
Рейтинг: 0 / 0
Добавление записи в таблицу. ADP.
    #32392660
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 AlTis:

set nocount on
в начале триггера поставил???
...
Рейтинг: 0 / 0
Добавление записи в таблицу. ADP.
    #32392664
AlTis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2AlexJuice
да.
Access2K + Sql2000.
Всё равно выходят сообщения.
...
Рейтинг: 0 / 0
Добавление записи в таблицу. ADP.
    #32392693
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По ссылке, которую мне дал VS, я в принципе немного разобрался что к чему, там же прочитал и про ().

Херня это с () полная и об этом было сказано.

Разберись, что Акес запрашивает от сервера через Профайлер и дай ему это.
По аналогии с прмимером со счетчиком - создай темп-таблицу с составным уникальным индексом - авось акес все правильно подхватит (но вес-равно нужен см. Профайлером)
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Добавление записи в таблицу. ADP.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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