|
|
|
|
Залача такова:
Имеется ленточная форма - в ней отображаются выбранные фильтром значения - например болт
гайка
шпи ндель
===============
у кажной позиции имеется связвнная таблица - характеристик-свойств.
================
Как бы их отображать ????
Это для доп информации........
что б выбирая видеть ещё и характеристики представленных деталей????
и соответственно не ошибиться в выборе | |
|
| |
|
|
|
|
у кажной позиции имеется связвнная таблица
|
Это как? | |
|
| |
|
|
|
| Сделать рекордсоурсом ленточной формы соответствующий запрос, который выводит вместе с деталями их характеристики
Или я чего то недогоняю? | |
|
| |
|
|
|
| Это слишком просто, потому неинтересно. | |
|
| |
|
|
|
| это две таблицы один ко многим.
один болт - куча характеристик.
другой болт - куча характеристик
============================
они все болты, но с различными характристиками......... | |
|
| |
|
|
|
| выводить в отдельный лист-бокс или лист-вью список характеристик | |
|
| |
|
|
|
| для поиска из справочника нужного наименования пишем в основной форме например болт.\
Запрос выбирает из справочника все болты и выводит их в ленточной форме для выбора уже конкретного болта с диаметром , резьбою, и прочим......
в ленточной таблице видно тока
болт
болт
болт
болт
а куда прилепить характеристики - они в связанной таблице находятся??????
=====================================================================
может просто не удачное решение - какое удачнее? | |
|
| |
|
|
|
| Дрюня - а кто такой
и как его прилепить к ленточной форме. | |
|
| |
|
|
|
| Несколько вариантов на выбор:
1. Нажимая кнопочку открывать форму с характеристиками текущего изделия;
2. Расположить такую форму как подчиненную в примечании вашей формы;
3. Написать функцию, возвращающую сборную строку из характеристик и указать ее источником вычисляемого поля в области данных.
ЗЫ. Не знал что "шпи ндель" пишется раздельно. | |
|
| |
|
|
|
|
| по сущаству
1. Нажимая кнопочку открывать форму с характеристиками текущего изделия;
|
не наглядно - всё скрыто и надо поочереди выбирать.
=======================================================================
2. Расположить такую форму как подчиненную в примечании вашей формы;
|
в ленточной форме - подчинённую не расположить - видимо
======================================================================= | |
|
| |
|
|
|
|
3. Написать функцию, возвращающую сборную строку из характеристик и указать ее источником вычисляемого поля в области данных.
|
это видимо подойдёт, только не в области данных, а в примечании ленточной формы.......
=========================================================================
тоже не наглядно..........
==========================================================================
Как бы расположить рядом список из .................
нет не выйдет..........
записй несколько, у них несколько характеристик на кажную запись ..... не наглядно...... | |
|
| |
|
25 Кб. |
|
| может поможет родить идею | |
|
| |
|
|
|
| Извините..........
Помогло только забеременеть | |
|
| |
|
|
|
| 1. Сделать попапную форму, не модальную. (помнишь линейку?)
При перемещении по ленточной форме, двигать записи в попапной.
2. Сделать динамичную всплывающую подсказку для какого-нибудь контрола.
3. Положить ленточную на подложку, рядом список с хар-ками. | |
|
| |
|
|
|
| >> 2. Расположить такую форму как подчиненную в примечании вашей формы;
>в ленточной форме - подчинённую не расположить - видимо
Почему же. В примечании формы - можно.
>>3. Написать функцию...
>это видимо подойдёт, только не в области данных, а в примечании ленточной формы.
Как раз поле с функцией надо размешать рядом со "шпинделем" или под ним, но в области данных. И передавать ей ID записи. Так вы будете видеть для каждой видимой записи - свои характеристики. | |
|
| |
|
|
|
| 1) Ещё идея создать гл.форму без источника данных.
2) На неё кладём ленточную с болтами
3) На неё же кладём дугую ленточную с характеристиками болтов
4) На неё же кладём поле в котором выводим ИД для текущей записи болта
5) Связываем обе ленточные формы через это поле
В результате имеем:
при пепремещении по записям ленточной формы с болтами - в ленточной с характеристиками болтов будут выводиться все характеристики текущего болта с возможностью редактировать/добавлять/удалять характеристики | |
|
| |
|
|
|
|
На неё кладём ... с болтами
|
| |
|
| |
|
|
|
|
Болты не я придумал | |
|
| |
|
|
|
| Верю, и гайки до нас придумали.
Болты, гайки и шпиндели, по идее, должны быть группами номенклатуры, а :
Болт М12*1,5 88
Гайка М17*1,25 100
Шпиндель Ш1 латунный
...
должны быть единицами номенклатуры.
Тогда подобных нюансов с хар-ками не будет. | |
|
| |
|
|
|
| огромное спасибо за кучу идей !!!!
буду реализаторством заниматься | |
|
| |
|
|
|
| Как я понял из поставленной задачи, надо отображать доп. инфу из связанных таблиц к выбранному элементу в той же форме где идет выбор элементов.
Привожу пример своего решения аналогичной проблемы:
Private Sub kod_stoika_AfterUpdate()
Dim rst As ADODB.Recordset
Dim sql As String
If Not IsNull(Me!kod_stoika) Then
Set rst = New ADODB.Recordset
'выборка по интересующему элементу
sql = "...тут запрос на выборку необходимых для отражения полей... " & _
"WHERE ((spr_stoika.kod_stoika)= " & Me!kod_stoika & ");"
rst.Open sql, CurrentProject.Connection, adOpenStatic
'Заполнение полей отобранной инфой
If rst.RecordCount = 1 Then
Me.zavN = rst.Fields("zavodsk_N")
Me.tip = Form_TehActNew1.tipstoiky
Me.model = rst.Fields("model")
Me.godVip = rst.Fields("data_vipuska")
Me.ceh = rst.Fields("name_ceh")
Me.agregat = rst.Fields("name_agregat")
Else
If Not IsNull(Me.stancya) Then
MsgBox "стойка не выбрана"
End If
End If
rst.Close
Set rst = Nothing
End If
End Sub | |
|
| |
|
|
|
|
| Получилось вот так...
Public Function Stroka_Parametrov(ID_Films) As String
Dim db As DAO.Database 'ñîçäà¸ì dao. áàçó
Dim rs_TBL As DAO.Recordset 'ñîçäà¸ì dao. íàáîð çàïèñåé
Dim SQL_STRING As String
SQL_STRING = "SELECT Parametrs_Film_TBL.ID_Film, Parametrs_Film_TBL.Parameters_Film " _
& "FROM Parametrs_Film_TBL " _
& "WHERE (((Parametrs_Film_TBL.ID_Film) = " & ID_Films & ")) " _
& "WITH OWNERACCESS OPTION;"
Set db = CurrentDb ' áàçà òåêóùàÿ
Set rs_TBL = db.OpenRecordset(SQL_STRING, dbOpenDynaset) 'îòêðûâàåì "Peresechenie_Dat_Air"
With rs_TBL
Do Until .EOF = True 'Öèêë äî êîíöà òàáëèöû
Stroka_Parametrov = Stroka_Parametrov & !Parameters_Film & ","
.MoveNext
Loop
End With
rs_TBL.Close
Set rs_TBL = Nothing
db.Close
Set db = Nothing
End Function
|
| |
|
| |