Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.06.2010, 12:59   #1
Anna_nv
Новичок
Джуниор
 
Регистрация: 03.06.2010
Сообщений: 1
Восклицание Настройка связей между Access И Delphi

Добрый день!

У меня такая проблема, я создала базу в Access связала с Delphi все настроила и все работает... сортирует. вот только проблема с добавление новых строк.

При нажатии на кнопку добавить в dbGrid добавляется новая строка. она заполняется через dbEdit и dbLookupComboBox (может я немного не правильно пишу). ошибка в том, что все поля которые пользователь заполняет они отображаются, а вот когда пользователь выбирает из списка значение, почему то оно не отображается.
Anna_nv вне форума Ответить с цитированием
Старый 03.06.2010, 17:26   #2
Abricosko
Пользователь
 
Регистрация: 01.06.2010
Сообщений: 29
По умолчанию

У меня тоже такой вопрос,если использовать кнопки навигатора,то данные из бд отображаются в ДБЕдитах привязанных к бд и Гриде,но если создать кнопки типа ADOTable1.Insert;действие происходит лишь в Гриде,ДБЕдиты остаются пустыми.Как это исправить?
Abricosko вне форума Ответить с цитированием
Старый 03.06.2010, 19:59   #3
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Цитата:
Сообщение от Abricosko Посмотреть сообщение
ДБЕдиты остаются пустыми
Что значит пустыми?
А какие в них должны быть значения при формировании новой записи?
Ну и в конце может не надо DBEdit пользовать.

И еще ребята. Ну не красиво пользователя заставлять писать данные в грид.
Форма, фрейм, панель для набора данных.
Строго органично и правильно.
А пользователь видит только обновившиеся данные в гриде после добавления.
И еще лучше чтоб грид был как отчет только посмотреть.
Все операции над данными отдельно.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)

Последний раз редактировалось rdama; 03.06.2010 в 20:03.
rdama вне форума Ответить с цитированием
Старый 03.06.2010, 21:53   #4
Abricosko
Пользователь
 
Регистрация: 01.06.2010
Сообщений: 29
По умолчанию

Цитата:
Сообщение от rdama Посмотреть сообщение

И еще ребята. Ну не красиво пользователя заставлять писать данные в грид.
.
Вот мы и пытаемся это исправить,но выходит ,что корректировать данные можно ток в Гриде,а батонами какая-то проблема или нужно ,что-то настроить неизвестное нашему разуму,о чем и спрашиваем
Abricosko вне форума Ответить с цитированием
Старый 03.06.2010, 21:58   #5
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

Цитата:
Сообщение от Abricosko Посмотреть сообщение
но выходит ,что корректировать данные можно ток в Гриде
Ну это хрень несусветная.
Конкретно что не получается?
И что делаете.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 03.06.2010, 22:14   #6
Abricosko
Пользователь
 
Регистрация: 01.06.2010
Сообщений: 29
По умолчанию

Код:
procedure TForm1.PriorClick(Sender: TObject);
begin
 ADOTable1.Prior;
 procedure TForm1.Edit1KeyDown(Sender: TObject;
 var Key: Word; Shift: TShiftState);
 begin
  if DataSource1.State <> dsEdit then
   ADOTable1.Edit;
 end; 
end;
понятно как настроить работу батонов с гридом ,а вот с Филдсами в ДБЕдитах ,не **** понятно)

Последний раз редактировалось Stilet; 04.06.2010 в 08:00.
Abricosko вне форума Ответить с цитированием
Старый 03.06.2010, 22:33   #7
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

На юух такой изврат?
Так на будущее всегда после insert, edit после изменений надо делать post.
Так далее у DbEdit есть свойство field привязывает к полю однозначно.
При редактировании (edit) меняет текущую запись.
При добавлении (insert) добавляет данные.
Т.е. логика следующая.
1. выделяем в DBGrid нужную нам запись.
2. Жмем редактировать (Edit).
3. Меняем в DBEdit то что нам надо
3. Сохраняем (Post)
При добавлении...
1. Жмем добавить (insert).
3. Пишем в DBEdit то что нам надо
3. Сохраняем (Post)

Все...
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 03.06.2010, 22:53   #8
Abricosko
Пользователь
 
Регистрация: 01.06.2010
Сообщений: 29
По умолчанию

Сенк Ю )а можешь подсказать с помощью чего осуществляется запись в буфер в Delphi?
Abricosko вне форума Ответить с цитированием
Старый 04.06.2010, 07:07   #9
rdama
Форумчанин
 
Аватар для rdama
 
Регистрация: 25.07.2009
Сообщений: 533
По умолчанию

О каком буфере ты говоришь.
Если буфер обмена то вот
http://delphi.dominus.ws/index.php?m...ticles&b=5&a=6
http://articles.org.ru/cfaq/index.php?qid=751
http://www.realcoding.net/articles/r...-v-delphi.html
http://www.delphisources.ru/pages/fa...clipboard.html

Ну и конечно гугль в помощь.
Маразм крепчал. Еноты пели...
R-style Dataknowlege Access Member Account (RDAMA)
rdama вне форума Ответить с цитированием
Старый 04.06.2010, 08:05   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Так на будущее всегда после insert, edit после изменений надо делать post.
Ой как не согласен... А если ошибка и нужно откат сделать всего введенного блока?
Опасная это штука коммит транзакций по одному оператору, да и ресурсы кушает.

Самый лучший вариант - вводить все в обычные эдиты а потом на их основе формировать SQL запрос:
Код:
 with adoQuery1 do begin
  sql.text:='insert into таблица (поле1,поле2) values (:a1,:a2)';
  with parameters do begin
   ParamByName('a1').Value:=Edit1.Text;
   ParamByName('a2').Value:=ComboBox1.Text;
   ...
   ExecSql;
  end;
 end;
И потом например переоткрыть запрос.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ограничение связей между полями таблицы в БД BloodyRose Помощь студентам 1 16.04.2010 09:04
Удаление связей между таблицами (Visual Basic) MeTeOpA Общие вопросы .NET 2 17.03.2010 10:44
Обновление связей между 2-мя и более книгами Quatro_Drive Microsoft Office Excel 5 30.12.2009 07:55
Excel глюкает из-за большого количества формул и связей между листами? Diva Microsoft Office Excel 1 07.08.2008 11:52
организация связей между таблицами VenMaster БД в Delphi 4 28.05.2008 16:46