MS Access 2010 Создание формы из SQL-запроса и связи основных деталей - PullRequest
0 голосов
/ 12 декабря 2010

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

Ответы [ 2 ]

0 голосов
/ 13 декабря 2010

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

Фактически, если вы хотите присоединить основную запись к дочерней таблице, если у вас есть 10 дочерних записей, мастерзапись также будет повторяться 10 раз в этом запросе, и какую из 10 репродукций основной записи вы, таким образом, захотите редактировать?

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

Так что в обоих случаях и в обоих подходах абсолютно нет требованийпостроить SQL-запрос, который включается в другие таблицы.И в действительности нет никаких особых преимуществ или даже преимуществ в производительности для создания и базирования формы на запросе, в отличие от базовой таблицы.А для дочерней формы, которая редактирует дочернюю таблицу, опять же нет особых преимуществ или проблем с производительностью, если основывать дочернюю форму непосредственно на дочерней таблице или на основе запроса.

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

0 голосов
/ 12 декабря 2010

Что вы подразумеваете под SQL-запросом?

Хотите ли вы связать форму с набором записей? Если это так, см. http://support.microsoft.com/kb/281998.

Желаете ли вы использовать представление SQL Server для источника записи? Вы можете связать это: http://office.microsoft.com/en-us/access-help/import-or-link-to-sql-server-data-HA010200494.aspx

Вы хотите установить в качестве источника записи строку SQL? Вы можете сделать это вручную или через VBA.

...