Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Народ как обновить форму в Acces 2003
 
 автор: Usik   (20.11.2007 в 16:34)   личное сообщение
 
 

В общем ситуация такая:

Есть таблица команды (название команды-ключевое поле,ФИО тренера,родной стадион)
и есть таблица Игроки (Название команды-внешний ключ , ФИО игроков ,Амплуа).

Создал форму для заполнения таблицы "команды" и для заполнения таблицы "игроки". Для удобства в форме для заполнения таблицы игроков сделал выпадающий список команд. Выбираю из этого списка нужное мне название и заполняю форму.


Но когда меняю название команды форма не обновляется и я вношу данные об игроках в старую команду.Как сделать чтобы при выборе из списка команды форма "игроки"
обновилясь и я мог вводить данные для соответствующей команды

  Ответить  
 
 автор: час   (20.11.2007 в 16:38)   личное сообщение
 
 

Попробуй в событии поля после обновления написатьMe.refresh/

  Ответить  
 
 автор: Usik   (20.11.2007 в 16:45)   личное сообщение
 
 

Сделал следующее: выбрал поле со списком ,в событие AfterUpdate() написал Me.refresh но что-то не хрена не происходит.

  Ответить  
 
 автор: час   (20.11.2007 в 16:48)   личное сообщение
 
 

Ни хрена на на на.
А поле со списком в глвной форме?
намиши тода не ми а название того кто должен обновиться.

  Ответить  
 
 автор: Usik   (20.11.2007 в 16:59)   личное сообщение
 
 

Поле со списком на форме Команды. Я написал на событие списка AfterUpDate()
Команды.Refresh и ничего не происходит

  Ответить  
 
 автор: час   (20.11.2007 в 17:03)   личное сообщение
 
 

а ты можешь сюда послать что там где в виде файла *.mdb ?

  Ответить  
 
 автор: Usik   (20.11.2007 в 17:06)   личное сообщение
 
 

Тебе Acces-файл с базой прислать?

  Ответить  
 
 автор: час   (20.11.2007 в 17:08)   личное сообщение
 
 

можно без баы тока форму и пустые две таблицы.
команды" и "игроки".

  Ответить  
 
 автор: Usik   (20.11.2007 в 17:15)   личное сообщение
 
 

Я отослал всю базу так не знаю как отдельно оперировать с файлами форм и таблиц .

Отослал на www.slil.ru название Kursovik.mdb я хоть туда его отослал?

  Ответить  
 
 автор: osmor   (20.11.2007 в 17:12)   личное сообщение
 
 

me.requery

  Ответить  
 
 автор: Usik   (20.11.2007 в 17:21)   личное сообщение
 
 

Private Полесоспсиком10_AfterUpdate()
Me.Requery
End Sub

Это все написано для формы. Что имею: заполняю форму для команды "Зенит" , меняю название через список(выбрал ЦСКА) и вместо того чтобы в поле ФИО появился ,например Жирков, Аршавин упорно стоит в поле Фио при выбранном из списка значении команды ЦСКА

  Ответить  
 
 автор: osmor   (20.11.2007 в 17:33)   личное сообщение
 
 

в условии Where источника данныех для формы должна быть ссылка на полеСоСписком кроманд
примерно так:

Select * from [Состав] where idКоманды = [Forms].[НазваниеФОрмы].[Полесоспсиком10]

  Ответить  
 
 автор: Usik   (20.11.2007 в 17:38)   личное сообщение
 
 

Я что-то условие Where для источника данных найти не могу не подскажешь где его взять и куда все это писать

  Ответить  
 
 автор: osmor   (20.11.2007 в 17:41)   личное сообщение
 
 

у формы есть свойство "источник записей" там у Вас прописана таблица, нужно перейти в контруктор запросов и поправить его так что бы было условие

  Ответить  
 
 автор: Usik   (20.11.2007 в 17:54)   личное сообщение
 
 

Нажал на форму правой кнопкой , выбрал свойства , не нашел "источник записей
Перешел в конструктор формы "Игроки" шелкнул по месту на форме где нет объектов , нажал свойства перешелкал все вкладки - не нашел "Источник записей".

Можно по подробнее объяснить как до него добраться до этого свойства "источник записей"

  Ответить  
 
 автор: osmor   (20.11.2007 в 18:27)   личное сообщение
14 Кб.
 
 

в конструкторе форм, открываете окно свойств формы, там на закладке "Данные" свойство
"Источник записей"

  Ответить  
 
 автор: Usik   (20.11.2007 в 18:44)   личное сообщение
24 Кб.
 
 

Нашел наконец-то , появляется какая - то форма я прикрпеил ее здесь и куда там что писать?

  Ответить  
 
 автор: osmor   (20.11.2007 в 18:53)   личное сообщение
 
 

упакуйте свою базу, если получится меньше 50 КГ положите сюда, если больше пришлите мне почтой

  Ответить  
 
 автор: Usik   (20.11.2007 в 19:02)   личное сообщение
41 Кб.
 
 

Прикрепил

  Ответить  
 
 автор: osmor   (20.11.2007 в 19:06)   личное сообщение
 
 

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

  Ответить  
 
 автор: Usik   (20.11.2007 в 19:20)   личное сообщение
 
 

Если ввести несколько команд и несколько игроков в каждую команду , а потом зайти в форму "Игроки" и поменять название команды в списке то преключения на другую команду не будет . Т.е. в команде "Зенит " есть игрок Аршавин А.А. ,а в ЦСКА Жирков Юрий. Допустим по умолчанию в форме "Игроки" в выпадающем списке стоит команда Зенит и как результат я вижу информацию об Аршавине, но если я поменяю название команды через выпадающий список , например выберу ЦСКА , то не произойдет перехода к таблице игроков ЦСКА , а в полях информации об игроках останется информация об Аршавине (его Фио , амплуа и т.д) хотя
выбрана другая команда. Я же хочу чтобы заполняя информацию например о Зените при выборе из списка другой команды(ЦСКА) произошел бы переход к игрокам команды например ЦСКА и я бы увидел информацию не об игроках Зенита а об игроках ЦСКА например о Жиркове есле он был в ЦСКА.

  Ответить  
 
 автор: osmor   (20.11.2007 в 19:46)   личное сообщение
 
 

Форма "Игроки" простая форма для редактирования, а ней нет никакой фильтрации.
Когда вы изменяет значение поля со списком, то происходит то что и должно поисходить, у текущего игрока меняется команда, т.е. если был выбран Аршавин, а Вы поменяли значение поля со списком с Зенита на ЦСКА, то Аршавин теперь будет числиться в ЦСКА. (интересно хорошо это или плохо...)
Добавлено:
Еще вопрос
"Командный номер" - это что? это номер под которым игрок играет? ТОгда нельзя его в качестве ключа использовать. Разве не может быть в разных командах игроков с одинаковыми номерами?

  Ответить  
 
 автор: Usik   (20.11.2007 в 20:04)   личное сообщение
 
 

А как сделать чтобы все таки можно было переходить к игрокам разных команд путем выбора команды из списка. Что и где нужно написать или нужно подругому разработку вести?Но необходимо оставить такой интерфейс

  Ответить  
 
 автор: Usik   (20.11.2007 в 20:08)   личное сообщение
 
 

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

  Ответить  
 
 автор: osmor   (20.11.2007 в 20:11)   личное сообщение
 
 

в таблице "Игроки" находятся игроки ВСЕХ команд? Следовательно в ней могут оказаться игроки с одинаковым номером. Если Вы это поле сделаете ключевым, то двух игроков содинаковым номером Вы завести в таблицу не сможете. Попробуйте.

  Ответить  
 
 автор: Usik   (20.11.2007 в 20:18)   личное сообщение
 
 

На счет ключей понятно а теперь к предыдущему сообщению напоминаю

А как сделать чтобы все таки можно было переходить к игрокам разных команд путем выбора команды из списка. Что и где нужно написать или нужно подругому разработку вести?Но необходимо оставить такой интерфейс

  Ответить  
 
 автор: osmor   (20.11.2007 в 20:24)   личное сообщение
41 Кб.
 
 

Вариантов много, ну например так.
Вообще я бы сделал немного жругую структуру таблиц... но оставил Вашу, поправил только то что было НЕОБХОДИМО.
(это не идеал, но все же...)
форма frmMain
при переходе по списку слева отображаются игроки выбранной команды
при двойном клике по фамилии игрока открывается форма для редактирования игрока
при двойном клике по названию команды открывается форма для редактирования команды
Добавление игрока в команду возможно прямо в это форме

  Ответить  
 
 автор: Usik   (20.11.2007 в 20:36)   личное сообщение
 
 

Большое спасибо .А можно в кратце как создавать форму типа frmmain, а то меня спросят и кирдык.

  Ответить  
 
 автор: osmor   (20.11.2007 в 21:39)   личное сообщение
 
 

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. Сохраняем форму

  Ответить  
 
 автор: Usik   (20.11.2007 в 22:09)   личное сообщение
 
 

СПАСИБО ВАМ(ТЕБЕ) ОГРОМНОЕ !!!!!! Если вы(ты) будете завтра на этом форуме я задам еще парочку вопросов.

  Ответить  
 
 автор: osmor   (20.11.2007 в 23:00)   личное сообщение
 
 

Спасибо что предупредили. А то так зайдешь на форум... а тебя тут уже поджидают.

  Ответить  
 
 автор: час   (21.11.2007 в 09:44)   личное сообщение
 
 

Ну вот всё проспал....

  Ответить  
 
 автор: Кукамака   (21.11.2007 в 10:59)   личное сообщение
 
 

ЧЕЛОВЕК!

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList