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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2015, 19:45   #1
Vongud
Пользователь
 
Аватар для Vongud
 
Регистрация: 26.08.2014
Сообщений: 24
Стрелка Программно добавить поле в DBEdit

Как можно программно подставить поле в DBEdit? БД Access. Вот кусок кода.
Код:
procedure TFEditTchmi.TNChange(Sender: TObject);  //FEditTchmi-это форма
begin
  if Tchm.Checked then   //Tchm-это RadioButton
  begin
    TN.DataSource := DM1.DSTchm; //TN-это DBEdit
    TN.DataField := String(TN);  //пробовал и без String, ошибка несоответствия полей
  end;
end;

Вообщем ситуёвина такая-у меня через радиобаттон должны переключаться таблицы (всего две). И в зависимости от выбранной таблицы в дбэдитах должны отображаться данные из соответствующей таблице. Также на форме есть дбгрид, так там я настроил, а с дбэдитами не могу разобраться. Такое чувство, что свойство DataField не открывается. Там, после того, как в DataSource должна открыться таблица DSTchm, появится поле TN. Вот код для дбгрида:

Код:
procedure TFEditTchmi.TchmClick(Sender: TObject);
begin

if
 Tchm.Checked = true then
 DM1.ADOQueryTchm.SQL.Clear;
 DM1.ADOQueryTchm.SQL.Add('SELECT TN AS [Таб №], Name1 AS [Фамилия] FROM Tchm ORDER BY Name1');
 DBGrEditTchmi.DataSource := DM1.DSTchm; //DBGrEditTchmi-это дбгрид
 DM1.ADOQueryTchm.Open;
end;

procedure TFEditTchmi.TchmpClick(Sender: TObject);
begin
if
 Tchmp.Checked = true then
 DM1.ADOQueryTchmp.SQL.Clear;
 DM1.ADOQueryTchmp.SQL.Add('SELECT TN AS [Таб №], Name1 AS [Фамилия] FROM Tchmp ORDER BY Name1');
 DBGrEditTchmi.DataSource := DM1.DSTchmp;
 DM1.ADOQueryTchmp.Open;
end;

Последний раз редактировалось Stilet; 08.02.2015 в 21:34.
Vongud вне форума Ответить с цитированием
Старый 08.02.2015, 20:56   #2
kropotkina-alice
Форумчанин
 
Аватар для kropotkina-alice
 
Регистрация: 27.10.2014
Сообщений: 594
По умолчанию

Что это за бред?
Код:
TN.DataField := String(TN);//TN-это DBEdit
Вы пытаетесь превратить TDBEdit в TString???
Задавайте просто:
Код:
TN.DataField := 'имя поля';
или
TN.DataField := Edit45.Text;
(Код обозначается не выдумками типа "[DELPHI]" "[/DELPHI]", а решёточкой - есть такой значок # над полем редактирования...)
kropotkina-alice вне форума Ответить с цитированием
Старый 08.02.2015, 21:29   #3
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

Цитата:
код для дбгрида:
для едитов почему по другому делаете?
lomastr_ вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программно создать поле в колонтитуле madster Microsoft Office Word 11 26.06.2012 16:04
Программно вставить поле TOC doober Microsoft Office Word 2 24.10.2011 23:23
DBEdit.EditText как изменить программно? Red_Garry Общие вопросы Delphi 10 13.07.2011 10:24
Как программно добавить поле Lookup в ADOQuery aquatell БД в Delphi 0 04.05.2011 01:15
Программно добавить подменю Rolls Общие вопросы Delphi 2 04.06.2010 11:34