Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.75/300: Рейтинг темы: голосов - 300, средняя оценка - 4.75
4 / 4 / 0
Регистрация: 01.05.2010
Сообщений: 54
1

БД владельцы и авто

06.05.2010, 16:08. Показов 57274. Ответов 102
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Делаю Базу данных Владельцы и Авто...)
И тут возник вопрос в форме создаю два поля со списком, в одном поле со списком будут МОДЕЛИ автомобилей, а во втором будут МАРКИ, этих моделей)
т.е.(например) Выбираю в ПолеСоСписком1 модель Ford, тогда в ПолеСоСписком2 будут только марки относящиеся к модели Ford, а у меня в ПолеСоСписком2 имеются ВСЕ модели кот у меня записаны в таблицы, а надо чтоб только те которые относятся к модели Ford)
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.05.2010, 16:08
Ответы с готовыми решениями:

Описать базовый класс автомобиль и от него наследуются классы: грузовые авто, уборочные авто, спортивные авто
Всем привет!:) хочу спросить кто нибудь писал программы с наследованием на С++? Интересны задачи...

Авто-подсчет дней между датами и авто-сохранение результата в таблицу
Доброго времени суток! Как можно создать авто подсчет дней между датами чтобы результат...

Программа об автомобилях: определить количество авто каждой марки, владельца самого старого авто
Сделать программу при вводе в которую фамилию, адреса, марку автомобиля, номер, год выпуска ,...

Авто установка вирусного ПО, авто-открытие рекламы в браузере
Скачивал игру с торрента Hospital, вместе с установкой игры, в тот же момент, установило целую тучу...

102
Sk
6 / 6 / 1
Регистрация: 10.03.2016
Сообщений: 304
07.06.2018, 11:19 81
Author24 — интернет-сервис помощи студентам
Цитата Сообщение от Ameli Посмотреть сообщение
Источником поля "Марки" делаешь запрос, в который добавляешь поле "КодМодели" из таблицы модели (естественно таблицы марки и модели должны быть связаны), для него ставишь условие отбора = Forms![Твоя форма]![Модель]
На событие "после обновления" для поля "Модель" ставишь [Марка].Requery - обновить поле марка.
Добрый день! Подскажите, пожалуйста, как реализовывается такой момент: после выбора другой Модели (как в примере "Автомобили" выше), поле Марка становилось чистым (при повторном выборе значений из полей со списком)?
В моем примере в первом поле выбирается ФИО, а во втором поле появляются годы, где эти ФИО участвовали. Так вот если я один раз выбрала значения 2х полей, а потом меняю ФИО, у меня в поле виден еще "старый" год. А мне нужно, чтобы поле становилось пустым. ( При этом всё работает, поле "Год" обновляется по Requery, но новый список виден только после нажатия). Смотрю пример "автомобили", у меня все аналогично, но поле "Год" ("марка") не становится пустым..
0
0 / 0 / 0
Регистрация: 05.11.2019
Сообщений: 38
12.07.2022, 13:29 82
andrey_ba, скажите, а есть возможность, чтобы в аналогичной БД (Б) при пустом первом списке (когда не выбран класс), в список фамилий выводились бы фамилии всех учеников из таблицы?
0
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
12.07.2022, 20:18 83
Топик начат аж 12 лет назад и Ваше сообщение прочел чисто случайно-в будущем лучше открывайте новую тему:
Visual Basic
1
2
3
4
5
6
7
8
9
10
Private Sub Form_Current()
Me.ПолеСоСписком2.RowSource="select*from tbl"
Me.ПолеСоСписком2.Requery
End Sub
 
Private Sub ПолеСоСписком0_AfterUpdate()
Me.ПолеСоСписком2.RowSource="select*from tbl where класс=" & me.ПолеСоСписком0
' если [класс] текст  me.ПолеСоСписком0 обрамить апострофами: ..класс='" &  me.ПолеСоСписком0 & "'"
Me.ПолеСоСписком2.Requery
End Sub
Добавлено через 5 часов 40 минут
Вместо 'select*from..." должно быть "select код,ученики from тблИсточникCombo..."
Число столбцов 2
Ширина столбцов 0;3
1
10745 / 5585 / 1411
Регистрация: 05.10.2016
Сообщений: 15,796
12.07.2022, 20:30 84
Цитата Сообщение от SDKU Посмотреть сообщение
Вместо 'select*from..." должно быть "select код,ученики from тблИсточникCombo..."
Позволю себе заметить что лучше так:
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Private Sub ПолеСоСписком0_AfterUpdate()
Dim sSQL As String
    If me.ПолеСоСписком0.ListIndex > -1 Then  ' Значение выбрано
        ' если [класс] текст  me.ПолеСоСписком0 обрамить апострофами: ..класс='" &  me.ПолеСоСписком0 & "'"
        sSQL  = "select * from tbl where класс = " & me.ПолеСоСписком0
    Else ' Значение НЕ выбрано
         sSQL  = "select * from tbl"
    End If
    Me.ПолеСоСписком2.RowSource= sSQL
    Me.ПолеСоСписком2.Requery  ' не обязатеельно ... на смену RowSource среагировать должен.
End Sub
1
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
12.07.2022, 22:50 85
Eugene-LS, А с какого конца разбивать яйцо-с тупого или с острого?
типа как в "Путешествия Гулливера": "остроконечники" и "тупоконечники" (думаю кто как хочет-пусть Stanmill выбирает)
0
10745 / 5585 / 1411
Регистрация: 05.10.2016
Сообщений: 15,796
12.07.2022, 23:04 86
Цитата Сообщение от SDKU Посмотреть сообщение
А с какого конца разбивать яйцо-с тупого или с острого?
С обеих!

Просто добавил обработку случая когда пользователь очистил значение в главном списке ... типа :
- "А можно всех посмотреть?!"
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
13.07.2022, 01:02 87
SDKU,

Зачем делаете Requery после присвоения RowSource?
Странно просто.

И вовсе это не "тупо-остро-конечники".
У Вас обработка события AfterUpdate действительно неполноценная.
При очистке значения первого списка выйдет ошибка.
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
13.07.2022, 01:03 88
А если уж по вопросу, то проще всего сделать так.

1. Источник строк для поля со списком СписокУчеников такой:
SQL
1
SELECT Фамилия FROM Таблица WHERE Forms!ИмяФормы!СписокКлассов IS NULL OR Класс=Forms!ИмяФормы!СписокКлассов
2. Процедура
Visual Basic
1
2
3
Private Sub СписокКлассов_AfterUpdate()
 СписокУчеников.Requery
End Sub
1
0 / 0 / 0
Регистрация: 05.11.2019
Сообщений: 38
13.07.2022, 11:06 89
SDKU, да, как-то неловко получилось, на даты сообщений вообще внимания не обратил. Обещаю исправиться. :-) Спасибо за внимательность и оперативность.

Добавлено через 4 минуты
Capi, воспользусь вашим вариантом. Во-первых, действительно, проще всего. Во-вторых, требует внесения минимальных изменений.
SDKU, Eugene-LS, спасибо за предложенные варианты и их обсуждение - очень познавательно.
Еще раз большое всем спасибо.
0
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
13.07.2022, 11:18 90
Цитата Сообщение от Capi Посмотреть сообщение
Зачем делаете Requery после присвоения RowSource?
Просто глянул процедуру в рабочей БД там аж 4 зависимых(последовательно) поля да еще и ленточная форма и бездумно переписал-а в данном случае, для двух полей, Requery конечно ни к чему
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
13.07.2022, 11:21 91
Цитата Сообщение от Stanmill Посмотреть сообщение
да, как-то неловко получилось, на даты сообщений вообще внимания не обратил. Обещаю исправиться
 Комментарий модератора 

Ничего страшного в этом нет.
Тема та же самая.
Ваш вопрос определялся некоторым Вашим недопониманием изложенного в теме
и потребовал всего лишь небольших пояснений.
Новую тему для этого создавать смысла не было.
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
13.07.2022, 11:24 92
Цитата Сообщение от SDKU Посмотреть сообщение
бездумно переписал-а в данном случае, для двух полей, Requery конечно ни к чему
По-Вашему, дело в количестве полей?

Это ещё более странно.
0
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
13.07.2022, 12:10 93
Если для всех полей источник сделать без отбора то в зависимое поле сохраненной записи можно будет,хоть случайно,хоть намеренно "всунуть" любое значение(не соответствующее "предыдущему")-при задании же источника с отбором по "предыдущему" полю это исключено, но обновление при этом необходимо иначе в следующей записи(с другим значением "предыдущего" поля) при просмотре это поле окажется пустым
0
Модератор
Эксперт MS Access
6231 / 2909 / 707
Регистрация: 12.06.2016
Сообщений: 7,839
13.07.2022, 12:46 94
SDKU,

Вы не поняли.

Вы присваиваете значение RowSource полю со списком.
И тут же для этого же поля со списком делаете Requery, то есть,
фактически снова выполняете только что выполненное действие.

Зачем дважды подряд одно и то же делаете?

Не по теме:

Пришлось даже жирнить текст... Уффф...

0
598 / 404 / 51
Регистрация: 06.03.2022
Сообщений: 2,129
13.07.2022, 13:14 95
А Вы закомментируйте строки с Requery в Current и просмотрите сохраненные записи
Вложения
Тип файла: rar зависимыйСписокЧисло.rar (24.7 Кб, 35 просмотров)
0
0 / 0 / 0
Регистрация: 24.03.2023
Сообщений: 9
28.03.2023, 11:07 96
Ameli,
Эмели (если неправильно написал - извините) здравствуйте.
Видел на форуме ваши ответы, поэтому обращаюсь к вам. Дайте пожалуйста ответ на мой вопрос.
Адрес вопроса - Оптимизация при работе с БД
Заранее спасибо.
0
9108 / 6037 / 590
Регистрация: 27.03.2013
Сообщений: 19,813
28.03.2023, 11:41 97
Temnyi, её с 2019-го года не было на форуме.
0
0 / 0 / 0
Регистрация: 24.03.2023
Сообщений: 9
28.03.2023, 15:43 98
Спасибо за ответ
0
0 / 0 / 0
Регистрация: 23.07.2013
Сообщений: 29
13.02.2024, 13:28 99
Здравствуйте! Объясните ущербному, пожалуйста, где ошибка?)) Вопрос как у автора
Специально создал отдельный файл, чтоб меньше весил, суть вот в чём: По описанной методике создаю базы и в одном случаи работает, во-втором нет и так с вероятностью 50% уже мозг сломал, пытаясь понять в чём отличия в неработающей форме и работающей - не понял, более того некоторые из них мистическим образом начинали работать, например когда перед [Forms] в запросе добавлял =.

В примере Форма: Расход и Суденты - работают, а вот РасходФИИ - нет!
Проблема в том, что в реальной базе как-рах ничего не работает...
По итогу нужна будет 3х ступенчатая структура: Выбираешь машину - потом тип фильтра - а потом из предложенных фильтров.
Вложения
Тип файла: rar Database1.rar (56.4 Кб, 15 просмотров)
0
10745 / 5585 / 1411
Регистрация: 05.10.2016
Сообщений: 15,796
13.02.2024, 14:25 100
Цитата Сообщение от Liakceii Посмотреть сообщение
а вот РасходФИИ - нет!
Перебрал вашу форму "РасходФИИ" так "как это бы сделал сам":
- Изменил источник данных формы
- Изменил источники строк "Комбиков"
- Изменил имена "Комбиков"
- Изменил код в модуле формы
... вроде работает.
Вложения
Тип файла: zip Database1_v002.zip (32.5 Кб, 6 просмотров)
1
13.02.2024, 14:25
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2024, 14:25
Помогаю со студенческими работами здесь

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

владельцы windows 98 отпишитесь
у меня такая проблема возникла Program Ris1; uses Crt,Graph; var gd,gm:integer; begin ...

Владельцы сайтов из Екатеринбурга, посоветуйте
Нужен именно находящийся в Екбурге хостинг, для одного сайта. Какой выбрать? GalaxyData и...

Владельцы MSI 945p NEO
Ребятки, у кого MSI 945p NEO есть под рукой? На вложенном изображении выделил выгоревший у меня...


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

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