Access Web App 2013 Subview - несколько дочерних полей?
Я не уверен, есть ли способ заставить это работать, но я скрестил пальцы:
У меня есть база данных, которая отслеживает инвентарь для школьного округа. Часть того, что отслеживается, это специальное (не образное) программное обеспечение, которое установлено на устройстве. Ни один компьютер не может иметь более 5 дополнительных программ, поэтому у меня есть 5 полей, Software1 - 5, все из которых обращаются к таблице программного обеспечения, которая содержит возможное программное обеспечение на выбор.
Мой клиент хочет, чтобы он мог найти все устройства, на которых установлено определенное программное обеспечение. Конечно, Access Web Apps делают это практически без запроса, создавая всплывающее окно при нажатии на поле поиска. У меня проблема в том, что, поскольку у меня есть 5 отдельных полей, и конкретное название программного обеспечения может быть в любом из этих 5 полей, я не могу найти ВСЕ устройства с этим программным обеспечением в ЛЮБОМ из 5 полей. Я могу найти устройства с этим программным обеспечением только в том ЖЕ поле, в котором щелкнули.
Например, у каждого устройства есть номер модели, который также связан с другой таблицей. Мое всплывающее представление для модели имеет подпредставление, которое связывает поле (родительского) идентификатора из таблицы модели с полем (дочерним) модели в таблице инвентаризации. Таким образом, когда нажимается Модель, в подпредставлении я вижу все устройства той же модели.
Но для полей программного обеспечения, когда я связываю родительское поле идентификатора из программного обеспечения, я могу связать только ОДНО дочернее поле с представлением, то есть только одно из 5 полей программного обеспечения в таблице инвентаризации. Таким образом, если XYZ Software находится в поле Software1 и нажата кнопка, он не найдет никаких устройств, на которых установлено программное обеспечение XYZ, в полях Software2, 3, 4 или 5.
Я "взломал" его в довольно уродливую вещь, где я использую одно и то же всплывающее окно для каждого из 5 полей. Во всплывающем окне на самом деле есть 5 отдельных подпредставлений, каждое из которых связано с одним из 5 дочерних полей программного обеспечения (так что в первом подпредставлении вы можете иметь 2 устройства с программным обеспечением XYZ в программном обеспечении 1, а затем увидеть другое устройство во втором подпредставлении с программным обеспечением XYZ в Программное обеспечение2 и т. Д.). Но это выглядит очень плохо, и я хотел бы сделать это лучше, более сплоченным способом. Каждая идея, которую я придумываю (использовать запрос, использовать подпредставление внутри подпредставления и т. Д.), Все еще зацепляется, когда мне нужно связать это подпредставление только с одним дочерним полем.
Хотелось бы, чтобы у веб-приложений могли быть списки с несколькими значениями, такие как базы данных на рабочем столе, но, увы, не сейчас Я хотел бы поделиться снимком экрана с моим текущим всплывающим окном, чтобы оно было немного лучше объяснено, но на данный момент у меня недостаточно повторений, поэтому прошу прощения за мою скромность.
У кого-нибудь есть идеи как обойти эту ситуацию? Есть ли способ настроить запрос для подпредставления, которое я пропускаю? Или способ взломать это другим способом? Я все уши для предложений!
Заранее спасибо,
~ SetsunaMH
2 ответа
Я знаю, что прошел почти год с тех пор, как я спросил об этом, но так как никто никогда не предлагал ответ, я подумал, что было бы хорошо опубликовать то, что я сделал, в качестве обходного пути.
У меня не было возможности создать запрос, который бы искал программное обеспечение для их отображения во всех 5 полях - каждая попытка, которую я делал, не работала. То, что я закончил, было то, что я упомянул в своем первоначальном посте: создание специального всплывающего представления с 5 вложенными представлениями: каждое по отдельному запросу для каждого из 5 полей программного обеспечения. Неуклюжий, и вроде как боль, но это сработало для моего клиента (база данных была временным промежутком, пока они не смогли интегрировать другую систему, поэтому она не должна была быть на 100% идеальной).
Мораль истории: я надеюсь, что в будущем у Веб-приложений появятся многозначные списки...:)
На мой взгляд, структура вашего стола несовершенна. У вас должно быть 3 стола. Один для устройств ("tblDevices"), другой для программного обеспечения ("tblSoftware"), другой "tblJoin" для установления отношений "многие ко многим". Вам это нужно, потому что вполне возможно установить одно и то же программное обеспечение на несколько устройств.
tblDevices
DevID - AutoNumber - PK
Модель - текст (при необходимости добавьте другие поля для описания данных, связанных с устройством).
tblSoftware
SWID - AutoNumber - PK
Программное обеспечение - Текст (здесь ОДНО поле, а не ПЯТЬ) (при необходимости добавьте другие поля для описания данных, связанных с Программным обеспечением.)
tblJoin
JoinID - AutoNumber - PK
DevID - весь номер
SWID - весь номер
(Вы МОЖЕТЕ добавить дополнительные поля здесь, если считаете нужным, но я постараюсь не делать этого, если это возможно.)
] 2
Я знаю, что скриншоты, к сожалению, отсутствуют в плане объяснения. Я попробовал что-то новое и опубликовал тему в сообществе Microsoft, в которой попросил кого-нибудь проверить, что мой план по загрузке приложения SHAREABLE будет работать. http://answers.microsoft.com/en-us/msoffice/forum/msoffice_sharepoint/how-to-publicly-share-an-access-2016-sharepoint/607c9f4e-476a-4849-9207-0c7c7f5b2924?tm=1472316250163