Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft Access |
![]() ![]() |
Топик располагается на нескольких страницах: 1 2 [все] |
Serguei Member Откуда: Papua New Guinea Сообщений: 713 |
Господа помогите разобраться. Дело пустяк (для знающего) -для меня засада )) . есть 3 таблицы: материалы Производители Кто производит материалы (многие ко многим) Имею две формы - одна из них подчиненная. Как отобразить данные так что бы они обе были в виде таблицы (грида)? У меня получается подчиненная в виде грида, а основная в виде набора полей. При этом видишь только одну запись, а нужно весь перечень строк, перемещаясь по строкам - в подчиненной форме изменяются данные. Пример во вложении Спасибо за внимание К сообщению приложен файл (test.rar - 16Kb) cкачать ![]() |
24 фев 10, 23:47 [8388729] Ответить | Цитировать Сообщить модератору |
alvk Member [заблокирован] Откуда: Находка Сообщений: 10974 |
Serguei, Главная табличная форма, а в ней подчинённая табличная форма? Да?? |
25 фев 10, 02:01 [8388977] Ответить | Цитировать Сообщить модератору |
Serguei Member Откуда: Papua New Guinea Сообщений: 713 |
Именно так |
||
25 фев 10, 06:33 [8389145] Ответить | Цитировать Сообщить модератору |
alvk Member [заблокирован] Откуда: Находка Сообщений: 10974 |
Serguei, Немножко подумай и представь как это будет выглядеть, а когда представишь беги за нобелевкой. |
25 фев 10, 07:21 [8389182] Ответить | Цитировать Сообщить модератору |
Serguei Member Откуда: Papua New Guinea Сообщений: 713 |
Вы думаете за такие вещи дают Нобелевские премии? сомневаюсь.... Я не понял вы - намекаете на то, что невозможно отобразить данные таблицы материалы в виде грида? К сообщению приложен файл. Размер - 0Kb |
||
25 фев 10, 07:39 [8389201] Ответить | Цитировать Сообщить модератору |
П-Л
Guest |
Фигня вопрос. 1. Главная форма - контейнер, просто окно без данных. 2. Первая вложенная форма - производители. 3. Поле на главной форме, ссылающееся чвоим контролсоурсом на вложенную форму производителей. 4. Вторая вложенная форма - материалы текущего производителя из первой формы. Связанная через ЛинкМастерЧаилдФилдс с полем на главной форме. И ффсе! Интереснее трехтабличная конфигурация, когда наверху две формы - производители и материалы, а внизу - материалы по производителям, с переключением связи ЛинкМастерЧаилдФилдс с одной верхней формы на другую. Такая конструкция позволяет удобным образом одновременно наполнять и оба справочника и таблицу многие-ко-многим. Согласен получать премию. |
25 фев 10, 08:20 [8389237] Ответить | Цитировать Сообщить модератору |
osmor Member Откуда: hiprog.com Сообщений: 1173 |
Serguei, Сделайте обе формы подчиненными |
25 фев 10, 08:26 [8389246] Ответить | Цитировать Сообщить модератору |
alvk Member [заблокирован] Откуда: Находка Сообщений: 10974 |
П-Л, Не две подчинённые, а одна главная, вторая подчинённая, то есть открываем форму в табличном виде, она ведь табличная, и в ней видим подчинённую табличную, только так. Премию не дадут! |
25 фев 10, 09:03 [8389311] Ответить | Цитировать Сообщить модератору |
alvk Member [заблокирован] Откуда: Находка Сообщений: 10974 |
Serguei, Где здесь главная табличная форма? Как она должна выглядеть? |
25 фев 10, 09:05 [8389313] Ответить | Цитировать Сообщить модератору |
П-Л
Guest |
Можно сделать штатную вложеннуя таблицу в таблицу с плюсиками для раскрытия. Мне кажется, что не совсем удобный вариант, поэтому предпочитаю тот, который описал. Можно сделать юнион чтобы под каждым производителем выводились его материалы в одном гриде, но он будет ридонли. Еще можно сделать на базе тривью. Очень наглядный вариант, показывающий отношения подчиненности, вложенности. Если не полениться и для каждого узла сделать карочку (справа от тривью) то анализировать и вводить данные будет очеь удобно. Минусы - необходимо синхронизировать тривью и перерисовывать его при изменении данных. Штатные компонентны аксеса вполне пригодны для построения высокоэргономичного интрерфейса, надо только их правильно скомбинировать. |
25 фев 10, 09:14 [8389342] Ответить | Цитировать Сообщить модератору |
alvk Member [заблокирован] Откуда: Находка Сообщений: 10974 |
П-Л, Плюсик да, так действительно можно, но видимо автор не это имел ввиду. Вот если бы автор изложил причины такого странного подхода, тогда бы стало понятно, что на самом деле нужно. |
25 фев 10, 09:19 [8389367] Ответить | Цитировать Сообщить модератору |
Nebo Member Откуда: Сообщений: 2858 |
Да. Это факт. |
||
25 фев 10, 10:06 [8389716] Ответить | Цитировать Сообщить модератору |
ё
Guest |
главная - ленточная, подчиненная (в примечании главной) - табличная невариант? |
||
25 фев 10, 12:19 [8390727] Ответить | Цитировать Сообщить модератору |
ALEXIS_22 Member Откуда: Сообщений: 1188 |
2 П_Л Стало интересно на предмет связывания двух подчиненных форм в одной форме-контейнере. Набросал пример. Однако пока что-то не выходит. Возможно где-то в синтаксисе затык. Если у кого есть время и желание может глянете? Попатался связать левую верхнюю форму и нижнюю. 3 таблицы: Фирмы, материалы и продавцы (та таблица через которую первые две связаны соотношением многие ко многим). К сообщению приложен файл (Связать формы.rar - 24Kb) cкачать ![]() |
25 фев 10, 14:01 [8391817] Ответить | Цитировать Сообщить модератору |
mds_world Member Откуда: Ташкент Сообщений: 27557 |
ALEXIS_22, у вас там элементарная описка. В Основных полях нижней подформы напишите [Внедренный0]![ID_ pr] |
25 фев 10, 14:16 [8391980] Ответить | Цитировать Сообщить модератору |
ALEXIS_22 Member Откуда: Сообщений: 1188 |
Все равно что-то не так. Выдает сообщение об ошибке при открытии формы - контейнера. К сообщению приложен файл (Связать формы.rar - 25Kb) cкачать ![]() |
25 фев 10, 14:38 [8392185] Ответить | Цитировать Сообщить модератору |
ALEXIS_22 Member Откуда: Сообщений: 1188 |
Все в порядке - пробил пример с таким синтаксисом подчиненного поля нижней подформы Внедренный0.Form!ID_ pr. Спасибо за поддержку !! |
25 фев 10, 14:48 [8392278] Ответить | Цитировать Сообщить модератору |
ALEXIS_22 Member Откуда: Сообщений: 1188 |
Видимо я слишком рано обрадовался. Бросил в форму две кнопки. Хотел программно устанавливать связи связи между верхними и нижней подформами. Но вот опять что-то не то. Полезли параметры какие-то. Наверное в VBA какие-то особенности синтаксиса я не учел, или неправильно пытаюсь использовать данное св-во подчиненной формы. К сообщению приложен файл (Связать формы.rar - 31Kb) cкачать ![]() |
25 фев 10, 15:30 [8392704] Ответить | Цитировать Сообщить модератору |
mds_world Member Откуда: Ташкент Сообщений: 27557 |
ALEXIS_22, в процедуре на кнопке10 надо задавать не значения полей, а их имена Me.spf4.LinkMasterFields = "spf0.form![ID_ pr]" Me.spf4.LinkChildFields = "[fir_ID]" |
25 фев 10, 15:56 [8392974] Ответить | Цитировать Сообщить модератору |
ALEXIS_22 Member Откуда: Сообщений: 1188 |
Да, теперь пример полностью рабочий. Надо быть аккуратнее со знаком подчеркивания в именах полей. спасибо ! |
25 фев 10, 16:16 [8393175] Ответить | Цитировать Сообщить модератору |
П-Л
Guest |
На порядок удобнее иметь одинаковые имена в полях таблиц, которые связаны 1:М, и в формах, базирующихся на этих таблицах. |
||
25 фев 10, 16:46 [8393422] Ответить | Цитировать Сообщить модератору |
Между сообщениями интервал более 1 года. |
Rikozenit Member Откуда: Сообщений: 145 |
Всем доброго дня! Задача идентичная: Две табличных формы - одна из них подчиненная. На открытии формы повесил: Private Sub Form_Open(Cancel As Integer) ' On Error Resume Next [KS_zak_izd_Raspred_ft2].LinkMasterFields = "sklad_ft2.form![kod_zak];sklad_ft2.form![izdelie]" [KS_zak_izd_Raspred_ft2].LinkChildFields = "[kod_zak];[izdelie]" End Sub Но связь между таблицами не установилась. Подскажите, пожалуйста, что не так? (БД во вложении) К сообщению приложен файл (Dve_formi_v_odnoy.rar - 106Kb) cкачать ![]() |
15 мар 21, 18:54 [22295007] Ответить | Цитировать Сообщить модератору |
sdku Member Откуда: Краснодар Сообщений: 7257 |
Rikozenit, при двойном клике на нужном поле(строке) меняйте источник "подчиненной"(а на самом деле свободной) Private Sub ctl_DblClick(Cancel As Integer) Forms!имяФормы.RecordSource = "select*from tbl where полеОтбора=" & Me.ctl End SubRecordSource наше фсё ![]() |
15 мар 21, 19:48 [22295028] Ответить | Цитировать Сообщить модератору |
Панург Member Откуда: настоящему индейцу завсегда везде ништяк Сообщений: 5181 |
|
||||
16 мар 21, 05:43 [22295167] Ответить | Цитировать Сообщить модератору |
Rikozenit Member Откуда: Сообщений: 145 |
Панург, да я уже как только не пробовал. Через конструктор тоже не работает( Вот выше в этом топике у форумчанина ALEXIS_22 в сообщении 8392704 приложен его проект, который работает именно так, как мне нужно. Вроде делаю также, а не работает. К сообщению приложен файл. Размер - 145Kb Сообщение было отредактировано: 16 мар 21, 09:37 |
16 мар 21, 09:40 [22295199] Ответить | Цитировать Сообщить модератору |
Rikozenit Member Откуда: Сообщений: 145 |
Спасибо! Сделал пока так: Private Sub izdelie_Click() Forms!sklad_ks_raspred_f.RecordSource = "SELECT .... WHERE (((PEO_ved_postavki.kod_zak)= " & Me.kod_zak & ") AND ((KS_zak_izd.izdelie)= '" & Me.izdelie & "'));" End Sub Работает!! Только не могу понять, как) я ведь меняю источник для "общей" формы, в которой у меня располагаются обе табличных формы. Как Аксесс догадывается у какой именно из них я меняю источник? Ведь ссылка только на sklad_ks_raspred_f, без уточнения KS_zak_izd_Raspred_ft2? И ещё вопрос: по ощущениям реализовывать связь между таблицами через основные-подчинённые - более правильно, чем через смену RecordSource или я заблуждаюсь? |
||||
16 мар 21, 10:24 [22295228] Ответить | Цитировать Сообщить модератору |
Панург Member Откуда: настоящему индейцу завсегда везде ништяк Сообщений: 5181 |
К сообщению приложен файл (Dve_formi_v_odnoy_.zip - 55Kb) cкачать ![]() |
||||
16 мар 21, 10:41 [22295237] Ответить | Цитировать Сообщить модератору |
Панург Member Откуда: настоящему индейцу завсегда везде ништяк Сообщений: 5181 |
|
||||
16 мар 21, 10:43 [22295239] Ответить | Цитировать Сообщить модератору |
Rikozenit Member Откуда: Сообщений: 145 |
Панург, спасибо! Интересно, что через смену RecordSource работает заметно быстрее. Возможно промежуточные текстбоксы замедляют работу. Здесь 8392704 сделано без перехватывающих текстбоксов, но почему повторить не получается - хз( |
16 мар 21, 11:14 [22295256] Ответить | Цитировать Сообщить модератору |
Панург Member Откуда: настоящему индейцу завсегда везде ништяк Сообщений: 5181 |
|
||||
16 мар 21, 11:55 [22295280] Ответить | Цитировать Сообщить модератору |
sdku Member Откуда: Краснодар Сообщений: 7257 |
может я чё не понимаю,но сделал бы так и не заморачивался (ф.родители) К сообщению приложен файл (tmp.rar - 24Kb) cкачать ![]() |
16 мар 21, 12:50 [22295315] Ответить | Цитировать Сообщить модератору |
Rikozenit Member Откуда: Сообщений: 145 |
Ребята, помогите! Вроде всё тоже самое делаю, но не работает и всё тут( В общей форме bnk_zapusk_f есть две формы: Форма с перечнем изделий и "зависимая" от неё Форма с технологическими маршрутами для этих изделий. К сообщению приложен файл (Form s 2 forms2.rar - 63Kb) cкачать ![]() |
9 апр 21, 18:50 [22306683] Ответить | Цитировать Сообщить модератору |
sdku Member Откуда: Краснодар Сообщений: 7257 |
каждому изделию (один-ко-многим) соответствует много технологических операций Что-то не так в Датском королевстве.(Гамлет) ![]() Сообщение было отредактировано: 10 апр 21, 01:09 |
||||
10 апр 21, 01:08 [22306853] Ответить | Цитировать Сообщить модератору |
sdku Member Откуда: Краснодар Сообщений: 7257 |
Т.к. Ваш пример БД очень прост можно и без связи-хотя в "серьезных" БД тбл.надо связывать-это защитит от возникновения различного рода проблем и ряда возможных ошибок(появления "бесхозных" записей) К сообщению приложен файл (Form s 2 forms2.rar - 61Kb) cкачать ![]() |
10 апр 21, 01:49 [22306864] Ответить | Цитировать Сообщить модератору |
sdku Member Откуда: Краснодар Сообщений: 7257 |
вдогонку: обе формы "выравнивание по центру"-нет "автоматический размер"-нет разместить их как хотите Если Вам надо чтоб открывалась форма с подробностями по двойному клику на изделии то так. (набросать пример было много проще чем разбираться в коде) Если надо еще что-то - спрашивайте. только задачу излагать кратко и ясно Сообщение было отредактировано: 10 апр 21, 01:56 |
10 апр 21, 01:55 [22306866] Ответить | Цитировать Сообщить модератору |
Rikozenit Member Откуда: Сообщений: 145 |
Со связями опростоволосился (сейчас уже добавил), но , к сожалению, в данном случае это не помогло. В вашем файлике маршруты можно просматривать, но не добавлять. В процессе добавления к новым изделиям маршрутов, он не видит между ними взаимосвязи и соответственно столбец kod_bnk в таблице Маршрутов остаётся пустым( Маршруты подвисают в воздухе.( ООО!!! Я нашёл в чём дело!! Но пока не понял, что это был за бред)) Сообщение было отредактировано: 10 апр 21, 13:57 |
||||
10 апр 21, 13:56 [22306953] Ответить | Цитировать Сообщить модератору |
Rikozenit Member Откуда: Сообщений: 145 |
sdku, ура! Всё заработало! По какой-то неведомой причине сама по себе Форма bnk_marshr_ft - не отображает данных! Хотя запрос, на котором она основана данные отображает... Бред какой-то... Создал заново Форму bnk_marshr_NEW, закинул её в общую форму bnk_zapusk_f, сделал связь по основным и подчинённым полям и обновление подчинённой формы bnk_marshr_NEW по событию "Текущая запись" в основной Форме со Спецификацией. Всё заработало как надо! К сообщению приложен файл (Form s 2 forms2.rar - 58Kb) cкачать ![]() |
10 апр 21, 14:46 [22306965] Ответить | Цитировать Сообщить модератору |
Лапух Member Откуда: Стойбище № 7 Сообщений: 1172 |
Ну раз всё заработало и я ни коем образом не смогу всё напрочь испортить ![]() А что такое - ГРИД, что бы даже я понял. Ибо я такое, - буржуинское словечко, у себя в голове, практически не понимаю, а то и вааще с чем то непотребным воспинимаю ![]() Это точно - Цензурное слово? |
||||
10 апр 21, 17:52 [22307027] Ответить | Цитировать Сообщить модератору |
Rikozenit Member Откуда: Сообщений: 145 |
Лапух, понятия не имею) Это надо у автора топика спрашивать! |
10 апр 21, 22:20 [22307104] Ответить | Цитировать Сообщить модератору |
sdku Member Откуда: Краснодар Сообщений: 7257 |
вот что глаголит переводчик: grid [grɪd] сущ сеткаж, решеткаж (mesh, lattice) а ТС очевидно имеет ввиду табличную форму ![]() |
12 апр 21, 12:56 [22307607] Ответить | Цитировать Сообщить модератору |
DarkMan Member Откуда: Сообщений: 900 |
Ну я бы не сказал , что это сильно смахивает на табличную форму . Так что я тоже не очень понял смысл этой фразы. :)) |
||||
12 апр 21, 13:16 [22307619] Ответить | Цитировать Сообщить модератору |
Топик располагается на нескольких страницах: 1 2 [все] |
Все форумы / Microsoft Access | ![]() |