Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Ошибка с повторением в индексах  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
Опять проблема
Есть Таблица1 (ключевое поле r - текстовое), дочерняя Таблица2 (ключевое поле id_zakazchik тип счетчик ). Связаны они по полям r, тип связи один ко многим.
Индексированным полем в Таблице1 является поле r (Совпадения не допускаются), в Таблице2 id_zakazchik (Совпадения не допускаются).
Сделал на их основе Форму и субформу. Проблема в том что при выборе какого либо значеия в главной форме и нажатии на любое поле субформы выводится сообщение. Причем специально удалял повторяющиеся значения в индексах, но ошибка все равно повторяется.

К сообщению приложен файл. Размер - 0Kb
17 май 06, 08:57    [2672223]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Если бы главная форма была основана на таблице с ПервичнымКлючом, через который была бы связь с подчиненной таблицей (и субформой соответственно), то все работало бы правильно.

У вас где-то какая-то ошибка. Если бы была приложена база с небольшим кол-вом демоданных, можно было бы сказать точнее.

Вам вообще на ошибки о-о-о-очень везет.
17 май 06, 09:06    [2672247]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
То что на ошибки везет это точно :)
вот база

К сообщению приложен файл (БД.rar - 68Kb) cкачать
17 май 06, 09:25    [2672307]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
База довольно большая, таблиц уже столько что навскидку за пару минут у мерня не получается поставить точный диагноз. (по первоначальному описанию казалось что речь идет о двух таблицах и двух формах).

Но декартовое произведение в запросе, служащим источником данных для подчиненной формы - настораживает. Очень похоже на ошибку.

Боюсь что в силу громоздкости задачи вникать глубже не буду, может кто еще сподобится.

По-моему, раньше вы уже нарушали железное правило (перепрыгивали через один уровень связи, беря не справочник основной таблицы фактов, а справочник справочника): Связь главная подчиненная между двумя таблицами должна отображаться в виде связи главная-вложенная форма. Тогда аксес справляется и все работает полностью само собой.
17 май 06, 10:02    [2672496]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
Программист-Любитель
перепрыгивали через один уровень связи, беря не справочник основной таблицы фактов, а справочник справочника

Можно на счет этого по-подробее, как это справочник справочника?
17 май 06, 10:09    [2672535]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Поподробнее - это у вас самого было, сколько то времени назад... Кстати, мне ваша схема данных не совсем нравится...

Трудно сказать не зная предметной области, но отношения Долота-Заказчик-Скважины, мне стойко кажется, не так должны строиться.
17 май 06, 10:12    [2672551]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
По идее вы правы, но здесь приходилось создавать структуру БД руководствуясь другими факторами.
17 май 06, 10:16    [2672573]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Создавать структуру БД руководствуясь другими факторами нельзя.

Формы, запросы и прочий ввод - вывод могут быть какими нужно и удобно.

Но СТРУКТУРА должна как можно полнее и непротиворечивее описывать логическую модель предметной области при этом соблюдая принципы нормализации данных.

Как только вы нарушили "ПРАВИЛЬНУЮ" логику отношения между таблицами, сразу программирование форм и отчетов превращается в мучение и преодолевание самим собой поставленных трудностей.

Попробуйте своими словами описать кто такие Долота-Заказчик-Скважины и как они соотносятся друг с другом.
17 май 06, 10:33    [2672676]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
А если сделать по-другому.
Модель долота буде выбиратся вообще в отдельной форме, где после выбора конкретной модели нужно будет нажать на кнопку. Эта кнопка будет открывать отфильрованную форму, которая сейчас является подчиненной, с записями по испытаниям относящимся только к выбранному долоту.
Можно же так сделать?
17 май 06, 11:14    [2672960]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
Можно даже гланды вырезать через известное место автогеном. Еще раз предлагаю, рассажите что как с кем соотносится.

У вас отношения: Одно Долото-Много заказчиков и Один заказчик-Много скважин.

Есть таблица Долота.

Есть заказчики. Заказчик может иметь одно или несколько долот. Каждое долото может принадлежать только одному заказчику.

Есть скважины. Заказчик может пробурить одну или несколько скважин. Каждая скважина бурится только одним заказчиком.

И вот тут становится непонятно.

Скважина бурится заказчиком. А каким собственно долотом ? Если конкретное долото предназначено для конкретной скважины, то эта информация не укладывается в вашу схему. Если заказчик может использовать разные долота для одной скважины или, напротив, одним и тем же долотом бурить несколько скважин - тоже невозможно реализовать на ваших связях.

Делать формы пока данные криво разложены - БЕС-ПО-ЛЕЗ-НО.
17 май 06, 11:39    [2673163]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
bubucha
Member

Откуда:
Сообщений: 5640
Еще немножно, и для Санька будет готовое ТЗ! Санек! Держись! :))
17 май 06, 11:58    [2673339]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
Смейтесь, смейтесь! :)
17 май 06, 12:31    [2673631]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
Кстати, как в листбоксе, в форме сделать так чтобы выбрав какое-либо значение текущая запись автоматически изменялась (а не оставалась на 1), то есть переходила на ту запись которая соответствует выбранному значению.
17 май 06, 12:55    [2673846]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
неважно
Guest
см. внутри

К сообщению приложен файл (RecordNavigation.zip - 10Kb) cкачать
17 май 06, 13:01    [2673900]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
CAHEKK
Смейтесь, смейтесь! :)

А по сути вопроса ?
17 май 06, 13:12    [2673979]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
Спасибо "неважно"!
А "Смейтесь, смейтесь! :)" - это я bubuch'е
17 май 06, 13:21    [2674040]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
Привет!
Попытался сегодня воспользоваться твоим примеров неважно и применит его к своей БД выложенной выше (см. форму "ФормаЗаполнение").
Результат никакой - после выбора значения в раскрывающемся списке выходит сообщение об ошибке. Не пойму в чем причина, вроде изменил имена в процедурах на свои, но все равно происходит ошибка. Это может быть связано с наличием других процеду на событие обновления?

P.S. Когда упростил форму до 2 полей (одно раскрывающийся список, второе id) то ошибка перестала вылазить, НО значения в таблице, на которых построен список стали заменяться на значение id.
19 май 06, 09:05    [2682269]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
неважно
Guest
CAHEKK
Привет!
Попытался сегодня воспользоваться твоим примеров неважно и применит его к своей БД выложенной выше (см. форму "ФормаЗаполнение").
Результат никакой - после выбора значения в раскрывающемся списке выходит сообщение об ошибке.........

Друг! Извини! Больше не буду!
19 май 06, 09:54    [2682468]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
Ну че ты сразу!
Я ж просто узнать хотел где я не прав.
19 май 06, 10:09    [2682548]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
неважно
Guest
CAHEKK
Ну че ты сразу!
Я ж просто узнать хотел где я не прав.

А ты не пытался понять, как работает пример? Там вроде даже комменты есть?
19 май 06, 10:13    [2682567]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
Фуф! вроде сделал :)
19 май 06, 10:38    [2682744]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
неважно
Guest
CAHEKK
.......Попытался сегодня воспользоваться твоим примеров неважно и применит его к своей БД выложенной выше (см. форму "ФормаЗаполнение").
Результат никакой - после выбора значения в раскрывающемся списке выходит сообщение об ошибке. .............
P.S. Когда упростил форму до 2 полей (одно раскрывающийся список, второе id) то ошибка перестала вылазить, НО значения в таблице, на которых построен список стали заменяться на значение id.

Ты знаешь... Нет у меня никакого раскрывающегося списка aka комбобокса. У меня обычный список - мне кажется удобнее пользоваться им для навигации, чем комбобоксом. Что до занесения значений комбобокса в таблицу, могу предположить, что ты его привязал к полю в таблице.
19 май 06, 10:45    [2682791]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка с повторением в индексах  [new]
CAHEKK
Member

Откуда:
Сообщений: 788
Да, так оно и было :(
Ну сейчас все работает нормально вроде.
Спасибо большое, неважно! Выручаешь!
19 май 06, 11:21    [2683055]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить