Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопросы от новичка. SOS! Связывание таблиц 
:(
    Опции темы
DONA
Дата 27.4.2007, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 27.4.2007

Репутация: нет
Всего: нет



Здравствуйте! Я абсолютный новичок в работе с ACCESS. Но на новой работе приходится этим заниматься. Вся надежда на вашу помощь!

Не могу разобраться со следующим запросом. Он уже создан. Я пытаюсь его понять.
Есть две таблицы: DELO и EDV.  У них есть общее поле NOM. В таб. DELO поле NOM заполнено, в таб.EDV в этом поле есть пропуски.

DELO                                                               EDV

NOM | FAMILY |                                               NOM | SUM |
1        A                                                           1       15
2        AB                                                         2       20
3       ABC                                                                 23
4      ABCD                                                      4        10
5      KONF                                                                 16
6      POY                                                         6        39
......                                                                 ..........

Надо найти записи в EDV c пропущенным полем NOM.

Запрос выглядит так:

NOM | FAMILY | NOM | SUM
DELO|  DELO  |   EDV|

  v           v       Is Null    v

При этом связь между таблицами организована  по полю NOM, как: объединение всех записей из DELO и только тех из EDV, в которых связанные поля совпадают.

Результат запроса: выводятся записи с номерами 3 и 5

3       ABC      23
5      KON      16

Я не понимаю, как получается, что мы связываем одинаковые поля, а на экран выводятся именно несвязанные, пропущенные в EDV поля?

Заранее благодарю.

PM MAIL   Вверх
ТоляМБА
Дата 27.4.2007, 12:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

Репутация: 3
Всего: 252



Цитата(DONA @  27.4.2007,  12:22 Найти цитируемый пост)
Запрос выглядит так:

NOM | FAMILY | NOM | SUM
DELO|  DELO  |   EDV|

  v           v       Is Null    v
Нифига это не запрос! Зайди в "Вид" выбери "Режим SQL" и уже этот код запроса в студию!
PM   Вверх
dionisiu
Дата 3.5.2007, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 13.5.2006
Где: Крым

Репутация: 1
Всего: 2



во-первых  - 
Цитата(DONA @  27.4.2007,  12:22 Найти цитируемый пост)
несвязанные, пропущенные в EDV поля

выводятся потому, что Вы (или тот, кто сделат базу) задал(и) условие Is Null, то есть ограничили выводимые записи теми, в которых в поле NOM таблицы EDV сидит значение Null (то есть "пусто", "ничего"...)

Во-вторых - воспользуйтесь старой методой (сам пользуюсь и Вам советую) - напишите Вашу задачу, как учили в школе:
Имеем ....., Требуемый результат ...... (конкретно к Вашему топику - начните наоборот: 1.Что нужно получить? 2. Что имеем?)

Вот вариант:
1.Что нужно получить? Понимание логики выражений SQL на базе конкретного примера
2.Что имеем? запрос, таблицы, встроенную справку (знатоки утверждают, что лучше иметь Акцесс 97 или хоть хелп от него - он по-русски в отличие от последующих версий). Так же имеем доступ к интернету и логин пользователя Vingrad-а  smile (это покруче справки на русском, хотя и обругать могут)

В-третьих - при чётко поставленных условиях задачи и конкретно заданном вопросе нужно выстроить способ решения (конкретно в Вашем случае примерно так):
3. Решение: на панели инструментов конструктора запросов (судя по Вашей попытке изобразить запрос Вы умеете его открывать) ищем кнопку слева (такая табличка там нарисована, а рядом стрелочка). Если нажать на эту кнопку - появится запрос в виде таблицы, а кнопка сменит рисунок на такой треугольник синего (если монитор не врёт) цвета. Повторное нажатие приведёт к возврату в режим конструктора запросов.
НО. Вспомните о стрелочке и нажмите именно на неё - откроется список режимов просмотра запроса, из них выверите SQL - откроется бланк типа Блокнота, а там будут примерно такие слова SELECT...FROM...JOIN...WHERE ..... и даже может быть ORDER....GROUP...HAVING....
Вот этот текст и будет текстом запроса, а не тот Ваш рисунок с галочками (хотя за настойчивость в отображении Вам +1)

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

PM MAIL ICQ   Вверх
DONA
Дата 4.5.2007, 08:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 27.4.2007

Репутация: нет
Всего: нет



dionisiu

Cпасибо огромное за полный ответ и поддержку!
 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0837 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.