Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
stef9600
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 18
#1

Создание новых таблиц в Access

15.11.2017, 18:15. Просмотров 759. Ответов 19
Метки нет (Все метки)

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

в общем, идея такая:
1. У меня есть база данных учащихся школы которая подключена к Access
2. там есть кнопочка "Добавить класс"
3. на этой форме (п. 2) есть две кнопки и DBEdit
4. при вводе в DBEdit номер класса создавалась новая таблица в Access, ну или копировалась уже имеющаяся (в таблице поля: ФИО, Класс, Домашний адрес, Мобильный телефон, Домашний телефон, Учреждение в котором продолжает учиться)
5. глупый вопрос, это можно сделать как то через ADOTable?
6. после того как создал новую таблицу класса она отображалась в Combobox который есть на главной форме и предназначен для выбора класса и смены таблиц в DBGrid в соответствии с выбранным классом

Создание новых таблиц в Access

Название: Снимок1.PNG
Просмотров: 90

Размер: 2.0 Кб

я думаю суть ясна, прошу прощения если написал не понятно

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

Добавлено через 5 минут
добавлю, мне просто на каждый класс нужна отдельная таблица чтобы при выборе в комбобоксе таблицы я мог видеть информацию этого класса
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2017, 18:15
Ответы с готовыми решениями:

Организация создания новых связанных таблиц внутри MS Access
Здраствуйте! Добрые люди подскажите пожалуйста как решить такую проблемку:...

DBGrid добовление новых строк в таблицу через Edit1.text таблица Access
Добрый день! вот у меня возник вопрос как реализовать добавление строки в...

БД с использованием таблиц Access
Делал базу данных, всё более-менее работало. Удалил одну форму (как...

Связь таблиц Access
я использую Ado бд Access,есть 3 таблицы нужно заполнить 3-ю таблицу из первой...

Delphi, Access и объединение 3 таблиц
Используется Делфи Аксес. Есть три таблицы - Видео, История, Юзеры....

19
D1973
Модератор
3392 / 2433 / 1199
Регистрация: 21.01.2014
Сообщений: 10,056
Записей в блоге: 3
Завершенные тесты: 1
15.11.2017, 18:31 #2
Цитата Сообщение от stef9600 Посмотреть сообщение
создавалась новая таблица в Access, ну или копировалась уже имеющаяся
т.е., если в школе учатся 11 лет и на каждый год хотя бы по 3 параллели - у Вас в БД 33 таблицы будет?
Нет, так не пойдет... Таблиц требуется всего-то 2:
Таблица классов
IDClass
11-"А"
21-"Б"
3...
......
N11-"Ю"
И таблица учащихся, которую Вы уже описали и в которую просто требуется добавить еще 2 поля:
1. Ключевое поле - идентификатор записи (можно типа счетчик)
2. Идентификатор класса - для связи с таблицей классов, которые будут связаны отношением "один-ко-многим"
Цитата Сообщение от stef9600 Посмотреть сообщение
на каждый класс нужна отдельная таблица чтобы при выборе в комбобоксе таблицы я мог видеть информацию этого класса
Ерунда, не надо Вам 100500 таблиц. Заполняйте комбобокс списком классов из первой таблицы, и, после выбора, делайте запрос на получение данных из второй таблицы, относящихся только к выбранному классу.
Цитата Сообщение от stef9600 Посмотреть сообщение
это можно сделать как то через ADOTable?
Пока не втянулись - не забивайте голову всякими ADOTable! Есть ADOQuery и SQL-запросы, вот через них-то и надо работать с БД.
0
Grossmeister
Модератор
3369 / 2425 / 409
Регистрация: 21.01.2011
Сообщений: 10,673
16.11.2017, 09:26 #3
Цитата Сообщение от stef9600
мне просто на каждый класс нужна отдельная таблица
На всякий: если тебе приходится динамически создавать таблицы в БД, то в 99% случаев это плохой дизайн БД.
0
ZfoxAK
505 / 489 / 222
Регистрация: 26.11.2012
Сообщений: 1,929
17.11.2017, 09:15 #4
Цитата Сообщение от stef9600 Посмотреть сообщение
мне очень нужна ваша помощь, я только начинаю разбираться в разработке баз данных, мало чего знаю,
1. Для изучения лучше выбрать нормальную СУБД например FireBird или MySQL.
2. НЕ ИСПОЛЬЗОВАТЬ компоненты в названии которых присутствует Table. А использовать Query, DataSet и т.д.
3. Найти книги по SQL запросам.
0
stef9600
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 18
22.11.2017, 13:37  [ТС] #5
1. есть таблица Классы
2. Таблица Классы соединена с таблицей Ученики, связью 1 ко многим
3. на форме есть combobox и dbgrid
4. при выборе в комбобоксе № класса из таблицы Классы показывало инфу которая находится в этом классе
5. при выборе в комбобоксе № другого класса показывало инфу другого класса(короче говоря переключение между классами)
6. при добавлении нового класса (форма добавления в самом первом посте), чтобы класс добавлялся в таблицу и в нем были поля как и в двух других

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

Создание новых таблиц в Access

Создание новых таблиц в Access
0
stef9600
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 18
22.11.2017, 14:09  [ТС] #6
извините, без 6 пункта, я и сам сделал =)
0
kavasaka
113 / 113 / 33
Регистрация: 16.04.2013
Сообщений: 687
23.11.2017, 09:05 #7
Цитата Сообщение от stef9600 Посмотреть сообщение
6. при добавлении нового класса (форма добавления в самом первом посте), чтобы класс добавлялся в таблицу и в нем были поля как и в двух других
Можно полную схему всех таблиц базы?
По таблице Классы
Что такое №класса и Код? Обычно связь делается по коду (или id), а №класса в данном случае это типа его текстовое наименование или нет?
Полей Юношей, Девушек, Состоят в_чемто вообще в базе быть не должно. Эти значения высчитываются динамически в запросах из полей Пол и СостоитВ_, которые должны быть в таблице Учащиеся. Подозреваю что поле Под опекой тоже, но х.з что это имеется ввиду..
Цитата Сообщение от stef9600 Посмотреть сообщение
чтобы класс добавлялся в таблицу и в нем были поля как и в двух других
??? Если вы добавите запись в таблицу, то в ней будут ВСЕ те же поля что и в других записях. Или вам надо дублировать в новую запись значения полей?-можно запрос написать, а зачем это?
0
stef9600
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 18
26.11.2017, 00:15  [ТС] #8
вот, прилагаю свой проект, мне нужно в combobox сделать переключение между имеющимися классами
JOURNAL v3.rar

очень прошу, помогите реализовать этот процесс
0
stef9600
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 18
26.11.2017, 22:14  [ТС] #9
помогите пожалуйста правильно построить базу
0
kavasaka
113 / 113 / 33
Регистрация: 16.04.2013
Сообщений: 687
27.11.2017, 11:55 #10
Немого пошаманил, там еще копать и копать, сори на это нет времени..
таблицу Предметы вашу лучше удалить, не должно быть в таблице 100500 полей по названиям предметов.
с расписаниями не сталкивался сильно, может можно и как-то иначе это намутить, посмотри там в аксовском файле запрос из трех таблиц. Надо еще подумать с ним...

Зачем в программе 2 ADOConnection??, он один должен быть и лучше в отдельном юните типа датамодуль.
Редактирование/добавление данных учащегося можно одной формой сделать, а не отдельными. Посмотри в примере U2.rar как сделано например.
0
Вложения
Тип файла: rar JOURNAL v3.rar (96.6 Кб, 4 просмотров)
Тип файла: rar u2.rar (45.2 Кб, 1 просмотров)
stef9600
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 18
29.11.2017, 23:11  [ТС] #11
Цитата Сообщение от kavasaka Посмотреть сообщение
Можно полную схему всех таблиц базы?
По таблице Классы
Что такое №класса и Код? Обычно связь делается по коду (или id), а №класса в данном случае это типа его текстовое наименование или нет?
Полей Юношей, Девушек, Состоят в_чемто вообще в базе быть не должно. Эти значения высчитываются динамически в запросах из полей Пол и СостоитВ_, которые должны быть в таблице Учащиеся. Подозреваю что поле Под опекой тоже, но х.з что это имеется ввиду..

??? Если вы добавите запись в таблицу, то в ней будут ВСЕ те же поля что и в других записях. Или вам надо дублировать в новую запись значения полей?-можно запрос написать, а зачем это?
добавление нового ученика то не работает
0
kavasaka
113 / 113 / 33
Регистрация: 16.04.2013
Сообщений: 687
30.11.2017, 13:16 #12
И в чем проблема? Пример смотрел? На форму (unit3 там называется) кидаешь обычные Editы, по нажатию ОК разбрасываешь их значения по соответствующим полям и делаешь ADOQuery.post. Посмотреть и скопипастить осталось.
0
stef9600
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 18
13.12.2017, 18:00  [ТС] #13
народ, привет еще раз, извините что опять спрашиваю то же самое, но у меня не хватает мозгов

есть такая ошибка
Кликните здесь для просмотра всего текста
Создание новых таблиц в Access


я пытаюсь сделать чисто список учащихся, у меня есть помимо главной формы, еще две такие формы как добавление класса и добавление года, год добавляется все нормально, но вот на форме с добавлением класса есть DBEdit и DBLookupCombobx, я хочу сделать добавление класса и выбор к какому году добавить этот класс, у меня вылазит ошибка из скина выше, я понимаю что это из-за связей в Access, помогите пожалуйста со связями, заранее благодарствую и буду очень признателен за помощь

вот так я сделал видимо нерабочие связи
Кликните здесь для просмотра всего текста
Создание новых таблиц в Access


в дальнейшем мне нужно будет сделать в двух комбобоксах выбор года обучения и во втором комбобоксе в соответствии с годом классы и просматривать инфу классов, т.е. учащихся в ней
0
stef9600
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 18
13.12.2017, 18:03  [ТС] #14
вот собственном сама недопрога Журнал.rar
0
qwertehok
2210 / 2199 / 599
Регистрация: 29.08.2013
Сообщений: 14,668
13.12.2017, 18:06 #15
Код года? Серьезно? и какой у 2017 года код? 2017?

Добавлено через 1 минуту
зачем в таблице учеников "номер по порядку"?
он же не используется нигде
0
stef9600
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 18
13.12.2017, 18:45  [ТС] #16
ну, вообще согласен на счет номера по порядку, ну, покажите пожалуйста как надо правильно делать, научите
0
kavasaka
113 / 113 / 33
Регистрация: 16.04.2013
Сообщений: 687
14.12.2017, 12:13 #17
Цитата Сообщение от stef9600 Посмотреть сообщение
есть такая ошибка
в таблице Класс с поля Код_года убери значение по умолчанию 0 - ошибки не будет.
1
stef9600
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 18
15.12.2017, 15:17  [ТС] #18
спасибо большое kavasaka
0
stef9600
0 / 0 / 0
Регистрация: 11.05.2016
Сообщений: 18
16.12.2017, 16:28  [ТС] #19
мне уже стыдно спрашивать, но мне снова нужна ваша помощь, осталось сделать выбор года обучения которые ранее созданы были, и выбор классов выбранного года, мне нужно чтобы:

в 1 комбобоксе(буду рад если подскажете какй лучше использовать) был список годов, который пользователь внесет в будущем:
- допустим у меня есть 2016 и 2017 года, в 2016 допустим пользователь создал три класса 9А, 9Б, 9В
которые показываются во втором комбобоксе, во втормо комбобоксе выбираю класс допустим 9А, в дбгрид показываются все учащиеся которые находятся в данном классе, выбираю 9Б, показывается инфа 9б класса
- выбираю 2017 год в 1 комбобокс в который пользователь создал так же три класса 10А, 10Б, 10В и при выборе допустим 10А мне показывалась инфа об учащихся 10А

прилагаю проект, у меня нет сил, обгуглил все, либо не то, либо нет вообще
Журнал.rar

кому не трудно, пожалуйста помогите
простите меня
0
qwertehok
2210 / 2199 / 599
Регистрация: 29.08.2013
Сообщений: 14,668
16.12.2017, 21:14 #20
должно быть так

Delphi
1
2
3
4
query.sql.text:='select * from Ученики where УчебныйГод=:p1 and Класс=:p2';
query.param[0].asString:=cbYear.Text;
query.param[1].asString:=cbClass.Text;
query.Open;
Этим запросом выбираем учеников в классе, все ведь просто
0
16.12.2017, 21:14
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.12.2017, 21:14

Delphi7 + Access сравнение таблиц
Добрый день уважаемые програмисты! Помогите решить задачку. Есть две базы...

Объединение 4 таблиц в 1 (Delphi и Access)
Здравствуйте, такой вопрос существуют 4 таблицы: 1. Сотрудники (имя, участок,...

Из двух таблиц базы access в одну
У меня есть 3 таблицы в базе данных, подключенных через ADO Нужно из 2...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru