powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Еще раз про каскадное добавление
36 сообщений из 36, показаны все 2 страниц
Еще раз про каскадное добавление
    #32606884
Dmitry-SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочется автоматизировать определенные операции
до "очень высокой степени".
Но т.к. при этом необходимо соблюсти правильную организацию
хранения информации, то вот собственно вопрос:
1. Всего таблиц в процессе - 4
2. Необходимо, чтобы при вводе информации
в третью создавались новые записи в остальных
3. При этом создавались связи между всеми ними.
У всех - ключевые поля "№_п/п"
Связи: [1-я]->(один-ко-многим)->[2-я]<-(много-к-одному)<-[3-я]->(много-к-одному)->[4-я]
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32606897
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты пробовал, то что спрашиваешь?
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32606916
Dmitry-SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я попробовал, пока, создать форму
на основе таблицы [1] с подчиненной [2] с подподчиненной [3],
чисто для эксперимента, но при добавлении данных в [3] -
записи во [2] и [1] не создаются (естественно) и я,
собственно, сижу и туплю, еще и потому, что конец дня :(
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32606927
Dmitry-SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Изначально мысль была - делать все программно,
через "INSERT...", но я в этом слаб (во-первых),
что во-вторых забыл..., но делать все-равно придется программно,
т.к. необходимо вводить определенные данные,
через пятую таблицу!
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32606934
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry-SQLХочется автоматизировать определенные операции
до "очень высокой степени".
Но т.к. при этом необходимо соблюсти правильную организацию
хранения информации, то вот собственно вопрос:
1. Всего таблиц в процессе - 4
2. Необходимо, чтобы при вводе информации
в третью создавались новые записи в остальных
3. При этом создавались связи между всеми ними.
У всех - ключевые поля "№_п/п"
Связи: [1-я]->(один-ко-многим)->[2-я]<-(много-к-одному)<-[3-я]->(много-к-одному)->[4-я]

И все это по полю "№_п/п"?
Чушь какая-то. Как это может быть? Или я чего не понял, но судя по стрелкам, таблицы 1 и 3 являются исходными по одному и тому же ключу (один) при этом 3-я одновременно является и много? Пришли лучше принт-скрин своего релейшен-шип
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32606935
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу на мыло кинуть базку, не сказка, но на её примере что-нибудь замутишь,
как пойдёт?
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32606939
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В конфу не могу, архив 80кБ.
Сорри.
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32606944
Dmitry-SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поля "№_п/п" у каждой таблицы свои.
Скрин сейчас сделаю, а пример базки можно на: dmitry-and@narod.ru
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32606960
Dmitry-SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Будет видно?
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32606970
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Своеобразное видение, я бы упростил, но нужно видить все поля во всех таблах, выкинишь структуру можно будет чего-нибудь замутить( гарантию не даю, но попробовать можно)
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32606989
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прежде всего. Я бы всем полям дал английские названия или русские но выаписанные латиницей. Второе. Ключевым полям нужно дать разные, но логичные названия. Во всех полях они несут разную смысловую нагрузку, а получается, что они все одинаковые. И мастер будет их астоматом соеденять, при том что они не соеденимы. Третье (самое важное). Таблицу 1 надо похерить, как ненужный, злостный элкмент, при необходимости, ее данные можно перенести во вторую. Четвертую таблицу отправить туда-же. Ключевой номер из третьей будет номером заявки. И весь топик можно будет похоронить, т.к. вопрос сам собой отпадет. (А вы говорите оперировать... )
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32607012
SBL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rivkin DmitryПрежде всего. Я бы всем полям дал английские названия или русские но выаписанные латиницей. Второе. Ключевым полям нужно дать разные, но логичные названия. Во всех полях они несут разную смысловую нагрузку, а получается, что они все одинаковые. И мастер будет их астоматом соеденять, при том что они не соеденимы. Третье (самое важное). Таблицу 1 надо похерить, как ненужный, злостный элкмент, при необходимости, ее данные можно перенести во вторую. Четвертую таблицу отправить туда-же. Ключевой номер из третьей будет номером заявки. И весь топик можно будет похоронить, т.к. вопрос сам собой отпадет. (А вы говорите оперировать... )
в данном случае, может быть, и то, четвертую врядли, там не одно поле....

а вообще, зависит от полей.......
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32607013
SBL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вообще, если ввод идет через формы, то проще повесить макрос который будет создавать записи после обновления поля...........
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32607015
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Четвертую таблу я бы превратил в таблицу работников с их данными ипри заполнении таблицы заявок выбирал бы из списка. А все то, что нужно для заявки будет в третей.
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32607348
Dmitry-SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Rivkin DmitryПрежде всего. Я бы всем полям дал английские названия или русские но выаписанные латиницей. Второе. Ключевым полям нужно дать разные, но логичные названия. Во всех полях они несут разную смысловую нагрузку, а получается, что они все одинаковые. И мастер будет их астоматом соеденять, при том что они не соеденимы. Третье (самое важное). Таблицу 1 надо похерить, как ненужный, злостный элкмент, при необходимости, ее данные можно перенести во вторую. Четвертую таблицу отправить туда-же. Ключевой номер из третьей будет номером заявки. И весь топик можно будет похоронить, т.к. вопрос сам собой отпадет. (А вы говорите оперировать... )
Спасибо, за советы, но я "не на площади любовью занимаюсь" :)
Такая организация вытекает из организации работы и
"отточенной" последовательности действий, которой я пытаюсь добиться
меньшей "программистской" кровью.
P.S. Где-то было предположение, что аксесс - для "быстрой" разработки,
чем я и занимаюсь. А "тяжелые" вещи будет делать штатный программист,
согласно ТЗ.
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32607419
SBL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry-SQL Rivkin DmitryПрежде всего. Я бы всем полям дал английские названия или русские но выаписанные латиницей. Второе. Ключевым полям нужно дать разные, но логичные названия. Во всех полях они несут разную смысловую нагрузку, а получается, что они все одинаковые. И мастер будет их астоматом соеденять, при том что они не соеденимы. Третье (самое важное). Таблицу 1 надо похерить, как ненужный, злостный элкмент, при необходимости, ее данные можно перенести во вторую. Четвертую таблицу отправить туда-же. Ключевой номер из третьей будет номером заявки. И весь топик можно будет похоронить, т.к. вопрос сам собой отпадет. (А вы говорите оперировать... )
Спасибо, за советы, но я "не на площади любовью занимаюсь" :)
Такая организация вытекает из организации работы и
"отточенной" последовательности действий, которой я пытаюсь добиться
меньшей "программистской" кровью.
P.S. Где-то было предположение, что аксесс - для "быстрой" разработки,
чем я и занимаюсь. А "тяжелые" вещи будет делать штатный программист,
согласно ТЗ.

ты таблицы через формы заполняешь? ну так повесь на то поле которое тебе нужно чтобы из него заполнялись остальные макрос, который после обновления этого поля будет тупо вставлять куда хочешь данные из этого поля.....
образец хочешь?
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32607425
Dmitry-SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SBLа вообще, если ввод идет через формы, то проще повесить макрос который будет создавать записи после обновления поля...........
Записи, положим, я создам,
но мне нужно еще и подставить соответствующие номера в соответсвующие
поля и при всем при этом, желательно все делать "как-то программно",
потому, как первоначально информация будет даже не "вбиваться"
в третью таблицу, а выбираться из пятой (она к этим четырем привязана "опосредованно").
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32607449
SBL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry-SQL SBLа вообще, если ввод идет через формы, то проще повесить макрос который будет создавать записи после обновления поля...........
Записи, положим, я создам,
но мне нужно еще и подставить соответствующие номера в соответсвующие
поля и при всем при этом, желательно все делать "как-то программно",
потому, как первоначально информация будет даже не "вбиваться"
в третью таблицу, а выбираться из пятой (она к этим четырем привязана "опосредованно").

что значит соответствующие номера в соответствующие поля?
у тебя что, стоит автоувеличение поля? или все таки ты его ручками вводишь?
а макрос у тебя будет заниматься тупым подставлением в определенное место (скажем новую запись) того значения, которое ты укажешь (число, браться откдуда то значение будет или еще что)

млин, можешь объяснить точно ЧТО именно тебе надо сделать?

потому что из первого поста - самым простым выходом является создание формы для третьей таблицы и по макросу подстановка каких то значейний в остальные 3........
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32607563
Dmitry-SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запись в таблице "Мероприятия",
должна быть, если есть соответсвующая запись
в таблице "Неисправности" (связь присутствует),
а запись в таблице "Неисправности", должна быть,
если есть соответствующая запись в таблице "Неисправность_зафиксировал",
при этом - при добавлении записи в таблицу "Мероприятия",
должна появиться и запись в таблицу "Заявка_на_работы" и
номер этой заявки (счетчик) должен появиться в соответствующем поле
записи в таблице "Мероприятия".

"Не утрирую а?..." (КВН) ;)
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32607713
SBL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry-SQLЗапись в таблице "Мероприятия",
должна быть, если есть соответсвующая запись
в таблице "Неисправности" (связь присутствует),
а запись в таблице "Неисправности", должна быть,
если есть соответствующая запись в таблице "Неисправность_зафиксировал",
при этом - при добавлении записи в таблицу "Мероприятия",
должна появиться и запись в таблицу "Заявка_на_работы" и
номер этой заявки (счетчик) должен появиться в соответствующем поле
записи в таблице "Мероприятия".

"Не утрирую а?..." (КВН) ;)

ок создаешь формы на все таблицы,
Неисправность зафиксировал - т1
Неисправность - т2
Мерояприятия - т3
Заявка на работы - т4
после появления записи в т1 по макросу идет открытие т2 и вносишь туда данные необходимые в поле новой записи, на последнее требуемое тебе тут поле, ставишь макрос, после обновления значения этого поля, он должен открыть т3 на новую запись, подставление нужных результатов, и ставишь макрос на открытие т4 на новой записи, с указанием того что тебе требуется, и потом после заполнения этой формы, идет на последней записи макрос, который ставит значение поля в соответствующее поле в т3

понял?
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32607749
Dmitry-SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял, конечно!
А по другому ничего не получится (если без форм)?
Как-то, наверное, можно:
- добавить запись в таблицу [1]
- получившийся номер записи добавить в новую запись в таблице [2]
- получившийся номер записи добавить в таблицу [3]
- добавить запись в таблицу [4]
- получившийся номер добавить в таблицу [3]
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32607779
SBL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как это сделать в аксессе типа 2000 - я не знаю, скажу честно........
да и сомневаюсь что в таблице это возможно...................
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32608129
Dmitry-SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делаться все это будет в форме.
Только форма на основе другой таблицы!
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32608185
SBL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry-SQLДелаться все это будет в форме.
Только форма на основе другой таблицы!

нафига так усложнять то все?!?!?

господи, ну сделай в той форме все это...........................или сделай в той форме чтобы при добавлении открывались эти, и делалось как я сказал......


Дмитрий, ты бы определился что ТОЧНО ты хочешь...........или бы кинул процесс, а еще лучше и образец базы........
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32608296
Dmitry-SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чем большего количества ошибок со стороны пользователя
хочется избежать, тем сложнее приходится изголяться!
А образец базы сейчас попробую сделать (вопрос только времени).
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32608334
Dmitry-SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приаттачиваю базу.
Необходимо: создать форму для ввода текста
в поле TextField3 и при этом создать записи
в таблицах 1,2,4 с соответствующей схеме подстановкой
связанных полей (текст в остальных полях TextField может отличаться).
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32608548
SBL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry-SQLПриаттачиваю базу.
Необходимо: создать форму для ввода текста
в поле TextField3 и при этом создать записи
в таблицах 1,2,4 с соответствующей схеме подстановкой
связанных полей (текст в остальных полях TextField может отличаться).

во первых, что у тебя за линки странные????
что именно ты там хочешь? ссылки на number из соответствующих страниц? тогда это лучше не так делать......
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32608568
Dmitry-SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SBLссылки на number из соответствующих страниц? тогда это лучше не так делать......
Number - это ключевое поле (у меня они "№_п/п" все),
связь с каскадным обновлением должна производится по ключевому полю (насколько я знаю).
А как тогда лучше делать?
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32608627
SBL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто не знаю как у тебя, у меня при открытии ругается в случае линков, лучше иметь там комбо бох или лист бох и значение брать по запросу.....
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32608631
SBL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
чччерт, не могу подставить подстановку на записи, чего то ему не нравится......
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32608646
Dmitry-SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SBLпросто не знаю как у тебя, у меня при открытии ругается в случае линков, лучше иметь там комбо бох или лист бох и значение брать по запросу.....
Честно, не понял о чем речь.
Как; вместо связи - просто информацию о том, что сделана запись?
Тогда начинается бардак!
Когда я сделал простановку "одной галочкой"
человек перестал вводить всю сопутствующую информацию,
а только галочки везде выставлял - и привет!
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32608668
SBL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там есть связь! просто вместо просто значения, там тебе предлагается выбрать из всех существующих!
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32608670
SBL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да, обновление не получилось :-((((
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32608717
Dmitry-SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SBLтам есть связь! просто вместо просто значения, там тебе предлагается выбрать из всех существующих!
Ну, да...
Если делать все по порядку [1]->[2]->[3] (про [4] пока молчу),
то все Ok.
Хотя, в принципе, мне так и надо, но только программно.
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32609534
Rivkin Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dmitry-SQL Rivkin DmitryПрежде всего. Я бы всем полям дал английские названия или русские но выаписанные латиницей. Второе. Ключевым полям нужно дать разные, но логичные названия. Во всех полях они несут разную смысловую нагрузку, а получается, что они все одинаковые. И мастер будет их астоматом соеденять, при том что они не соеденимы. Третье (самое важное). Таблицу 1 надо похерить, как ненужный, злостный элкмент, при необходимости, ее данные можно перенести во вторую. Четвертую таблицу отправить туда-же. Ключевой номер из третьей будет номером заявки. И весь топик можно будет похоронить, т.к. вопрос сам собой отпадет. (А вы говорите оперировать... )
Спасибо, за советы, но я "не на площади любовью занимаюсь" :)
Такая организация вытекает из организации работы и
"отточенной" последовательности действий, которой я пытаюсь добиться
меньшей "программистской" кровью.
P.S. Где-то было предположение, что аксесс - для "быстрой" разработки,
чем я и занимаюсь. А "тяжелые" вещи будет делать штатный программист,
согласно ТЗ.

Где ты занимаешься любовью - меня инетересует меньше всего :( !
Но то, что ты пвтаешься сделать - это попытка добиться результата максимальной программисткой кровью Когда-то я работал на Газовом промысле инженером и проблемы, нарисованные в твоей схеме таблиц мне очень близки и понятны. Но иея уже не малый опыт программирования и, в том числе, создания таблиц, я уверяю тебя, что чем правильнее и продуманнее созданы таблицы, тем проще и приятнее программисткая работа по ведению этих таблиц. На это же направлены и все ресурсы самого Акса! Он практически безотказно работает на хорошо проработанной структуре таблиц и дает при этом большое количество очень неплохих инструментов.

В твоем, конкретном случае я бы прежде всего создал основную таблицу типа твоей третьей таблы "Мероприятия", хотя на самом деле - это журнал фиксации неисправности, на сонове которого быдут формироваться другие документы. Уникальный счетчик в этой таблице, по-видимому, станет номером заявки. Если на вашем предприятии неисправности классифицируются и по ним идет статистическая обработка, то стоит создать таблицу неисправностей, также с уникальным порядковым номером и полями для описания неисправности и классификации ее, чтобы в дальнейшем можно было легко найти ее в таблице или выяснить, что такой неисправности до сих пор не зафиксировано. Здесь может быть особый разговор, как организовать подобную таблицу, чтобы миминизировать повторные записи (но это - к слову). Если стат обработка не ведется, для описания неисправности достаточно ввести поле Text or Memo и дату фиксации неисправности и кто ее обнаружил. Вот для этого кто ее обнаружил и для исполнитель нужно создать таблицу с их данными и в соответствеющие поля на главной таблице будем вводить только коды юзеров. По большому счету - все.
Теперь создаем форму. Она будет сидеть на главной таблице. На поле "неисправность" в случае если мы создали таблицу неисправностей, посадим комбобокс со списком уже описанных неисправностей. Комбики посадим также на поля юзеров. Теперь, стоит только наступить на новую запись, как асвтоматом создастся номер заявки, т.е. новый номер в главной таблице. Заполнив ее получим все данные для заявки. Если отправим ее на печать, в поле заявка(логическом) поставим True. Если исправность новая, еще не описанная, на событие NotInList комбобокса посадим процедуру, которая откроет небольшую вспомогательную форму для заполнения таблицы неисправностй. То же для новых юзеров. Все
Где еще можно усложнить?
...
Рейтинг: 0 / 0
Еще раз про каскадное добавление
    #32610115
Dmitry-SQL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за развернутое изложение решения проблемы!
Правда, я так и сделал, с учетом того, что
один человек может зарегистрировать несколько неисправностей
и заявка может содержать несколько мероприятий.
В общем - я разобрался, как организовать автоматическое
заполнение всех "таблиц", чере одну форму ввода
с тремя "вложенными", наверное - это наиболее простой,
в смысле "программирования" способ.
Не хотелось, только, "ваять" такую замороченную форму,
но, в принципе, делается это легко.
Куча полей с установками "по умолчанию" - и проблема решена.
Номера автоподставляются (главное последовательность внесения информации) - остается только распечатать.
Спасибо за внимание.
Пусть будет так!
...
Рейтинг: 0 / 0
36 сообщений из 36, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Еще раз про каскадное добавление
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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