Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/15: Рейтинг темы: голосов - 15, средняя оценка - 4.80
 Аватар для parkito
15 / 14 / 10
Регистрация: 22.03.2010
Сообщений: 695

Выбор таблицы в форме

31.10.2015, 13:53. Показов 3453. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Помогите пожалуйста решить вопрос. Существует форма, которая работает с данными таблицы А. Существуют таблицы Б, В и т.д., которые по структуре индентичны с А, но отличны по содержанию.

T-SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Табл А
ФИО Дата
Вася 1996
Коля 1977
 
Табл Б
ФИО Дата
Серега 1999
Кирилл 1977
 
Табл В
ФИО Дата
Серега 1999
Кирилл 1981
Хотелось бы организовать следующее: на форме существует выпадающий список, содержащий название таблиц. При выборе той или иной таблицы форма начинала бы работать ее данными.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.10.2015, 13:53
Ответы с готовыми решениями:

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

Выбор с ограничением в форме вида таблицы
Добрый день! Есть таблица Сотрудники, в которой имеются, ко всему прочему, поля Контрагент и Кабинет. Кабинет находится в связанной...

Выбор записи в подчиненной форме в виде таблицы
Добрый вечер! Работаю над проектом и для красоты и удобства (своего) использовал на формах ListBox. В нем выбрать запись было легко:...

12
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
31.10.2015, 13:59
Visual Basic
1
form.recordsource = ИмяВыпдающегоСписка
1
Эксперт MS Access
 Аватар для ltv_1953
17536 / 7288 / 1663
Регистрация: 21.06.2012
Сообщений: 13,957
31.10.2015, 14:03
В событии после обновления списка
Visual Basic
1
Me.RecordSource = "Имя_Выбранной_Таблицы"

Не по теме:

Опоздал

1
31.10.2015, 14:08

Не по теме:

Не, ну мы все же по-разному ответили )) Так что не "опоздал", а "дополнил"

0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
31.10.2015, 14:23
Цитата Сообщение от parkito Посмотреть сообщение
Существуют таблицы Б, В и т.д., которые по структуре индентичны с А, но отличны по содержанию.
Хочется верить, что Вы уже рассматривали вопрос о превращении всех идентичных таблиц в одну с полем идентификатором категории. Иначе будет совсем нереляционно, а значит неэффективно.

По сабжу. Создать такой список/поле со списком несложно. Если количество таблиц не меняется, то создавая список, выбирайте опцию Фиксированный набор значений и в открывшемся окне заполняйте столбец именами таблиц.
0
 Аватар для parkito
15 / 14 / 10
Регистрация: 22.03.2010
Сообщений: 695
31.10.2015, 14:31  [ТС]
texnik-san, ltv_1953, Не совсем понимаю, как организвать.
Вот есть функи обработки события после обнавления
T-SQL
1
2
3
Private Sub ChooseTable_AfterUpdate()
Me.RecordSource = ChooseTable
End Sub
Каким образом в выпадающий список загрузить список таблиц для выбора.

Добавлено через 5 минут
mobile, Дело в том, что в будущем планируется добавлять/удалять таблицы. Таблицы будут вытаскиваться из экселя. Возможно вытаскивать из экселя таблицы сразу в индефецируемые категории? Мое видение такое, что пользователю лучше создавать отдельные таблицы, потом выбирая их в форме, нежели разбираться с категорированием данных в общую таблицу..
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
31.10.2015, 14:47
Лучший ответ Сообщение было отмечено АЕ как решение

Решение

Тогда можно на событии загрузки формы создать полный список таблиц формы. Если импортируемые таблицы имеют характерный префикс, то будет попроще. Создание полного списка таблиц:
Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Form_Load()
    Dim s, tdf As TableDef
    For Each tdf In CurrentDb.TableDefs
        If Not "msysusys~tmp" Like Left(tdf.Name, 4) & "*" Then
            s = s & ";" & tdf.Name
        End If
    Next
    Me.cmbTable.RowSource = Mid(s, 2)
End Sub
1
шапоклякистка 8-го дня
 Аватар для texnik-san
3681 / 2241 / 391
Регистрация: 26.06.2015
Сообщений: 4,647
Записей в блоге: 1
31.10.2015, 15:29
Цитата Сообщение от parkito Посмотреть сообщение
Каким образом в выпадающий список загрузить список таблиц для выбора.
Тип источника строк - "Список значений", имена таблиц перечислить через точку с запятой

Добавлено через 2 минуты
Упс. Недочитала, что список таблиц будет динамический. Тогда совет mobile + таки тип источника строк "список значений".
0
 Аватар для VinniPuh
9127 / 6129 / 593
Регистрация: 27.03.2013
Сообщений: 19,972
31.10.2015, 15:34
Цитата Сообщение от parkito Посмотреть сообщение
...таблицы Б, В и т.д., которые по структуре индентичны с А, но отличны по содержанию....
По любоиу эти загадочные таблицы - А, Б, В..... должны быть объединены в одну, но добавлено поле, типа как бы - Тип или категория, по которому будет происходить сортировка и выбор нужного или даже полезного.
Что то типа классического - Выбор модели Авто по марке..
0
 Аватар для parkito
15 / 14 / 10
Регистрация: 22.03.2010
Сообщений: 695
01.11.2015, 20:38  [ТС]
mobile, Подскажите пожалуйста, как нужно отредактировать
T-SQL
1
2
3
4
5
6
7
8
9
Private Sub Form_Load()
    Dim s, tdf As TableDef
    For Each tdf In CurrentDb.TableDefs
        If Not "msysusys~tmp" Like Left(tdf.Name, 4) & "*" Then
            s = s & ";" & tdf.Name
        End If
    Next
    Me.cmbTable.RowSource = Mid(s, 2)
End Sub
Для того чтобы таблицы заносились в выпадающий список "ListOfTables"
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
01.11.2015, 20:51
Если ListOfTables фактическое имя списка или поля со списком на форме, то вместо Me.cmbTable.RowSource = Mid(s, 2), напишите
Visual Basic
1
Me.ListOfTables.RowSource = Mid(s, 2)
1
 Аватар для parkito
15 / 14 / 10
Регистрация: 22.03.2010
Сообщений: 695
01.11.2015, 21:02  [ТС]
mobile, В ListOfTables появились эелементы 1-114.
Имея одну таблицу, я создаю запрос с указанием конкретных столбцов. Как осуществляется запрос, который может работать с разными таблицами?
Миниатюры
Выбор таблицы в форме  
0
Эксперт MS Access
26826 / 14506 / 3192
Регистрация: 28.04.2012
Сообщений: 15,782
01.11.2015, 21:18
Лучший ответ Сообщение было отмечено parkito как решение

Решение

parkito, тип источника строк должен быть, как уже говорилось выше, Список значений. Свойство Присоединенный столбец равен 1. Это в свойствах вкладка Данные. Во вкладке Макет: Число столбцов 1, Ширина столбцов по выбору, обычно 2.5 или 3

Добавлено через 5 минут
Цитата Сообщение от parkito Посмотреть сообщение
Как осуществляется запрос, который может работать с разными таблицами?
Это называется Динамический запрос. Он, как правило создается в коде. Например, на событии После обновления комбо:
Visual Basic
1
2
3
4
5
Dim s
' В переменной s содержится SQL-выражение запроса, которое можно присвоить сохраненному запросу,
' сделать источником формы/отчета или создать рекордсет на его основе
' Имя таблицы подставляется из актуального значения поля со списком
s="select * from [" & Me.ListOfTables & "]"
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.11.2015, 21:18
Помогаю со студенческими работами здесь

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

Кнопка для открытия таблицы в текущей форме, НЕ в новой форме
Здравствуйте! Очень прошу помочь по следующему вопросу. Какой код нужно написать на VBA в Access, чтобы при нажатии на кнопку таблица...

Выбор 1 --> выбор 2 --> изменение данных в форме
Доброе время суток! Передо мной стоит такая задача: Существует фирма. У нее 20 филиалов. Ими управляют 5 менеджеров. Необходимо...

Заменить значение ключа из одной таблицы именем из другой таблицы в форме
Здравствуйте! Есть две таблицы. Одна таблица называется "Посуда" с полями "Ключ посуды" и "Наименование посуды". Эта...

Выбор значений из таблицы значений на нестандартной форме выбора
В поле "Название книги" при начале выбора открывается форма &НаКлиенте Процедура КнигиКнигаНачалоВыбора(Элемент, ДанныеВыбора,...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru