Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Нужна помощь/подсказка [D7, Access]


Silver... ©   (2006-08-20 00:25:00) 

есть таблица

AAAA
ID1     Gruppa
-------------
1          1
2          1
3          2
4          1
5          1
6          2
7          2

из AAAAзаписи регистрируются в BBBBна определенных условиях (какие - не главное) главное то что в BBBBне может попасть вторая запись из той-же группы (типа "RadioButton_Запись")
   Дело усложняется тем что в BBBBмогут уже быть записи из этоы группы занесенные ранее

пример:
BBBB
ID2     ID2
------------
1          1
2          1
3          2
4          1
5          2
6          3
7          1
------------ zanosim naprimer sleduyuschie
                     Группа(для ясности)
8          2          1
9          3          2

К дате записи нельзя привязываться - правило деиствительно только пока обрабатывается AAAAFirst..Next на предмет регистрации в BBBB

 Короче говоря Правило о группах деиствует тока по отношению текущих записей AAAA


Silver...   (2006-08-21 15:00:00) [1]


> Решение лежит в сторону SQL


Да я бы рад... типа

SELECT First(ID)
FROM AAAA
WHERE <Condition>
GROUP BY Gr


жаль тока что <Condition>слишком сложно, целый алгоритм вычеслений и проверок - ну никака в одно условие не уложу (Access ведь - и менять не могу - выход надо находить в рамках некоторых наложеных, не мной, ограничений)


> Что делать, какие вопросы, такие и ответы

интересно в данном вопросе что именно не понятно

 Ещё раз, в крацце:
1- есть записи сгруппированные
2- методом тыка (проверки каждой зписи) решается если она нас интересует

3* Если не интересует ищем дальше ...
4* ... интересует регистрируем факт интереса (реализованно)

5--- Условие --- из одной группы интересует ТОЛЬКО первое подходящее условию

Вопрос:При обнаружение интересующей записи как игнорировать остальные из той же группы (интересовали варианты реализации)

??? Хотел бы знать грде именно было непонятно ???

- а вообще - мое мнение что лучше промолчать нежели послать книги читать, прям пересмотрел литературу не нашел ничего про проблему WHERE, Filter в Master-Detail связке а тем более решение мож кто-нибудь может процитировать а то выглядит так что общеизвесный случай - тока я один не в курсе

PS. Сабж уже реализован - чисто идеологически интересно
    ... но если у кого есть идеи лучше моей с радостью посмотрел бы


Германн   (2006-08-21 01:05:00) [2]


> Silver... ©   (20.08.06 21:16) [9]
>
> не хочу переходить на личности но от вас Anatoly Podgoretsky
> ни разу не получил конкретного ответа.
>  Да и вообще от вас тока такие ответы и приходят достаточно
> по форуму пробежаться:
>  - непонятные намеки
>  - книги, help, ... читать

Ну а ты подумай, прежде чем решать!


Anatoly Podgoretsky   (2006-08-21 00:19:00) [3]

Решение лежит в сторону SQL, а не фильтров на связанные таблицы


Anatoly Podgoretsky   (2006-08-21 00:18:00) [4]

Silver... ©   (20.08.06 21:16) [9]
Что делать, какие вопросы, такие и ответы, если за эти годы не было конкретных вопросов, то откуда ответы то возьмутся?
А сейчас вопрос не то что не конкретный, но он еще и непонятный.


Silver...   (2006-08-20 21:21:00) [5]


> и оказывается Делфя Отказывается делать связку MasterDetail
> если у Datail-а есть WHERE


А про эту проблему и раньше знал когда Filter на DetailDataSet вешать хотел - решение еще от тогда осталось - тока через )|( . Думал мне мож кто идею подаст и она лучше окажется.

 А вообще: "Спасение утопающих дело рук ..."


Silver...   (2006-08-20 21:16:00) [6]

не хочу переходить на личности но от вас Anatoly Podgoretsky ни разу не получил конкретного ответа.
 Да и вообще от вас тока такие ответы и приходят достаточно по форуму пробежаться:
 - непонятные намеки
 - книги, help, ... читать

...а по что этот форум тогда существует если каждый САМ разбираться будет со своей проблемой - никому он нужен не будет


> Читать умные книги


Да читаю я книги

... и вообще проблему я уже решил

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

PS. Сожалею но накипело, просьба без обид


Anatoly Podgoretsky   (2006-08-20 20:27:00) [7]

Читать умные книги, за прошедшие несколько лет уже что то мог бы прочитать.


Silver...   (2006-08-20 20:13:00) [8]


> Думаю нашел выход


Облом в АААА имеется WHERE ...
и оказывается Делфя Отказывается делать связку MasterDetail если у Datail-а есть WHERE

...   че делать?


Silver...   (2006-08-20 15:33:00) [9]

А чего непонятного?
 Нужно из записей, принадлежащих одной группе, найти всего лишь одну (через SQL не получается уж больно сложное условие - сам бы хотел через SQL но увы :( ) - как только нашел подходящую запись регистрирую её в BBBB После регистрации ХОТЯБЫ ОДНОЙ ЗАПИСИ из группы НИ ОДНА ДРУГАЯ запись из той же группы не может быть зарегистрированна в BBBB, ДАЖЕ ЕСЛИ ПОДХОДИТ ПО УСЛОВИЮ - Тоесть зарегистрировали первую остальные игнорируем (типа "RadioButton__ЗАПИСИ")
  Трудность была в том как игнорировать др. записи из той же руппы, ведь они тоже могут пройти по условию,
 - хранить гдето группы записeй которых уже зарегистриривали? - хотел др. идею... по красивше - ну чтоб не приходилось каждый раз искать а нет ли данной группы в списке для игнорирования...

....

Думаю нашел выход

Сделаю:

MasterAAAA: [SELECT Gr FROM AAAA GROUP BY Gr]

Свяжу MasterAAAA->AAAAпо полю Grполучу:

MasterAAAA                AAAA
--------------------------------------
Gr                            ID              Gr
--------------------------------------
1                              1               1
                              2               1
                              3               1
2                              4               2
                              5               2
3                              6               3

а в проге типа:

while not eof do
begin
  if <condition> then
    begin
      RegisterInBBBB;
      MasterAAAA.Next; //Таким образом остальные записи с то'й же группы будут вне видимости
    end;
  Next;
end;


Anatoly Podgoretsky   (2006-08-20 11:53:00) [10]

Все равно ничего не понятно.


Virgo_Style   (2006-08-20 09:41:00) [11]

или подробнее, или абстрактнее - так ничего не понятно.


Мефисто   (2006-08-20 08:57:00) [12]

Может обратиться к SQL запросам. Благо инфы в инете много валяется.


Silver...   (2006-08-20 01:09:00) [13]

допустим AAAA это Действия; BBBB - регистрация действий
 
Понятно что деыствия могут быть противоположными (в одной группе) - должно регистрироваться только одно - первое (из AAAA) которое подходит условиям - остальные из этой же группы (из AAAA) должны игнорироваться ( как это осуществить - игнорирование др. записеи в АААА с той же группой, после регистрации одной из записи)

регистрация групп для игнорирования в базе??? как не пересекаться с др. юзерами

Вобщем:

while not eof do
 begin
   //Вот здесь нужно не видеть записи из АААА с группой равной уже зарегистрированной записи
   if <condition> then
     RegisterInBBBB;
   Next;
 end;


или др. идея ...


Anatoly Podgoretsky   (2006-08-20 00:34:00) [14]

А по русски


Наверх

Титульная страница Поиск, карта сайта Написать письмо