Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Помогите......
 
 автор: час   (17.02.2009 в 14:04)   личное сообщение
 
 


Залача такова:
Имеется ленточная форма - в ней отображаются выбранные фильтром значения - например болт
гайка
шпи ндель
===============
у кажной позиции имеется связвнная таблица - характеристик-свойств.
================
Как бы их отображать ????
Это для доп информации........
что б выбирая видеть ещё и характеристики представленных деталей????
и соответственно не ошибиться в выборе

  Ответить  
 
 автор: Lukas   (17.02.2009 в 14:14)   личное сообщение
 
 


у кажной позиции имеется связвнная таблица


Это как?

  Ответить  
 
 автор: Мюллер   (17.02.2009 в 14:23)   личное сообщение
 
 

Сделать рекордсоурсом ленточной формы соответствующий запрос, который выводит вместе с деталями их характеристики
Или я чего то недогоняю?

  Ответить  
 
 автор: Lukas   (17.02.2009 в 17:00)   личное сообщение
 
 

Это слишком просто, потому неинтересно.

  Ответить  
 
 автор: час   (17.02.2009 в 15:04)   личное сообщение
 
 

это две таблицы один ко многим.
один болт - куча характеристик.
другой болт - куча характеристик
============================
они все болты, но с различными характристиками.........

  Ответить  
 
 автор: Дрюня   (17.02.2009 в 14:57)   личное сообщение
 
 

выводить в отдельный лист-бокс или лист-вью список характеристик

  Ответить  
 
 автор: час   (17.02.2009 в 15:08)   личное сообщение
 
 

для поиска из справочника нужного наименования пишем в основной форме например болт.\
Запрос выбирает из справочника все болты и выводит их в ленточной форме для выбора уже конкретного болта с диаметром , резьбою, и прочим......
в ленточной таблице видно тока
болт
болт
болт
болт

а куда прилепить характеристики - они в связанной таблице находятся??????
=====================================================================
может просто не удачное решение - какое удачнее?

  Ответить  
 
 автор: час   (17.02.2009 в 15:12)   личное сообщение
 
 

Дрюня - а кто такой

лист-вью 

и как его прилепить к ленточной форме.

  Ответить  
 
 автор: Анатолий (Киев)   (17.02.2009 в 15:29)   личное сообщение
 
 

Несколько вариантов на выбор:
1. Нажимая кнопочку открывать форму с характеристиками текущего изделия;
2. Расположить такую форму как подчиненную в примечании вашей формы;
3. Написать функцию, возвращающую сборную строку из характеристик и указать ее источником вычисляемого поля в области данных.

ЗЫ. Не знал что "шпи ндель" пишется раздельно.

  Ответить  
 
 автор: час   (17.02.2009 в 15:39)   личное сообщение
 
 

Не знал что "шпи ндель" пишется раздельно
Заметили???????
Вот что значит внимательный читатель.
Это прикол - конечно вместе пишется.
Но Ндель - прикольно
=============================================

  Ответить  
 
 автор: час   (17.02.2009 в 15:41)   личное сообщение
 
 

по сущаству

1. Нажимая кнопочку открывать форму с характеристиками текущего изделия;

не наглядно - всё скрыто и надо поочереди выбирать.
=======================================================================

2. Расположить такую форму как подчиненную в примечании вашей формы;

в ленточной форме - подчинённую не расположить - видимо
=======================================================================

  Ответить  
 
 автор: час   (17.02.2009 в 15:43)   личное сообщение
 
 


3. Написать функцию, возвращающую сборную строку из характеристик и указать ее источником вычисляемого поля в области данных.

это видимо подойдёт, только не в области данных, а в примечании ленточной формы.......

=========================================================================
тоже не наглядно..........
==========================================================================

Как бы расположить рядом список из .................
нет не выйдет..........
записй несколько, у них несколько характеристик на кажную запись ..... не наглядно......

  Ответить  
 
 автор: Дрюня   (17.02.2009 в 16:15)   личное сообщение
25 Кб.
 
 

может поможет родить идею

  Ответить  
 
 автор: час   (17.02.2009 в 16:50)   личное сообщение
 
 

Извините..........
Помогло только забеременеть

  Ответить  
 
 автор: Lukas   (17.02.2009 в 16:53)   личное сообщение
 
 

1. Сделать попапную форму, не модальную. (помнишь линейку?)
При перемещении по ленточной форме, двигать записи в попапной.
2. Сделать динамичную всплывающую подсказку для какого-нибудь контрола.
3. Положить ленточную на подложку, рядом список с хар-ками.

  Ответить  
 
 автор: Анатолий (Киев)   (17.02.2009 в 17:02)   личное сообщение
 
 

>> 2. Расположить такую форму как подчиненную в примечании вашей формы;
>в ленточной форме - подчинённую не расположить - видимо

Почему же. В примечании формы - можно.


>>3. Написать функцию...
>это видимо подойдёт, только не в области данных, а в примечании ленточной формы.

Как раз поле с функцией надо размешать рядом со "шпинделем" или под ним, но в области данных. И передавать ей ID записи. Так вы будете видеть для каждой видимой записи - свои характеристики.

  Ответить  
 
 автор: Гамлет   (17.02.2009 в 20:41)   личное сообщение
 
 

1) Ещё идея создать гл.форму без источника данных.
2) На неё кладём ленточную с болтами
3) На неё же кладём дугую ленточную с характеристиками болтов
4) На неё же кладём поле в котором выводим ИД для текущей записи болта
5) Связываем обе ленточные формы через это поле

В результате имеем:
при пепремещении по записям ленточной формы с болтами - в ленточной с характеристиками болтов будут выводиться все характеристики текущего болта с возможностью редактировать/добавлять/удалять характеристики

  Ответить  
 
 автор: Lukas   (17.02.2009 в 20:44)   личное сообщение
 
 


На неё кладём ... с болтами


  Ответить  
 
 автор: Гамлет   (17.02.2009 в 20:52)   личное сообщение
 
 


Болты не я придумал

  Ответить  
 
 автор: Lukas   (17.02.2009 в 20:58)   личное сообщение
 
 

Верю, и гайки до нас придумали.

Болты, гайки и шпиндели, по идее, должны быть группами номенклатуры, а :
Болт М12*1,5 88
Гайка М17*1,25 100
Шпиндель Ш1 латунный
...
должны быть единицами номенклатуры.
Тогда подобных нюансов с хар-ками не будет.

  Ответить  
 
 автор: час   (18.02.2009 в 09:48)   личное сообщение
 
 

огромное спасибо за кучу идей !!!!
буду реализаторством заниматься

  Ответить  
 
 автор: djek   (18.02.2009 в 11:17)   личное сообщение
 
 

Как я понял из поставленной задачи, надо отображать доп. инфу из связанных таблиц к выбранному элементу в той же форме где идет выбор элементов.
Привожу пример своего решения аналогичной проблемы:

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

  Ответить  
 
 автор: час   (18.02.2009 в 11:46)   личное сообщение
 
 

Спасибо, djek !!!

  Ответить  
 
 автор: час   (18.02.2009 в 12:36)   личное сообщение
 
 

Получилось вот так...



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

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList