powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
21 сообщений из 21, страница 1 из 1
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32402928
Nuts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С Access работаю недавно - не могу понять есть ли возможность сделать так:
есть база данных проключений сети (работаю в связи), в ней две таблицы:
список всех имеющихся портов и
список трейлов(проключений, соединений типа порт-порт).
Задача - при добавлении трейла должны добавлятся записи напротив соответствующих портов.
Грубо говоря:

Таблица "Список портов":
[Порт]
[1]
[2]
[3]
[4]
[5]
[6]
[7]

Таблица "Список трейлов":

[Название трейла] [Порт Начало] [Порт Конец] [Примечания]
[2-5] [2] [ 5 ] [ телефон начальнику]


Результирующая таблица Информация по портам
[Порт ] [Занятость ] [Порт2] [ Название трейла] [Примечания]
[1] [ свободен]
[ 2 ] [ занят ] [ 5 ] [ 2-5 ] [ телефон Начальнику]
[ 3 ] [свободен]
[ 4 ] [ свободен]
[ 5 ] [ занят ] [ 2 ] [ 2-5 ] [ телефон Начальнику]
[ 6 ] [ свободен]
[ 7 ] [свободен]


Подскажите реально ли сделать такую результирующую таблицу в Access простыми средствами и если реально то как?? ЗАРАНЕЕ СПАСИБО
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32403023
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уникальный индекс на сочетание трейлов.
Плюс, когда расставляешь внешние ключи трейлов, вибираешь только те, которых нет в Информация по портам запросом типа
select [Список портов].порт from Список портов where [Список портов].порт not in (select [Информация по портам].[Порт] from [Информация по портам])
для первого порта и аналогично для второго. (Запрос не отлажен, из головы)
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32403033
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"на сочетание трейлов"
на сочетание портов
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32403037
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пожалуй, внутренний подзапрос надо объединить через Union с запросом на выборку по столбцу второго порта.
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32403038
Nuts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
портов на сети больше 3 тысяч...
а рейло около тысячи
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32403048
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nuts
Ну и что?
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32403069
Nuts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо за участие, ушла на курсы поSQL)))))))))))))
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32403109
Nuts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Все что пока умею - это создание запросов при помощи конструктора. Маловато для решения данной задачи?
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32403345
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поздновато уже, поэтому голова тяжелая, и получаются такие вот монстры

1. Порты1
SELECT [Список портов].Порт, IIf(IsNull([Список трейлов].[Порт Начало]),"свободен","занят") AS Статус, [Список трейлов].[Порт Конец] AS Порт2, [Список трейлов].Примечания, IIf(IsNull([Список трейлов].[Порт Начало]),0,1) AS status
FROM [Список портов] LEFT JOIN [Список трейлов] ON [Список портов].Порт = [Список трейлов].[Порт Начало];

2. Порты2
SELECT [Список портов].Порт, IIf(IsNull([Список трейлов].[Порт Конец]),"свободен","занят") AS Статус, [Список трейлов].[Порт Начало] AS Порт2, [Список трейлов].Примечания, IIf(IsNull([Список трейлов].[Порт Конец]),0,1) AS status
FROM [Список портов] LEFT JOIN [Список трейлов] ON [Список портов].Порт = [Список трейлов].[Порт Конец];

3. ПортыВсе
SELECT Порты1.[Порт], Порты1.Статус, Порты1.[Порт2], Порты1.Примечания, Порты1.status
FROM Порты1
UNION ALL SELECT Порты2.[Порт], Порты2.Статус, Порты2.[Порт2], Порты2.Примечания, Порты2.status
FROM Порты2;

4. ПортыГрупп
SELECT ПортыВсе.Порт, ПортыВсе.Статус, ПортыВсе.Порт2, ПортыВсе.Примечания, ПортыВсе.status
FROM ПортыВсе
GROUP BY ПортыВсе.Порт, ПортыВсе.Статус, ПортыВсе.Порт2, ПортыВсе.Примечания, ПортыВсе.status;

5. ПортСтатус
SELECT ПортыВсе.Порт, Max(ПортыВсе.status) AS St
FROM ПортыВсе
GROUP BY ПортыВсе.Порт;

6. ПортыОкончательный
SELECT ПортыГрупп.Порт, ПортыГрупп.Статус, ПортыГрупп.Порт2, ПортыГрупп.Примечания
FROM ПортСтатус INNER JOIN ПортыГрупп ON (ПортСтатус.Порт = ПортыГрупп.Порт) AND (ПортСтатус.St = ПортыГрупп.status);

Конструктора тут и правда маловато.

Прошу извинить за многословность
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32403377
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно было и чуть покороче
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
select t.port,
         iif(isnull(t1.[Порт Начало]), "свободен" , "занят"  ) as   [Занятость ] ,
         nz(t2.[Порт Конец], "") as [Порт2],
         nz(t1.[Название трейла], "  ") as [Название трейла]  ,
         nz(t1.[Примечания]," ")  as [Примечания] 
from [Список портов] as t
left join [Список трейлов] as t1
on t.Порт = t1.[Порт Начало]
left join [Список трейлов] as t2
on t.Порт=t2.[Порт Конец]
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32403396
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 VIG:
Во-первых, Аксесс такой синтаксис не понимает (по крайней мере, мой 2000-й) - он требует, чтоыб первый джойн был в скобках.
Во-вторых, получается совсем не то, что нужно!
Для порта, который в трейле второй, будет статус "свободен", и не будет названия трейла.
Попытка №2?
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32403400
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот что делает дух соперничества

Код: plaintext
1.
2.
3.
4.
SELECT t.Порт, IIf(IsNull([t1].[Порт Начало]) And IsNull([t2].[Порт Конец]), "свободен" , "занят" ) AS Статус,
Nz(t2.[Порт Начало],t1.[Порт Конец]) AS Порт2, Nz(t1.[Название трейла],t2.[Название трейла]) AS Трейл,
Nz(t1.Примечания,t2.Примечания) AS Примечание
FROM ([Список портов] AS t LEFT JOIN [Список трейлов] AS t1 ON t.Порт = t1.[Порт Начало])
LEFT JOIN [Список трейлов] AS t2 ON t.Порт = t2.[Порт Конец];
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32403421
(c)VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ошибся немного, но идея то понятна.
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32403637
Nuts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вау)) идеально))) ААААгромадное спасибо!!!!
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32405401
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nuts , местные ребята весьма гостеприимны и ради женщины готовы на многое :-)
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32405430
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Varan:
это в каком смысле?
Вообще-то у меня и жена имеется... Кстати, в тот вечер я опоздал домой на час, и она меня немножко ругала
А вот насчет VIG'a - он не очень часто тут появляется, тут возможны подозрения. Надо посмотреть
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32405445
Фотография Varan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AlexJuice
"это в каком смысле? "
Да в прямом. Сидели, на ночь глядя запросы отлаживали, но все-таки доставили женщине удовольствие, о чем свидетельствует слудующая фраза - "Вау)) идеально))) ".
Короче, я хотел сказать, что местные ребята весьма галантны, разве это не так?
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32405494
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТАК!!!
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32406039
Nuts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А еще говорят что в инете все неженатые и не замужем)))
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32406056
Фотография AlexJuice
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в инете неженатый
Я в ЗАГСе женатый
...
Рейтинг: 0 / 0
Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
    #32406073
Nuts
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1:0 мужчины ведут в счете.......
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Трудная задчка????? (при добавлении трейла должны добавлятся записи напротив соответствующих портов)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]