|
|
|
| В общем ситуация такая:
Есть таблица команды (название команды-ключевое поле,ФИО тренера,родной стадион)
и есть таблица Игроки (Название команды-внешний ключ , ФИО игроков ,Амплуа).
Создал форму для заполнения таблицы "команды" и для заполнения таблицы "игроки". Для удобства в форме для заполнения таблицы игроков сделал выпадающий список команд. Выбираю из этого списка нужное мне название и заполняю форму.
Но когда меняю название команды форма не обновляется и я вношу данные об игроках в старую команду.Как сделать чтобы при выборе из списка команды форма "игроки"
обновилясь и я мог вводить данные для соответствующей команды | |
|
| |
|
|
|
| Попробуй в событии поля после обновления написатьMe.refresh/ | |
|
| |
|
|
|
| Сделал следующее: выбрал поле со списком ,в событие AfterUpdate() написал Me.refresh но что-то не хрена не происходит. | |
|
| |
|
|
|
| Ни хрена на на на.
А поле со списком в глвной форме?
намиши тода не ми а название того кто должен обновиться. | |
|
| |
|
|
|
| Поле со списком на форме Команды. Я написал на событие списка AfterUpDate()
Команды.Refresh и ничего не происходит | |
|
| |
|
|
|
| а ты можешь сюда послать что там где в виде файла *.mdb ? | |
|
| |
|
|
|
| Тебе Acces-файл с базой прислать? | |
|
| |
|
|
|
| можно без баы тока форму и пустые две таблицы.
команды" и "игроки". | |
|
| |
|
|
|
| Я отослал всю базу так не знаю как отдельно оперировать с файлами форм и таблиц .
Отослал на www.slil.ru название Kursovik.mdb я хоть туда его отослал? | |
|
| |
|
|
|
|
| Private Полесоспсиком10_AfterUpdate()
Me.Requery
End Sub
Это все написано для формы. Что имею: заполняю форму для команды "Зенит" , меняю название через список(выбрал ЦСКА) и вместо того чтобы в поле ФИО появился ,например Жирков, Аршавин упорно стоит в поле Фио при выбранном из списка значении команды ЦСКА | |
|
| |
|
|
|
| в условии Where источника данныех для формы должна быть ссылка на полеСоСписком кроманд
примерно так:
Select * from [Состав] where idКоманды = [Forms].[НазваниеФОрмы].[Полесоспсиком10]
|
| |
|
| |
|
|
|
| Я что-то условие Where для источника данных найти не могу не подскажешь где его взять и куда все это писать | |
|
| |
|
|
|
| у формы есть свойство "источник записей" там у Вас прописана таблица, нужно перейти в контруктор запросов и поправить его так что бы было условие | |
|
| |
|
|
|
| Нажал на форму правой кнопкой , выбрал свойства , не нашел "источник записей
Перешел в конструктор формы "Игроки" шелкнул по месту на форме где нет объектов , нажал свойства перешелкал все вкладки - не нашел "Источник записей".
Можно по подробнее объяснить как до него добраться до этого свойства "источник записей" | |
|
| |
|
14 Кб. |
|
| в конструкторе форм, открываете окно свойств формы, там на закладке "Данные" свойство
"Источник записей" | |
|
| |
|
24 Кб. |
|
| Нашел наконец-то , появляется какая - то форма я прикрпеил ее здесь и куда там что писать? | |
|
| |
|
|
|
| упакуйте свою базу, если получится меньше 50 КГ положите сюда, если больше пришлите мне почтой | |
|
| |
|
41 Кб. |
|
| Прикрепил | |
|
| |
|
|
|
| у вас же все совсем не так как вы описали...
если открыть форму "игроки" и там вводить данные по игроку, то все сохраняется и работает...
никакого отбора там нигде нет.... объясните | |
|
| |
|
|
|
| Если ввести несколько команд и несколько игроков в каждую команду , а потом зайти в форму "Игроки" и поменять название команды в списке то преключения на другую команду не будет . Т.е. в команде "Зенит " есть игрок Аршавин А.А. ,а в ЦСКА Жирков Юрий. Допустим по умолчанию в форме "Игроки" в выпадающем списке стоит команда Зенит и как результат я вижу информацию об Аршавине, но если я поменяю название команды через выпадающий список , например выберу ЦСКА , то не произойдет перехода к таблице игроков ЦСКА , а в полях информации об игроках останется информация об Аршавине (его Фио , амплуа и т.д) хотя
выбрана другая команда. Я же хочу чтобы заполняя информацию например о Зените при выборе из списка другой команды(ЦСКА) произошел бы переход к игрокам команды например ЦСКА и я бы увидел информацию не об игроках Зенита а об игроках ЦСКА например о Жиркове есле он был в ЦСКА. | |
|
| |
|
|
|
| Форма "Игроки" простая форма для редактирования, а ней нет никакой фильтрации.
Когда вы изменяет значение поля со списком, то происходит то что и должно поисходить, у текущего игрока меняется команда, т.е. если был выбран Аршавин, а Вы поменяли значение поля со списком с Зенита на ЦСКА, то Аршавин теперь будет числиться в ЦСКА. (интересно хорошо это или плохо...)
Добавлено:
Еще вопрос
"Командный номер" - это что? это номер под которым игрок играет? ТОгда нельзя его в качестве ключа использовать. Разве не может быть в разных командах игроков с одинаковыми номерами? | |
|
| |
|
|
|
| А как сделать чтобы все таки можно было переходить к игрокам разных команд путем выбора команды из списка. Что и где нужно написать или нужно подругому разработку вести?Но необходимо оставить такой интерфейс | |
|
| |
|
|
|
| На счет ключей: мне в универе сказали что так можно сделать , ведь в команде не может быть игроков с одним номером , а причем здесь игроки из других команд я не допонял | |
|
| |
|
|
|
| в таблице "Игроки" находятся игроки ВСЕХ команд? Следовательно в ней могут оказаться игроки с одинаковым номером. Если Вы это поле сделаете ключевым, то двух игроков содинаковым номером Вы завести в таблицу не сможете. Попробуйте. | |
|
| |
|
|
|
| На счет ключей понятно а теперь к предыдущему сообщению напоминаю
А как сделать чтобы все таки можно было переходить к игрокам разных команд путем выбора команды из списка. Что и где нужно написать или нужно подругому разработку вести?Но необходимо оставить такой интерфейс | |
|
| |
|
41 Кб. |
|
| Вариантов много, ну например так.
Вообще я бы сделал немного жругую структуру таблиц... но оставил Вашу, поправил только то что было НЕОБХОДИМО.
(это не идеал, но все же...)
форма frmMain
при переходе по списку слева отображаются игроки выбранной команды
при двойном клике по фамилии игрока открывается форма для редактирования игрока
при двойном клике по названию команды открывается форма для редактирования команды
Добавление игрока в команду возможно прямо в это форме | |
|
| |
|
|
|
| Большое спасибо .А можно в кратце как создавать форму типа frmmain, а то меня спросят и кирдык. | |
|
| |
|
|
|
| 1. мастрером создаем таблицнйю форму по таблице "Игроки" (у меня называется subfPlayers), сохраним и пока про нее забудем
2. создается свободная форма, без источника данных
3.на форму кладется контрол список (делается мастером) в нем источник данных запрос с 1-м полем "Название команды и город" по таблице "Команды" У меня называется lstteams
4. Затем на этой же форме создается поле (у меня называется idTeam (оно скрытое лежит под формой с игроками)
5. в этом поле источником данных (свойство данные) указываем наш список с Командами который создали на шаге 3 т.е. примерно так: =[НазваниеКонтролаПОлеСоСписком] (в моем случае контрол называется lstTeams, по этому в поле idTeam источник данных такой : =[lstteams]. Свойство "Вывод на экран" - НЕТ
6. МАстером вставляем подчиненную форму, указав существующую форму которую мы создали на шаге 1 (subfPlayers)
7. в свойствах контрола подчиненной формы (не в свойствах самой подчиненной формы!!!! а именно в свойствах контрола который лежит в текущей форме) Указываем свойство "Подчиненные поля" равным Команда и город (это название поля по которому игроки связаны с командой).
8. в свойствах контрола подчиненной формы устанавливаем свойство "основные поля" равным idteam (это имя скрытого поля созданного на этапе 5, оно у нас содержит значение выбранное в данный момент в списке с командами)
9. в событии "двойное нажатие кнопки" списка с "Командами" lstteams выбираем "[процедура обработки событий]", и нажав кнопку с монготочием пишем следующий код:
10. DoCmd.OpenForm "Команды", acNormal, , "[Название команды и город] = '" & Me.lstTeams & "'", acFormEdit, acDialog
|
(читаем HELP по DoCmd.OpenForm)
11. в событии "двойное нажатие кнопки" поля "ФИО" повторям пункт 11. только код будет
12. DoCmd.OpenForm "Игроки", acNormal, , "[idPlayers]=" & Me.idPlayers, acFormEdit, acDialog
|
(читаем HELP по DoCmd.OpenForm)
13. Сохраняем форму | |
|
| |
|
|
|
| СПАСИБО ВАМ(ТЕБЕ) ОГРОМНОЕ !!!!!! Если вы(ты) будете завтра на этом форуме я задам еще парочку вопросов. | |
|
| |
|
|
|
|
| Ну вот всё проспал.... | |
|
| |
|
|
|
| ЧЕЛОВЕК! | |
|
| |