![]() |
|
Модераторы: Poseidon |
![]()
|
|
| 4YBAK |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2006 Репутация: нет Всего: нет |
Есть таблица работники.
Там поля: ФИО Должность Например там такая строка есть: чувак инженер И еще таблица Оклады В ней поля Должность Оклад К примеру, строки в ней такие: Сантехник 20000 Слесарь 25000 Токарь 22000 инженер 30000 какой запрос надо сделать, чтоб отобразить у каждой записи из таблицы работники соответствующей должности оклад? разжуйте плиз все подробно, куда надо нажать в аксессе 07, штоб было щастье. (увы, функции "получить щастье" в данной программе нет :() Это сообщение отредактировал(а) 4YBAK - 26.10.2011, 20:06 |
|||
|
||||
| Akina |
|
|||
|
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 17 Всего: 454 |
Для домашних заданий, курсовых и вопросов типа "Сделайте за меня" существует раздел "Центр Помощи".
Тема перенесена. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
| 4YBAK |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2006 Репутация: нет Всего: нет |
это не курсовик. это попытка понять хоть што-то в БД. че, никто не подскажет? |
|||
|
||||
| Woodlin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 15.7.2009 Где: Челябинская облас ть, г. Пласт Репутация: нет Всего: 1 |
4YBAK, я бы сделал так:
в таблице Оклады создал поле, к примеру КодОклады, тип данных счетчик, сделал его индексированным (индексированное поле - Да (Совпадения не допускаются)). Забегая вперёд, как я думаю, одной должности и окладу может соответствовать несколько работников. Далее в таблице Работники создаём поле, например как я делаю для связи таблиц ОкладыКод. Тип данных числовой, размер длинное целое (такой размер поля делается для связи с полем, у которого тип данных счетчик), индексированное поле - Да (Допускаются совпадения), как я уже писАл одной должности и окладу может соответствовать несколько работников и возможны повторения значений поля ОкладыКод. В схеме данных отображаем эти две таблицы, создаёшь между ними связь, связь должна быть один ко многим. Потом создаёшь запрос. В конструкторе запроса отображаешь эти две таблицы, между ними уже должна быть связь. Закидываешь в поля запроса поля таблиц, которые тебе нужны... и вот оно щастье. |
|||
|
||||
| 4YBAK |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2006 Репутация: нет Всего: нет |
ничего не понял по поводу связей... для чего они нужны? у меня методом научного тыка в конструкторе получился такой запрос: SELECT рабы.*, оклады.оклад FROM рабы, оклады WHERE ((([рабы]![профа])=[оклады]![должность])) ORDER BY рабы.Код; все работает. на схеме данных поле должность из таблицы оклады связано с полем профа из таблицы рабы. причем если посмотреть свойства этой связи, то у нее тип отношения "не определено". Что это значит? |
|||
|
||||
| Woodlin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 15.7.2009 Где: Челябинская облас ть, г. Пласт Репутация: нет Всего: 1 |
Скорее всего одно из связанных полей, или оба не индексированы. Вы просто руками прописали условие отбора записей ( WHERE ((([рабы]![профа])=[оклады]![должность])) ) поэтому и работает как надо. А если бы были установлены связи таблиц, то запрос бы отбирал записи автоматом, кстати можно устанавливать связи в запросе (в схеме данных не отобразится, действует только для текущего запроса). А вообще я в двух словах не смогу написать для чего нужно устанавливать связи между таблицами, лучше почитайте. |
|||
|
||||
| 4YBAK |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2006 Репутация: нет Всего: нет |
подскажите пж-та толковую статейку по данной теме |
||||
|
|||||
| Woodlin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 15.7.2009 Где: Челябинская облас ть, г. Пласт Репутация: нет Всего: 1 |
||||
|
||||
| 4YBAK |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2006 Репутация: нет Всего: нет |
я тоже, и не одну. назовите книгу и афтора а так же если можно толковую статью в инете. в яндексе вылезает убогий мусор по данному запросу. Это сообщение отредактировал(а) 4YBAK - 7.11.2011, 18:53 |
|||
|
||||
| Woodlin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 15.7.2009 Где: Челябинская облас ть, г. Пласт Репутация: нет Всего: 1 |
Access 2002. Библия пользователя, Керри Н. Праг, Майкл Р. Ирвин моя первая книжка, покупал в магазине, в комплект входит диск с примером базы данных и другими полезностями. |
|||
|
||||
| 4YBAK |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2006 Репутация: нет Всего: нет |
спасибо! книгу обязательно прочту.
друзья, помогите пожалуйста. запрос-то работает. но вот конкретная задача не выполняется. выкладываю БД. Убрал из нее все связи и все ключевые поля. Большая просьба, проставьте их. И выложите сюда ваш вариант базы. Нужно чтоб на форме для каждого работника в зависимости от должности проставлялся оклад из таблицы оклады. Для вас пять минут, для меня хоть какое-то понимание баз. Гуглил очень много, помогите плиз. Присоединённый файл ( Кол-во скачиваний: 5 )
_____________.rar 28,97 Kb |
|||
|
||||
| Woodlin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 15.7.2009 Где: Челябинская облас ть, г. Пласт Репутация: нет Всего: 1 |
4YBAK, у меня Access 2003, Ваш пример открыть не могу.
Прилагаю свой смотрите запрос1 Это сообщение отредактировал(а) Woodlin - 10.11.2011, 13:27 Присоединённый файл ( Кол-во скачиваний: 4 )
db1.rar 9,02 Kb |
|||
|
||||
| 4YBAK |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2006 Репутация: нет Всего: нет |
Woodlin, спасибо!
На базе вашей работы я наконец сделал то, что мне нужно. Удалось сделать форму на базе запроса. Посмотреть можно в прикрепленном файле, может кому пригодится. В файле 2 версии: для access 2007 и для более ранних. Добавлено через 14 минут и 9 секунд По сути все просто. Обычная экселевская функция ВПР. С ее помощью и еще нескольких, я в экселе творю чудеса (увы, чудеса пока для дяди) А в акСексе приходица долго трахаца, штоб сделать то, что в экселе делается за 1 минуту. Может, есть какая-то программа, которая анализирует функции экселя и на их основе создает базу со связями в акСексе? Я акСекс начал изучать только потому, что во фрилансе полно проектов на эту тему... Присоединённый файл ( Кол-во скачиваний: 2 )
1.rar 73,24 Kb |
|||
|
||||
| 4YBAK |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2006 Репутация: нет Всего: нет |
и такой вопрос:
можно ли обнулить щечик записей? у меня в таблице почему-то он начался с цифры 2. а надо чтоб с цифры 1 |
|||
|
||||
| Woodlin |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 188 Регистрация: 15.7.2009 Где: Челябинская облас ть, г. Пласт Репутация: нет Всего: 1 |
Счетчик записей это рабочее поле, обеспечивающее уникальность каждой записи (две или больше записей с одинаковым значением счетчика не бывает) и обычно используется для связи с записями в других таблицах. В общем видеть пользователю это поле не обязательно. Если уж так хочется вести нумерацию записей, которую можно показать пользователю, заведите отдельное поле, и при желании можно будет в нем менять нумерацию как угодно. По поводу обнуления счетчика, это можно делать когда таблица ни коим образом не участвует в связях с другими таблицами, и проще всего это сделать удалив (в режиме конструктора таблицы) поле Счетчик, а потом его снова добавить. Иначе произойдёт путаница, небольшой пример; в таблице Оклады (Счетчик=3 - к примеру сантехник, Счетчик=4 - инженер) удалили запись у которой Счетчик=3 (типа должность сантехник сократили), получается нарушен порядок нумерации (после 2 сразу идет 4). Если каким либо способом порядок следования значений Счетчика восстанавливаем (Счетчик = 1, 2, 3) то получаем должность у которой Счетчик был = 4 становится 3, и при построении запроса с таблицами Работники и Оклады мы получим работников - сантехников, которых запрос показал как инженеров. |
|||
|
||||
| 4YBAK |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2006 Репутация: нет Всего: нет |
Woodlin, спасибо!
подскажите еще такой вопросец: есть база с инфой о людях (фио, телефон, и т.д.) надо к ней добавить фотки людей. Я создал поле типа "вложение" - новинка аксекса 2007 и фотки туда - все ништяк. Но база получается большаватая по размеру. Слышал, как-то можно хранить фото не в базе, а на компе, а в базе хранить лишь ссылку на фото. 1) какое поле нужно для хранения ссылки на рисунок, текстовое или гиперссылка? 2) кинул на форму обьект Рисунок. Что нужно нажать, чтобы для каждого человека загружалась его фотка, считывая ссылку из пункта1? 3) кинул кнопку на форму. что написать в обработчике клика на кнопку, чтобы открывалось окно для загрузки новой фотки и чтоб путь загруженной фотки записывался в поле из пункта1 меня уже посылали в Борей. Ну честно, не могу понять как оно там работает Помогите пожалуйста! Может набросаете простейший примерчик из пары полей и рисунка? |
|||
|
||||
| 4YBAK |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2006 Репутация: нет Всего: нет |
del
Это сообщение отредактировал(а) 4YBAK - 11.11.2011, 15:06 |
|||
|
||||
| 4YBAK |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 179 Регистрация: 16.1.2006 Репутация: нет Всего: нет |
а как умеьншить размер формы, созданной в мастере форм?
там за край не зацепить, она на весь экран. и свойство ширина не редактируется Это сообщение отредактировал(а) 4YBAK - 17.11.2011, 01:46 |
|||
|
||||
![]()
|
| Правила форума "Центр помощи" | |
|
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Центр помощи | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |