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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.11.2008, 17:55   #1
roach
 
Регистрация: 10.11.2008
Сообщений: 3
По умолчанию Из DBgrid в DBgrid

Не могу понять! нашел то что мне нужно на форуме, но всегда выскакивает ошибка. Имеем 2 грида. Подвязанных к разным таблица. Нужно: по нажатию кнопки перенести ФИО из одного в другой, сдобавление строчки, а еще в поле №карточки вставить число рандомом и в поле дата вставить текущую дату.

Мой код

procedure TForm2.Button2Click(Sender: TObject);
begin

datasource2.DataSet.edit;
DBGrid2.DataSource.DataSet.Append;

DBGrid2.DataSource.DataSet.FieldByN ame('f').Value:=
DBGrid1.DataSource.DataSet.FieldByN ame('f').Value;

DBGrid2.DataSource.DataSet.FieldByN ame('i').Value:=
DBGrid1.DataSource.DataSet.FieldByN ame('i').Value;

DBGrid2.DataSource.DataSet.FieldByN ame('o').Value:=
DBGrid1.DataSource.DataSet.FieldByN ame('o').Value;

DBGrid2.DataSource.DataSet.FieldByN ame('i').Value:=
DBGrid1.DataSource.DataSet.FieldByN ame('i').Value;
DBGrid2.DataSource.DataSet.Post;
datasource2.DataSet.Open;

DBGrid2.DataSource.DataSet.FieldByN ame('DataKarti').Value:=Datetostr(n ow);
table2.FieldByName('NomerKarti').Va lue:=random(10);

end;

Если что то не так может кто подскажет. Дело важное, диплом все таки!
roach вне форума Ответить с цитированием
Старый 12.11.2008, 19:27   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

В-первых, для оформления кода есть спец. тэг (вызывается значком #). Оформляйте нормально, пока не получили замечание от модера.
Код:
procedure TForm2.Button2Click(Sender: TObject);
begin
datasource2.DataSet.edit;
DBGrid2.DataSource.DataSet.Append;
DBGrid2.DataSource.DataSet.FieldByName('f').Value: =
DBGrid1.DataSource.DataSet.FieldByName('f').Value; 
DBGrid2.DataSource.DataSet.FieldByName('i').Value: =
DBGrid1.DataSource.DataSet.FieldByName('i').Value; 
DBGrid2.DataSource.DataSet.FieldByName('o').Value: =
DBGrid1.DataSource.DataSet.FieldByName('o').Value; 
DBGrid2.DataSource.DataSet.FieldByName('i').Value: =
DBGrid1.DataSource.DataSet.FieldByName('i').Value; 
DBGrid2.DataSource.DataSet.Post;
datasource2.DataSet.Open;
DBGrid2.DataSource.DataSet.FieldByName('DataKarti' ).Value:=Datetostr(now);
table2.FieldByName('NomerKarti').Value:=random(10) ;
end;
Зачем это вот - выделенное красным?
Перед тем, как присвоить значение полю в table2 ее, наверное, нужно перевести в режим редактирования? table2.Edit;
mihali4 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DBGrid Valera Помощь студентам 4 22.04.2009 16:54
DBGRID Devikss БД в Delphi 2 29.05.2008 08:17
DBGrid sergei64_89 БД в Delphi 0 09.05.2008 19:48
DBGrid 1nurik1 БД в Delphi 17 17.07.2007 17:20