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

ACCES и Дельфи

29.05.2012, 21:07. Просмотров 777. Ответов 10
Метки нет (Все метки)

Помогите с проблемой. Программа и база прикреплены. Пароль режима админа - 12345.

Суть проблемы: Я добавляю из формы дельфи записи в базу аксеса. Например возьму вкладку из программы "Добавление учителя"
Скрин: http://www.cyberforum.ru/attachment....1&d=1338310940

Я в Edit ввожу ФИО учителя, запись отправляется в поле таблицы, все отлично. Но потом мне нужно сделать, что бы данные в этой таблице не повторялись. Я иду в акссесс и в настройках этой таблички, запрещаю повторение полей. Потом проверяю программу, запись добавляется если нет повтора, если есть повтор то вылетает ошибка и после этой ошибки, когда я уже ввожу неповторяющуюся запись, ошибка продолжается. Т.е. если 1 раз вылетела ошибка, дальше не введешь ничего, приходится перезагружать программу.

И еще проблема того же рода, когда я добавил запись, то пока я не перезагружу программу, в гриде она у меня не появится. Подскажите как это исправить. пасибо!
0
Миниатюры
ACCES и Дельфи  
Вложения
Тип файла: rar Новая папка.rar (360.1 Кб, 22 просмотров)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.05.2012, 21:07
Ответы с готовыми решениями:

Скажите пожалуйста почему у дельфи 6,7 нет совместимости с Windows 7 и какая версия дельфи совместима с windows 7
Скажите пожалуйста почему у дельфи 6,7 нет совместимости с Windows 7. и какая...

Не отображается БД из Acces'a
Делаю БД для отчёта, сделал связь БД из Acces'a через ADO с Datasource, но...

DateTimePicker + Acces
Подскажите!! У меня в Acces есть 4 поля : Дата, Начал число, Конечное, Текущие....

Acces в Delphi
Добрый день форумчане. Возникла такая ситуация : имеется Форма1 с БД Acces с 3...

База данных Acces
В общем есть программа а в ней БД. Нужно сделать связи 1:М 1:1 И т.д. Умеет...

10
Артём121
63 / 63 / 12
Регистрация: 15.11.2010
Сообщений: 393
Записей в блоге: 1
29.05.2012, 21:49 #2
На вторую часть вопроса могу сказать, что нужно выполнить обновления таблицы, т е
ADOTable1.Active :=false;
ADOTable1.Active:=true;
0
Nulled
0 / 0 / 2
Регистрация: 21.08.2010
Сообщений: 56
29.05.2012, 22:30  [ТС] #3
Цитата Сообщение от Артём121 Посмотреть сообщение
На вторую часть вопроса могу сказать, что нужно выполнить обновления таблицы, т е
ADOTable1.Active :=false;
ADOTable1.Active:=true;
Не получается твоим методом. Уже пробовал и Adotable.refresh; нифига.
0
Артём121
63 / 63 / 12
Регистрация: 15.11.2010
Сообщений: 393
Записей в блоге: 1
29.05.2012, 22:38 #4
А какой код на обработчик события нажатия кнопки "Добавить" ?
0
Nulled
0 / 0 / 2
Регистрация: 21.08.2010
Сообщений: 56
29.05.2012, 22:54  [ТС] #5
Цитата Сообщение от Артём121 Посмотреть сообщение
А какой код на обработчик события нажатия кнопки "Добавить" ?
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm2.Button9Click(Sender: TObject);
begin
ADOtable1.Open;
ADOtable1.insert;
ADOtable1.fieldbyname('ФИО_преподавателя').Asstring:=edit1.text;
ADOtable1.post;
ADOtable1.close;
 
end;
0
Артём121
63 / 63 / 12
Регистрация: 15.11.2010
Сообщений: 393
Записей в блоге: 1
29.05.2012, 22:57 #6
Попробуй так
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm2.Button9Click(Sender: TObject);
begin
ADOtable1.insert;
ADOtable1.fieldbyname('ФИО_преподавателя').Asstring:=edit1.text;
ADOtable1.post;
ADOTable1.Active :=false;
ADOTable1.Active:=true;
 
end;
1
Nulled
0 / 0 / 2
Регистрация: 21.08.2010
Сообщений: 56
29.05.2012, 23:00  [ТС] #7
Не, не получается.
0
Артём121
63 / 63 / 12
Регистрация: 15.11.2010
Сообщений: 393
Записей в блоге: 1
29.05.2012, 23:02 #8
а можно исходник всей программы
0
Nulled
0 / 0 / 2
Регистрация: 21.08.2010
Сообщений: 56
29.05.2012, 23:12  [ТС] #9
вот исходник
0
Вложения
Тип файла: rar proekt - копия.rar (1.01 Мб, 31 просмотров)
Артём121
63 / 63 / 12
Регистрация: 15.11.2010
Сообщений: 393
Записей в блоге: 1
29.05.2012, 23:29 #10
Сразу видно, что ты новичок в создании БД в delphi. В таблице не отображаются новые данные , т к DataSource = ADOTable6. А в обработчике вы пишете ADOTable1. Так попробуйте.
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm2.Button9Click(Sender: TObject);
begin
ADOtable6.insert;
ADOtable6.fieldbyname('ФИО_преподавателя').Asstring:=edit1.text;
ADOtable6.post;
ADOTable6.Active :=false;
ADOTable6.Active:=true;
 
end
или поменяйте в свойстве таблицы (DBGrid) свойство datasource на ADOTable1
0
Alex_pac
1292 / 698 / 107
Регистрация: 25.05.2011
Сообщений: 2,158
Записей в блоге: 51
30.05.2012, 04:44 #11
ваще, все AdoTable(DataSet) вынести в дата модуль И объединить их под одно AdoConnection

И вместо кнопок использовать TPageControl ввиде вкладок.

Чтобы не думать какая таблица редактируется у данного ДБГрида.
Можно извлечь ссылку на датасет из самого ДБГрида.

Delphi
1
2
3
4
5
6
7
8
procedure TForm2.Button9Click(Sender: TObject);
begin
  with DBGrid5.DataSource.DataSet do begin
      Insert;
      fieldbyname('ФИО_преподавателя').Asstring:=edit1.text;
      Post;
  end;
end;
И ваще зачем тут используется TEdit ?

Есть стандартная схема TDBNavigator + Db компоненты
0
30.05.2012, 04:44
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2012, 04:44

Acces - имена полей...?
Всем привет. Начал работать с ADO таблицами (Access) - возник такой вопрос,...

Создание таблици в MS Acces c помощю Delphi
Эсть пустая база Acces с помощю Delphi нужно создать таблицу и задать ее...

Как осуществить удаленное управление БД (Acces) в Delphi
Ребят. есть БД на Acces. Как осуществить удаленное управление этой БД в Delphi?...


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

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

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