2013-07-16 5 views
0

я в настоящее время есть два связанных таблиц:несколько записей из объединения в одной записи

Property 
    ID 
    Name 

и

Checks 
    ID 
    Property 
    Type 
    ExpiresOn 

Поле недвижимости в Checks таблице относится к ID в Property таблице.

Теперь есть различные типы чеков, для этого примера я буду придерживаться: Gas and Electric. Таким образом, типичный Checks таблица будет выглядеть примерно так:

ID Property Type  ExpiresOn 
---------------------------------------- 
1  1  Gas   20/07/13 
2  1  Gas   21/07/13 
3  1  Electric 22/07/13 
4  2  Electric 23/07/13 

Теперь то, что я хотел бы сделать, это свойство отображения, с колоннами, отображающих последней проверки каждого типа. Например:

ID Property.Name GasExpiry  ElectricExpiry 
-------------------------------------------------- 
1  Some Place  21/07/13 (2) 22/07/13 (3) 
2  Another Place null   23/07/13 (4) 

Я включил ID каждый срок годности в скобках, так что легче увидеть, что происходит. Запись Checks с идентификатором 1 не отображалась, потому что она не была последней для этого свойства.

Сейчас я делаю это с помощью Dlookup после того, как не смог найти правильный способ сделать это с помощью соединений. Конечно, поскольку Property получает больше записей, Dlookup начнет резко замедлять этот запрос.

Есть ли лучший способ подойти к этой проблеме?

ответ

0

Как правило, я нашел момент ответа после публикации этого вопроса, но я сохраню его здесь, если у кого-то еще будет аналогичная проблема.

Ответ должен сделать запрос кросс-таблицы. Это точно так же, как описано в вопросе. Вы указываете тип columnn и то, что вы хотите показать в каждом поле.

0

То, что вы ищете, - это фактически развернуть таблицу, чтобы строки стали столбцами, а столбцы стали строками.

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

Смежные вопросы