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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [MS Access] вопрос по запросам 
:(
    Опции темы
4YBAK
Дата 26.10.2011, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Есть таблица работники.
Там поля: ФИО Должность
Например там такая строка есть:
чувак инженер

И еще таблица Оклады
В ней поля Должность Оклад
К примеру, строки в ней такие:
Сантехник 20000
Слесарь 25000
Токарь 22000
инженер 30000

какой запрос надо сделать, чтоб отобразить у каждой записи из таблицы работники соответствующей должности оклад?
разжуйте плиз все подробно, куда надо нажать в аксессе 07, штоб было щастье. (увы, функции "получить щастье" в данной программе нет :()




Это сообщение отредактировал(а) 4YBAK - 26.10.2011, 20:06
PM MAIL   Вверх
Akina
Дата 26.10.2011, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


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

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



Для домашних заданий, курсовых и вопросов типа "Сделайте за меня" существует раздел "Центр Помощи".

Тема перенесена.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
4YBAK
Дата 27.10.2011, 10:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Akina @ 26.10.2011,  20:09)
Для домашних заданий, курсовых и вопросов типа "Сделайте за меня" существует раздел "Центр Помощи".

Тема перенесена.

это не курсовик.
это попытка понять хоть што-то в БД.
че, никто не подскажет?

PM MAIL   Вверх
Woodlin
Дата 27.10.2011, 10:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

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



4YBAK, я бы сделал так:
в таблице Оклады создал поле, к примеру КодОклады, тип данных счетчик, сделал его индексированным (индексированное поле - Да (Совпадения не допускаются)). Забегая вперёд, как я думаю, одной должности и окладу может соответствовать несколько работников.

Далее в таблице Работники создаём поле, например как я делаю для связи таблиц ОкладыКод. Тип данных числовой, размер длинное целое (такой размер поля делается для связи с полем, у которого тип данных счетчик), индексированное поле - Да (Допускаются совпадения), как я уже писАл одной должности и окладу может соответствовать несколько работников и возможны повторения значений поля ОкладыКод.

В схеме данных отображаем эти две таблицы, создаёшь между ними связь, связь должна быть один ко многим.

Потом создаёшь запрос. В конструкторе запроса отображаешь эти две таблицы, между ними уже должна быть связь. Закидываешь в поля запроса поля таблиц, которые тебе нужны... и вот оно щастье.
PM MAIL ICQ   Вверх
4YBAK
Дата 6.11.2011, 01:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Woodlin @ 27.10.2011,  10:40)
4YBAK, я бы сделал так:
в таблице Оклады создал поле, к примеру КодОклады, тип данных счетчик, сделал его индексированным (индексированное поле - Да (Совпадения не допускаются)). Забегая вперёд, как я думаю, одной должности и окладу может соответствовать несколько работников.

Далее в таблице Работники создаём поле, например как я делаю для связи таблиц ОкладыКод. Тип данных числовой, размер длинное целое (такой размер поля делается для связи с полем, у которого тип данных счетчик), индексированное поле - Да (Допускаются совпадения), как я уже писАл одной должности и окладу может соответствовать несколько работников и возможны повторения значений поля ОкладыКод.

В схеме данных отображаем эти две таблицы, создаёшь между ними связь, связь должна быть один ко многим.

Потом создаёшь запрос. В конструкторе запроса отображаешь эти две таблицы, между ними уже должна быть связь. Закидываешь в поля запроса поля таблиц, которые тебе нужны... и вот оно щастье.

ничего не понял по поводу связей... для чего они нужны?
у меня методом научного тыка в конструкторе получился такой запрос:

SELECT рабы.*, оклады.оклад
FROM рабы, оклады
WHERE ((([рабы]![профа])=[оклады]![должность]))
ORDER BY рабы.Код;

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


PM MAIL   Вверх
Woodlin
Дата 6.11.2011, 13:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

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



Цитата(4YBAK @  6.11.2011,  04:13 Найти цитируемый пост)
на схеме данных поле должность из таблицы оклады связано с полем профа из таблицы рабы. причем если посмотреть свойства этой связи, то у нее тип отношения "не определено". Что это значит?

Скорее всего одно из связанных полей, или оба не индексированы.

Цитата(4YBAK @  6.11.2011,  04:13 Найти цитируемый пост)
у меня методом научного тыка в конструкторе получился такой запрос:

SELECT рабы.*, оклады.оклад
FROM рабы, оклады
WHERE ((([рабы]![профа])=[оклады]![должность]))
ORDER BY рабы.Код;

все работает.

Вы просто руками прописали условие отбора записей ( WHERE ((([рабы]![профа])=[оклады]![должность])) ) поэтому и работает как надо. А если бы были установлены связи таблиц, то запрос бы отбирал записи автоматом, кстати можно устанавливать связи в запросе (в схеме данных не отобразится, действует только для текущего запроса).
А вообще я в двух словах не смогу написать для чего нужно устанавливать связи между таблицами, лучше почитайте.
PM MAIL ICQ   Вверх
4YBAK
Дата 6.11.2011, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Woodlin @  6.11.2011,  13:16 Найти цитируемый пост)
А если бы были установлены связи таблиц, то запрос бы отбирал записи автоматом


Цитата(Woodlin @  6.11.2011,  13:16 Найти цитируемый пост)
А вообще я в двух словах не смогу написать для чего нужно устанавливать связи между таблицами, лучше почитайте.

подскажите пж-та толковую статейку по данной теме

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


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

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



Цитата(4YBAK @  6.11.2011,  16:51 Найти цитируемый пост)
подскажите пж-та толковую статейку по данной теме

Я книгу покупал, а вообще воспользуйтесь поисковиком, забейте "Связи таблиц в Access" и читайте.
PM MAIL ICQ   Вверх
4YBAK
Дата 7.11.2011, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Цитата(Woodlin @ 7.11.2011,  08:17)
Цитата(4YBAK @  6.11.2011,  16:51 Найти цитируемый пост)
подскажите пж-та толковую статейку по данной теме

Я книгу покупал, а вообще воспользуйтесь поисковиком, забейте "Связи таблиц в Access" и читайте.

я тоже, и не одну.
назовите книгу и афтора
а так же если можно толковую статью в инете. в яндексе вылезает убогий мусор по данному запросу.


Это сообщение отредактировал(а) 4YBAK - 7.11.2011, 18:53
PM MAIL   Вверх
Woodlin
Дата 8.11.2011, 05:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

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



Цитата(4YBAK @  7.11.2011,  21:51 Найти цитируемый пост)
назовите книгу и афтора

Access 2002. Библия пользователя, Керри Н. Праг, Майкл Р. Ирвин
моя первая книжка, покупал в магазине, в комплект входит диск с примером базы данных и другими полезностями.
PM MAIL ICQ   Вверх
4YBAK
Дата 9.11.2011, 19:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



спасибо! книгу обязательно прочту.

друзья, помогите пожалуйста.
запрос-то работает. но вот конкретная задача не выполняется.
выкладываю БД. Убрал из нее все связи и все ключевые поля.
Большая просьба, проставьте их. И выложите сюда ваш вариант базы.
Нужно чтоб на форме для каждого работника в зависимости от должности проставлялся оклад из таблицы оклады.
Для вас пять минут, для меня хоть какое-то понимание баз. Гуглил очень много, помогите плиз.


Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  _____________.rar 28,97 Kb
PM MAIL   Вверх
Woodlin
Дата 10.11.2011, 07:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

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



4YBAK, у меня Access 2003, Ваш пример открыть не могу.
Прилагаю свой
смотрите запрос1

Это сообщение отредактировал(а) Woodlin - 10.11.2011, 13:27

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  db1.rar 9,02 Kb
PM MAIL ICQ   Вверх
4YBAK
Дата 10.11.2011, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Woodlin, спасибо!

На базе вашей работы я наконец сделал то, что мне нужно.
Удалось сделать форму на базе запроса.
Посмотреть можно в прикрепленном файле, может кому пригодится.
В файле 2 версии: для access 2007 и для более ранних.

Добавлено через 14 минут и 9 секунд
По сути все просто. Обычная экселевская функция ВПР. 
С ее помощью и еще нескольких, я в экселе творю чудеса (увы, чудеса пока для дяди)
А в акСексе приходица долго трахаца, штоб сделать то, что в экселе делается за 1 минуту.
Может, есть какая-то программа, которая анализирует функции экселя и на их основе создает базу со связями в акСексе?
Я акСекс начал изучать только потому, что во фрилансе полно проектов на эту тему...


Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  1.rar 73,24 Kb
PM MAIL   Вверх
4YBAK
Дата 10.11.2011, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



и такой вопрос:
можно ли обнулить щечик записей?
у меня в таблице почему-то он начался с цифры 2. а надо чтоб с цифры 1

PM MAIL   Вверх
Woodlin
Дата 10.11.2011, 20:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 188
Регистрация: 15.7.2009
Где: Челябинская облас ть, г. Пласт

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



Цитата(4YBAK @  10.11.2011,  19:25 Найти цитируемый пост)
можно ли обнулить щечик записей?

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

По поводу обнуления счетчика, это можно делать когда таблица ни коим образом не участвует в связях с другими таблицами, и проще всего это сделать удалив (в режиме конструктора таблицы) поле Счетчик, а потом его снова добавить. Иначе произойдёт путаница, небольшой пример; в таблице Оклады (Счетчик=3 - к примеру сантехник, Счетчик=4 - инженер) удалили запись у которой Счетчик=3 (типа должность сантехник сократили), получается нарушен порядок нумерации (после 2 сразу идет 4). Если каким либо способом порядок следования значений Счетчика восстанавливаем (Счетчик = 1, 2, 3) то получаем должность у которой Счетчик был = 4 становится 3, и при построении запроса с таблицами Работники и Оклады мы получим работников - сантехников, которых запрос показал как инженеров.

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


Бывалый
*


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

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



Woodlin, спасибо!
подскажите еще такой вопросец:
есть база с инфой о людях (фио, телефон, и т.д.)
надо к ней добавить фотки людей.
Я создал поле типа "вложение" - новинка аксекса 2007 и фотки туда - все ништяк.
Но база получается большаватая по размеру.
Слышал, как-то можно хранить фото не в базе, а на компе, а в базе хранить лишь ссылку на фото.
1) какое поле нужно для хранения ссылки на рисунок, текстовое или гиперссылка?
2) кинул на форму обьект Рисунок. Что нужно нажать, чтобы для каждого человека загружалась его фотка, считывая ссылку из пункта1?
3) кинул кнопку на форму. что написать в обработчике клика на кнопку, чтобы открывалось окно для загрузки новой фотки и чтоб путь загруженной фотки записывался в поле из пункта1

меня уже посылали в Борей. Ну честно, не могу понять как оно там работает
Помогите пожалуйста! Может набросаете простейший примерчик из пары полей и рисунка?

PM MAIL   Вверх
4YBAK
Дата 11.11.2011, 15:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



del

Это сообщение отредактировал(а) 4YBAK - 11.11.2011, 15:06
PM MAIL   Вверх
4YBAK
Дата 17.11.2011, 01:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



а как умеьншить размер формы, созданной в мастере форм?
там за край не зацепить, она на весь экран. и свойство ширина не редактируется

Это сообщение отредактировал(а) 4YBAK - 17.11.2011, 01:46
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Центр помощи"

ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Несоблюдение правил может повлечь за собой самые строгие меры от закрытия/удаления темы до бана пользователя!


  • Название темы должно отражать её суть! (Не следует добавлять туда слова "помогите", "срочно" и т.п.)
  • При создании темы, первым делом в квадратных скобках укажите область, из которой исходит вопрос (язык, дисциплина, диплом). Пример: [C++].
  • В названии темы не нужно указывать происхождение задачи (например "школьная задача", "задача из учебника" и т.п.), не нужно указывать ее сложность ("простая задача", "легкий вопрос" и т.п.). Все это можно писать в тексте самой задачи.
  • Если Вы ошиблись при вводе названия темы, отправьте письмо любому из модераторов раздела (через личные сообщения или report).
  • Для подсветки кода пользуйтесь тегами [code][/code] (выделяйте код и нажимаете на кнопку "Код"). Не забывайте выбирать при этом соответствующий язык.
  • Помните: один топик - один вопрос!
  • В данном разделе запрещено поднимать темы, т.е. при отсутствии ответов на Ваш вопрос добавлять новые ответы к теме, тем самым поднимая тему на верх списка.
  • Если вы хотите, чтобы вашу проблему решили при помощи определенного алгоритма, то не забудьте описать его!
  • Если вопрос решён, то воспользуйтесь ссылкой "Пометить как решённый", которая находится под кнопками создания темы или специальным флажком при ответе.

Более подробно с правилами данного раздела Вы можете ознакомится в этой теме.

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

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


 




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


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

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