M_E_M_F_I_S
Дата: 30.11.2009 19:14:24
Доброго времени суток! Я снова со своим курсачом про Железнодорожные билеты:) Проблема такого плана. В базе реализована покупка пользователем билета на поезд, за 3 шага. 1 шаг - Ввод данных пользователя (форма: ФИО, паспорт... все добавляется в таблицу после перехода к шагу 2).
2 шаг - выбор поезда на котором ехать. Имеется форма, в ней несколько Полей со Списком:
Станция отправления, станция прибытия, после этого у меня через запросы определяется какие поезда проходят через данные маршруты и в списке "Поезд" можно выбрать любой (если их несколько).
Проблема такая: если сначала выполнить шаг 1, после этого перейти к шагу 2, то в полях станций отправления и прибытия ничего не выбирается! То есть список выпадает, но выбрать станцию нельзя:( Если просто так на форму зайти - то нужно зайти в конструктор, нажать "Save", вернуть прежний режим и только тогда заработает! Поля берут значения из таблицы, в ней записи постоянно находятся.
А вот вторая проблема: у меня после выбора станции назначения стоит макрос, он запускает запрос, кот-рый добавляет эти станции в табличку "Станции". На основе этой таблички следующий запрос анализирует, какие поезда проходят через эти станции. И потом результат заносит в другую табл. Назовём её "Поезда". И из этой таблицы получается ПолеСоСписком, которое в форме (чтобы выбрать поезд на котором ехать:) ) Так вот, если я ошибся со станцией, ну или перехотел ехать вдруг в Пекин, и решил махнуть в Сочи, то естесственно выбираю станции заново. Табличка с выбором поезда обнуляется, но в форме, при нажатии на список - выпадает заместо названий станций #удалено - столько раз, сколько было записей до удаления. Если же зайти в конструктор, сохранить, снова выйти в режим формы - все работает и выдает правильные поезда.... Прям заколдованный круг! У кого какие идеи?:)
ё
Дата: 01.12.2009 18:44:54
M_E_M_F_I_S |
... Но вот когда переходишь с предыдущей формы на эту - все-равно не выбираются никакие значения:( почему так...? |
это вы об этом?
M_E_M_F_I_S |
Проблема такая: если сначала выполнить шаг 1, после этого перейти к шагу 2, то в полях станций отправления и прибытия ничего не выбирается! То есть список выпадает, но выбрать станцию нельзя:( Если просто так на форму зайти - то нужно зайти в конструктор, нажать "Save", вернуть прежний режим и только тогда заработает! Поля берут значения из таблицы, в ней записи постоянно находятся. |
а как выглядит переход от шаг 1 к шаг 2?
шаг 2 - я так понимаю - это другая форма? ни та что на шаг 1
как вы её открываете?
...недумаю конечно что с параметром acFormReadOnly - но вдруг..."нельзя выбрать" - в смысле, - данные в полях со списком есть, но невыбираются, так?
оптимально было б, что б вы выложили базу
только НЕ 2007 формате, пжлст
M_E_M_F_I_S
Дата: 01.12.2009 19:11:58
ё, Шаг1 и Шаг2 - это условные обозначения:) То есть на самом деле это формы:) Шаг1 - форма для ввода данных о пользователе - эти введенные данные добавляются в Архивную таблицу (чтобы видеть кто покупал билет и когда) и в таблицу "Билет". После ввода данных, щёлкаем по кнопке (к которой привязан макрос на добавление введённых данных в таблицы, закрытие формы и открытие формы Шаг2). Шаг2 - форма для выбора данных о поезде. Там в выпадающих списках "Откуда" и "Куда" - данные из таблицы Станции. После того как "Откуда" и "Куда" выбраны - высчитываются маршруты, проходящие через эти станции. (вернее после того как выбрано "Куда" - там привязан макрос на открытие запроса, который запускает расчет маршрутов.) После всех процедур мы выбираем подходящий поезд. Когда просто открываешь эту форму - все работает нормально! Но когда сначала делаешь первый шаг, а потом переходишь к этому - список выпадает, но при нажатии на какую-либо станцию ничего не происходит!:( Помогает только последовательность действий: включить режим "Конструктор", сохранить базу данных и переключиться снова в режим формы.
ё
Дата: 01.12.2009 19:20:47
автор |
После ввода данных, щёлкаем по кнопке (к которой привязан макрос на добавление введённых данных в таблицы, закрытие формы и открытие формы Шаг2 |
макрос - это объект БД "макрос"?
вот в эту макрокоманду - "открытие формы Шаг2", надо бы увидеть...
выделите этот макрос в окне БД
меню Сервис - Макросы - Преобразовать макросы (это правда всё для НЕ 2007, вдруг что - поищите)
будет создан модуль с названием Преобразованный <Имя макроса>
вот покажите код этого модуля