|
|
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Хочется автоматизировать определенные операции до "очень высокой степени". Но т.к. при этом необходимо соблюсти правильную организацию хранения информации, то вот собственно вопрос: 1. Всего таблиц в процессе - 4 2. Необходимо, чтобы при вводе информации в третью создавались новые записи в остальных 3. При этом создавались связи между всеми ними. У всех - ключевые поля "№_п/п" Связи: [1-я]->(один-ко-многим)->[2-я]<-(много-к-одному)<-[3-я]->(много-к-одному)->[4-я] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 18:18:36 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
А ты пробовал, то что спрашиваешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 18:25:31 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Я попробовал, пока, создать форму на основе таблицы [1] с подчиненной [2] с подподчиненной [3], чисто для эксперимента, но при добавлении данных в [3] - записи во [2] и [1] не создаются (естественно) и я, собственно, сижу и туплю, еще и потому, что конец дня :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 18:31:01 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Изначально мысль была - делать все программно, через "INSERT...", но я в этом слаб (во-первых), что во-вторых забыл..., но делать все-равно придется программно, т.к. необходимо вводить определенные данные, через пятую таблицу! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 18:35:23 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Dmitry-SQLХочется автоматизировать определенные операции до "очень высокой степени". Но т.к. при этом необходимо соблюсти правильную организацию хранения информации, то вот собственно вопрос: 1. Всего таблиц в процессе - 4 2. Необходимо, чтобы при вводе информации в третью создавались новые записи в остальных 3. При этом создавались связи между всеми ними. У всех - ключевые поля "№_п/п" Связи: [1-я]->(один-ко-многим)->[2-я]<-(много-к-одному)<-[3-я]->(много-к-одному)->[4-я] И все это по полю "№_п/п"? Чушь какая-то. Как это может быть? Или я чего не понял, но судя по стрелкам, таблицы 1 и 3 являются исходными по одному и тому же ключу (один) при этом 3-я одновременно является и много? Пришли лучше принт-скрин своего релейшен-шип ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 18:40:16 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Могу на мыло кинуть базку, не сказка, но на её примере что-нибудь замутишь, как пойдёт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 18:40:54 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
В конфу не могу, архив 80кБ. Сорри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 18:44:41 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Поля "№_п/п" у каждой таблицы свои. Скрин сейчас сделаю, а пример базки можно на: dmitry-and@narod.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 18:46:28 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Будет видно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 18:56:52 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Своеобразное видение, я бы упростил, но нужно видить все поля во всех таблах, выкинишь структуру можно будет чего-нибудь замутить( гарантию не даю, но попробовать можно) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 19:03:16 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Прежде всего. Я бы всем полям дал английские названия или русские но выаписанные латиницей. Второе. Ключевым полям нужно дать разные, но логичные названия. Во всех полях они несут разную смысловую нагрузку, а получается, что они все одинаковые. И мастер будет их астоматом соеденять, при том что они не соеденимы. Третье (самое важное). Таблицу 1 надо похерить, как ненужный, злостный элкмент, при необходимости, ее данные можно перенести во вторую. Четвертую таблицу отправить туда-же. Ключевой номер из третьей будет номером заявки. И весь топик можно будет похоронить, т.к. вопрос сам собой отпадет. (А вы говорите оперировать... ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 19:21:40 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryПрежде всего. Я бы всем полям дал английские названия или русские но выаписанные латиницей. Второе. Ключевым полям нужно дать разные, но логичные названия. Во всех полях они несут разную смысловую нагрузку, а получается, что они все одинаковые. И мастер будет их астоматом соеденять, при том что они не соеденимы. Третье (самое важное). Таблицу 1 надо похерить, как ненужный, злостный элкмент, при необходимости, ее данные можно перенести во вторую. Четвертую таблицу отправить туда-же. Ключевой номер из третьей будет номером заявки. И весь топик можно будет похоронить, т.к. вопрос сам собой отпадет. (А вы говорите оперировать... ) в данном случае, может быть, и то, четвертую врядли, там не одно поле.... а вообще, зависит от полей....... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 19:33:32 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
а вообще, если ввод идет через формы, то проще повесить макрос который будет создавать записи после обновления поля........... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 19:34:54 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Четвертую таблу я бы превратил в таблицу работников с их данными ипри заполнении таблицы заявок выбирал бы из списка. А все то, что нужно для заявки будет в третей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.07.2004, 19:41:04 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Rivkin DmitryПрежде всего. Я бы всем полям дал английские названия или русские но выаписанные латиницей. Второе. Ключевым полям нужно дать разные, но логичные названия. Во всех полях они несут разную смысловую нагрузку, а получается, что они все одинаковые. И мастер будет их астоматом соеденять, при том что они не соеденимы. Третье (самое важное). Таблицу 1 надо похерить, как ненужный, злостный элкмент, при необходимости, ее данные можно перенести во вторую. Четвертую таблицу отправить туда-же. Ключевой номер из третьей будет номером заявки. И весь топик можно будет похоронить, т.к. вопрос сам собой отпадет. (А вы говорите оперировать... ) Спасибо, за советы, но я "не на площади любовью занимаюсь" :) Такая организация вытекает из организации работы и "отточенной" последовательности действий, которой я пытаюсь добиться меньшей "программистской" кровью. P.S. Где-то было предположение, что аксесс - для "быстрой" разработки, чем я и занимаюсь. А "тяжелые" вещи будет делать штатный программист, согласно ТЗ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 09:37:31 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Dmitry-SQL Rivkin DmitryПрежде всего. Я бы всем полям дал английские названия или русские но выаписанные латиницей. Второе. Ключевым полям нужно дать разные, но логичные названия. Во всех полях они несут разную смысловую нагрузку, а получается, что они все одинаковые. И мастер будет их астоматом соеденять, при том что они не соеденимы. Третье (самое важное). Таблицу 1 надо похерить, как ненужный, злостный элкмент, при необходимости, ее данные можно перенести во вторую. Четвертую таблицу отправить туда-же. Ключевой номер из третьей будет номером заявки. И весь топик можно будет похоронить, т.к. вопрос сам собой отпадет. (А вы говорите оперировать... ) Спасибо, за советы, но я "не на площади любовью занимаюсь" :) Такая организация вытекает из организации работы и "отточенной" последовательности действий, которой я пытаюсь добиться меньшей "программистской" кровью. P.S. Где-то было предположение, что аксесс - для "быстрой" разработки, чем я и занимаюсь. А "тяжелые" вещи будет делать штатный программист, согласно ТЗ. ты таблицы через формы заполняешь? ну так повесь на то поле которое тебе нужно чтобы из него заполнялись остальные макрос, который после обновления этого поля будет тупо вставлять куда хочешь данные из этого поля..... образец хочешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 10:11:01 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
SBLа вообще, если ввод идет через формы, то проще повесить макрос который будет создавать записи после обновления поля........... Записи, положим, я создам, но мне нужно еще и подставить соответствующие номера в соответсвующие поля и при всем при этом, желательно все делать "как-то программно", потому, как первоначально информация будет даже не "вбиваться" в третью таблицу, а выбираться из пятой (она к этим четырем привязана "опосредованно"). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 10:14:38 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Dmitry-SQL SBLа вообще, если ввод идет через формы, то проще повесить макрос который будет создавать записи после обновления поля........... Записи, положим, я создам, но мне нужно еще и подставить соответствующие номера в соответсвующие поля и при всем при этом, желательно все делать "как-то программно", потому, как первоначально информация будет даже не "вбиваться" в третью таблицу, а выбираться из пятой (она к этим четырем привязана "опосредованно"). что значит соответствующие номера в соответствующие поля? у тебя что, стоит автоувеличение поля? или все таки ты его ручками вводишь? а макрос у тебя будет заниматься тупым подставлением в определенное место (скажем новую запись) того значения, которое ты укажешь (число, браться откдуда то значение будет или еще что) млин, можешь объяснить точно ЧТО именно тебе надо сделать? потому что из первого поста - самым простым выходом является создание формы для третьей таблицы и по макросу подстановка каких то значейний в остальные 3........ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 10:25:24 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Запись в таблице "Мероприятия", должна быть, если есть соответсвующая запись в таблице "Неисправности" (связь присутствует), а запись в таблице "Неисправности", должна быть, если есть соответствующая запись в таблице "Неисправность_зафиксировал", при этом - при добавлении записи в таблицу "Мероприятия", должна появиться и запись в таблицу "Заявка_на_работы" и номер этой заявки (счетчик) должен появиться в соответствующем поле записи в таблице "Мероприятия". "Не утрирую а?..." (КВН) ;) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 11:06:00 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Dmitry-SQLЗапись в таблице "Мероприятия", должна быть, если есть соответсвующая запись в таблице "Неисправности" (связь присутствует), а запись в таблице "Неисправности", должна быть, если есть соответствующая запись в таблице "Неисправность_зафиксировал", при этом - при добавлении записи в таблицу "Мероприятия", должна появиться и запись в таблицу "Заявка_на_работы" и номер этой заявки (счетчик) должен появиться в соответствующем поле записи в таблице "Мероприятия". "Не утрирую а?..." (КВН) ;) ок создаешь формы на все таблицы, Неисправность зафиксировал - т1 Неисправность - т2 Мерояприятия - т3 Заявка на работы - т4 после появления записи в т1 по макросу идет открытие т2 и вносишь туда данные необходимые в поле новой записи, на последнее требуемое тебе тут поле, ставишь макрос, после обновления значения этого поля, он должен открыть т3 на новую запись, подставление нужных результатов, и ставишь макрос на открытие т4 на новой записи, с указанием того что тебе требуется, и потом после заполнения этой формы, идет на последней записи макрос, который ставит значение поля в соответствующее поле в т3 понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 11:55:24 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Понял, конечно! А по другому ничего не получится (если без форм)? Как-то, наверное, можно: - добавить запись в таблицу [1] - получившийся номер записи добавить в новую запись в таблице [2] - получившийся номер записи добавить в таблицу [3] - добавить запись в таблицу [4] - получившийся номер добавить в таблицу [3] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 12:07:08 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
как это сделать в аксессе типа 2000 - я не знаю, скажу честно........ да и сомневаюсь что в таблице это возможно................... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 12:16:20 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Делаться все это будет в форме. Только форма на основе другой таблицы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 13:55:25 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Dmitry-SQLДелаться все это будет в форме. Только форма на основе другой таблицы! нафига так усложнять то все?!?!? господи, ну сделай в той форме все это...........................или сделай в той форме чтобы при добавлении открывались эти, и делалось как я сказал...... Дмитрий, ты бы определился что ТОЧНО ты хочешь...........или бы кинул процесс, а еще лучше и образец базы........ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 14:13:22 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Чем большего количества ошибок со стороны пользователя хочется избежать, тем сложнее приходится изголяться! А образец базы сейчас попробую сделать (вопрос только времени). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 14:46:52 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Приаттачиваю базу. Необходимо: создать форму для ввода текста в поле TextField3 и при этом создать записи в таблицах 1,2,4 с соответствующей схеме подстановкой связанных полей (текст в остальных полях TextField может отличаться). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 14:56:51 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Dmitry-SQLПриаттачиваю базу. Необходимо: создать форму для ввода текста в поле TextField3 и при этом создать записи в таблицах 1,2,4 с соответствующей схеме подстановкой связанных полей (текст в остальных полях TextField может отличаться). во первых, что у тебя за линки странные???? что именно ты там хочешь? ссылки на number из соответствующих страниц? тогда это лучше не так делать...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 15:53:35 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
SBLссылки на number из соответствующих страниц? тогда это лучше не так делать...... Number - это ключевое поле (у меня они "№_п/п" все), связь с каскадным обновлением должна производится по ключевому полю (насколько я знаю). А как тогда лучше делать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:01:31 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
просто не знаю как у тебя, у меня при открытии ругается в случае линков, лучше иметь там комбо бох или лист бох и значение брать по запросу..... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:25:03 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
чччерт, не могу подставить подстановку на записи, чего то ему не нравится...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:26:36 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
SBLпросто не знаю как у тебя, у меня при открытии ругается в случае линков, лучше иметь там комбо бох или лист бох и значение брать по запросу..... Честно, не понял о чем речь. Как; вместо связи - просто информацию о том, что сделана запись? Тогда начинается бардак! Когда я сделал простановку "одной галочкой" человек перестал вводить всю сопутствующую информацию, а только галочки везде выставлял - и привет! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:33:57 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
там есть связь! просто вместо просто значения, там тебе предлагается выбрать из всех существующих! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:39:40 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
да, обновление не получилось :-(((( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:40:00 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
SBLтам есть связь! просто вместо просто значения, там тебе предлагается выбрать из всех существующих! Ну, да... Если делать все по порядку [1]->[2]->[3] (про [4] пока молчу), то все Ok. Хотя, в принципе, мне так и надо, но только программно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.07.2004, 16:57:24 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Dmitry-SQL Rivkin DmitryПрежде всего. Я бы всем полям дал английские названия или русские но выаписанные латиницей. Второе. Ключевым полям нужно дать разные, но логичные названия. Во всех полях они несут разную смысловую нагрузку, а получается, что они все одинаковые. И мастер будет их астоматом соеденять, при том что они не соеденимы. Третье (самое важное). Таблицу 1 надо похерить, как ненужный, злостный элкмент, при необходимости, ее данные можно перенести во вторую. Четвертую таблицу отправить туда-же. Ключевой номер из третьей будет номером заявки. И весь топик можно будет похоронить, т.к. вопрос сам собой отпадет. (А вы говорите оперировать... ) Спасибо, за советы, но я "не на площади любовью занимаюсь" :) Такая организация вытекает из организации работы и "отточенной" последовательности действий, которой я пытаюсь добиться меньшей "программистской" кровью. P.S. Где-то было предположение, что аксесс - для "быстрой" разработки, чем я и занимаюсь. А "тяжелые" вещи будет делать штатный программист, согласно ТЗ. Где ты занимаешься любовью - меня инетересует меньше всего :( ! Но то, что ты пвтаешься сделать - это попытка добиться результата максимальной программисткой кровью Когда-то я работал на Газовом промысле инженером и проблемы, нарисованные в твоей схеме таблиц мне очень близки и понятны. Но иея уже не малый опыт программирования и, в том числе, создания таблиц, я уверяю тебя, что чем правильнее и продуманнее созданы таблицы, тем проще и приятнее программисткая работа по ведению этих таблиц. На это же направлены и все ресурсы самого Акса! Он практически безотказно работает на хорошо проработанной структуре таблиц и дает при этом большое количество очень неплохих инструментов. В твоем, конкретном случае я бы прежде всего создал основную таблицу типа твоей третьей таблы "Мероприятия", хотя на самом деле - это журнал фиксации неисправности, на сонове которого быдут формироваться другие документы. Уникальный счетчик в этой таблице, по-видимому, станет номером заявки. Если на вашем предприятии неисправности классифицируются и по ним идет статистическая обработка, то стоит создать таблицу неисправностей, также с уникальным порядковым номером и полями для описания неисправности и классификации ее, чтобы в дальнейшем можно было легко найти ее в таблице или выяснить, что такой неисправности до сих пор не зафиксировано. Здесь может быть особый разговор, как организовать подобную таблицу, чтобы миминизировать повторные записи (но это - к слову). Если стат обработка не ведется, для описания неисправности достаточно ввести поле Text or Memo и дату фиксации неисправности и кто ее обнаружил. Вот для этого кто ее обнаружил и для исполнитель нужно создать таблицу с их данными и в соответствеющие поля на главной таблице будем вводить только коды юзеров. По большому счету - все. Теперь создаем форму. Она будет сидеть на главной таблице. На поле "неисправность" в случае если мы создали таблицу неисправностей, посадим комбобокс со списком уже описанных неисправностей. Комбики посадим также на поля юзеров. Теперь, стоит только наступить на новую запись, как асвтоматом создастся номер заявки, т.е. новый номер в главной таблице. Заполнив ее получим все данные для заявки. Если отправим ее на печать, в поле заявка(логическом) поставим True. Если исправность новая, еще не описанная, на событие NotInList комбобокса посадим процедуру, которая откроет небольшую вспомогательную форму для заполнения таблицы неисправностй. То же для новых юзеров. Все Где еще можно усложнить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2004, 10:52:57 |
|
||
|
Еще раз про каскадное добавление
|
|||
|---|---|---|---|
|
#18+
Спасибо за развернутое изложение решения проблемы! Правда, я так и сделал, с учетом того, что один человек может зарегистрировать несколько неисправностей и заявка может содержать несколько мероприятий. В общем - я разобрался, как организовать автоматическое заполнение всех "таблиц", чере одну форму ввода с тремя "вложенными", наверное - это наиболее простой, в смысле "программирования" способ. Не хотелось, только, "ваять" такую замороченную форму, но, в принципе, делается это легко. Куча полей с установками "по умолчанию" - и проблема решена. Номера автоподставляются (главное последовательность внесения информации) - остается только распечатать. Спасибо за внимание. Пусть будет так! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2004, 11:18:41 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1673123]: |
0ms |
get settings: |
9ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
96ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 383ms |

| 0 / 0 |
