0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 7
1

Ошибка. отчет по условию из подчиненной формы

21.08.2013, 15:42. Показов 1255. Ответов 13
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
День добрый.
Прошу помощи в следующем.

По примеру базы Борей, создал в свой базе отчет по условию из подчиненной формы.
Нажимаю отчет Сортировка по типу, запускается форма Сортировка по типу которая выбирает значения из таблицы Тип.
После выбора значения в форме Сортировка по типу и нажатия ОК (хотя и без нажатия тоже) происходит новая запись в таблицу Тип и происходит создание отчета. Все нормально кроме записи в таблицу Тип. Так как с каждым запросом количество записей растет и соответственно в форме Сортировка по типу они тоже растут.

Базу выложил. Сильно меня не пинайте) Первый опыт.
Вложения
Тип файла: zip База данных1.zip (3.08 Мб, 13 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.08.2013, 15:42
Ответы с готовыми решениями:

Печать записи из подчиненной формы в отчет
Добрый день, подскажите пожалуйста. Есть Таблица 1 (предприятия), таблица 2 (данные), таблицы...

Печать текущей записи из подчиненной формы в отчет
У меня есть таблица, есть подчиненная форма. Когда я в форме просмариваю определенную запись, то...

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

Сумма значений поля подчиненной формы по условию на значение другого поля той же формы
Здравствуйте. Есть форма в БД Аксесс с подчиненной формой. В подчиненной форме есть 2 поля: Статья...

13
1390 / 325 / 45
Регистрация: 16.04.2013
Сообщений: 775
Записей в блоге: 2
21.08.2013, 16:22 2
FleSh,
А почему не гигабайт?
----------------------
FleSh,
Сильно меня не пинайте) Первый опыт.
--------------------------------------
Ошибаешься,
Пинать надо, да ещё как.
Чтоб в голове все отложилось.
--------------------------------------
Нет. Так все в заднице отложится.
--------------------------------------
Надо подзатыльники раздавать.
И чем чаще, тем лучше.
--------------------------------------
Можно даже между делом,
чтоб не зазнавался.

Добавлено через 3 минуты
FleSh,
Оставь в базе только необходимое
для решения задачи.
Потом сожми базу и в архив.
0
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 7
21.08.2013, 17:07  [ТС] 3
Лишнее удалил. Базу сжал.
Вложения
Тип файла: zip База данных1_2.zip (667.2 Кб, 11 просмотров)
0
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 7
22.08.2013, 13:12  [ТС] 4
Решение, может кому пригодится. У меня работает, может не совсем правильно или красиво но другого ничего не придумал.

Для формы Сортировка по типу в условии на закрытие вписал

Visual Basic
1
 CurrentDb.Execute "DELETE * FROM Тип WHERE [Полное название] IS NULL"
0
1390 / 325 / 45
Регистрация: 16.04.2013
Сообщений: 775
Записей в блоге: 2
22.08.2013, 21:15 5
FleSh,
происходит новая запись в таблицу Тип.
----------------------------------------
А что ещё должно произойти,
если написано:

Private Sub Form_Load()
DoCmd.GoToRecord , , acNewRec
End Sub
----------------------------------------
Убрать Form_Load, источник формы,
и у Тип данные Сокращено.
----------------------------------------
Работать будет тогда, когда будут поля,
определяющие период,
начальная дата,конечная дата.
----------------------------------------
0
Эксперт MS Access
26805 / 14484 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
22.08.2013, 22:03 6
Цитата Сообщение от Волшебник 307 Посмотреть сообщение
DoCmd.GoToRecord , , acNewRec
Конечно, это допустимое выражение. Но лучше не пользоваться посредником (docmd), когда можно обратиться непосредственно к источнику данных
Visual Basic
1
Me.Recordset.Addnew
0
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 7
23.08.2013, 10:07  [ТС] 7
Цитата Сообщение от Волшебник 307 Посмотреть сообщение
FleSh,

Private Sub Form_Load()
DoCmd.GoToRecord , , acNewRec
End Sub
----------------------------------------
Убрать Form_Load, источник формы,
и у Тип данные Сокращено.
----------------------------------------
Если убрать

DoCmd.GoToRecord , , acNewRec

то загрузка формы происходит с первым значением из таблицы, и после выбора значения в форме автоматически перезаписывается выбранным значением.

После удаления у Тип данные Сокращено, форма перестает работать.
0
1390 / 325 / 45
Регистрация: 16.04.2013
Сообщений: 775
Записей в блоге: 2
23.08.2013, 10:54 8
FleSh,
У тебя в отчете в месаге написано:
Необходимо ввести дату в диапазоне
от 10-июл-96 до 06-май-98.
-------------------------------------
Отчет будет открываться
по определеному периоду?
0
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 7
23.08.2013, 11:22  [ТС] 9
Там нет даты. Я не знаю vba поэтому выдрал код из базы Борей, как мог под себя переделал.
В базе Борей вызывалась форма с вводом даты. У меня форма с выпадающим списком.

А месаги я не удалял они остались от базы Борей, мне так легче ориентироваться что делает этот кусок кода.
0
1390 / 325 / 45
Регистрация: 16.04.2013
Сообщений: 775
Записей в блоге: 2
23.08.2013, 12:27 10
FleSh,
Следует всё переделать.
-------------------------
В начале
Создать таблицы заново.
В таблице1 поле Сокращено сделать числовым.
Между таблицами
Установить связь 1 ко многим в схеме данных.
0
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 7
23.08.2013, 13:38  [ТС] 11
Я закомментировал участок кода
Visual Basic
1
2
3
'Private Sub Report_NoData(Cancel As Integer)
...
'End Sub
так как в форму добавил еще одно условие для отбора значений.

И заменил
Visual Basic
1
2
3
DoCmd.GoToRecord , , acNewRec 
на 
Me.Recordset.Addnew
Добавил промежуточную таблицу temp куда записываются данные с формы Сортировка по типу. Таблица temp очищается после закрытия закрытия формы Сортировка по типу.

В таком виде данная база уже может безболезненно существовать или все таки надо переделывать?

И еще вопрос по Запросу2

SQL
1
2
3
4
5
6
7
SELECT Таблица1.Название, Таблица1.Сокращенно, Таблица1.Год, Таблица1.Страна, Таблица1.[Каталог 1], Таблица1.[Номер по каталогу 1], Таблица1.Заказ, Таблица1.Вложение
FROM Таблица1
WHERE   (((Таблица1.Сокращенно)=Forms![Сортировка по типу]!Сокращенно) 
        AND ( IIF (Forms![Сортировка по типу]!Страна=" ",
            (Таблица1.Страна) IS NOT NULL,
            (Таблица1.Страна)=Forms![Сортировка по типу]!Страна)
        ));
В форме сортировка по типу в поле Страна поставил значение по умолчанию " ". Без пробела я не смог заставить работать запрос. Это не существенно, пробел не виден в поле, но хотелось бы знать - почему не получается поставить пустое значение ""
Вложения
Тип файла: zip База данных1_4.zip (595.2 Кб, 7 просмотров)
0
1390 / 325 / 45
Регистрация: 16.04.2013
Сообщений: 775
Записей в блоге: 2
23.08.2013, 15:22 12
FleSh,
Правильно! Не жить,
а существовать.

Переделать, начиная с таблиц.
-------------------------------
0
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 7
28.08.2013, 13:12  [ТС] 13
Цитата Сообщение от Волшебник 307 Посмотреть сообщение
FleSh,
Правильно! Не жить,
а существовать.

Переделать, начиная с таблиц.
-------------------------------
Переделал как вы сказали.

Вопрос по запросу остался не решенным:
В форме сортировка по типу в поле Страна поставил значение по умолчанию " ". Без пробела я не смог заставить работать запрос. Это не существенно, пробел не виден в поле, но хотелось бы знать - почему не получается поставить пустое значение ""

SQL
1
2
3
4
5
6
7
SELECT t1.Название, t1.Год, t1.Заказ, t1.[Номер по каталогу 1], t1.Вложение, t.Тип, s.Страна, k.Каталог
FROM ((Таблица1 AS t1 
INNER JOIN Тип AS t ON t1.Тип=t.Код) 
INNER JOIN Страна AS s ON t1.Страна=s.Код) 
INNER JOIN Каталог AS k ON t1.[Каталог 1]=k.Код
WHERE (((t1.Тип)=Forms![Сортировка по типу]!Тип) AND (IIf(Forms![Сортировка по типу]!Страна=" ",(t1.Страна) IS NOT NULL,(t1.Страна)=Forms![Сортировка по типу]!Страна)))
ORDER BY t1.[Номер по каталогу 1];
Вложения
Тип файла: zip База данных1_5.zip (94.3 Кб, 6 просмотров)
0
1390 / 325 / 45
Регистрация: 16.04.2013
Сообщений: 775
Записей в блоге: 2
29.08.2013, 02:57 14
FleSh,
Вот посмотри как должно быть.
Надеюсь, я тебя правильно понял.
Вложения
Тип файла: rar Сортировка.rar (81.0 Кб, 8 просмотров)
0
29.08.2013, 02:57
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.08.2013, 02:57
Помогаю со студенческими работами здесь

Ошибка в полях подчиненной формы
Здравствуйте! Помогите разрешить проблему, если это возможно. В подчиненной форме "EmployeesAll...

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

Ошибка при фильтрации подчиненной формы комбобоксами
Добрый день. Подскажите пожалуйста. Есть форма, в которой есть наверху комбобоксы и внизу...

Подсчет количества записей в подчиненной форме из другой подчиненной формы
Форумчане, всем привет. На форме 2 подчиненной формы. При переходе по одной отображаются данные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru