Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.05.2012, 10:51
fdaptaciya fdaptaciya вне форума
Прохожий
 
Регистрация: 16.05.2012
Сообщения: 6
Версия Delphi: 7
Репутация: 10
По умолчанию Форма для добавления данных в таблицу

Есть несколько таблиц, как сделать отдельную форму чтобы вписывать в поля данные, чтобы они записывались в таблицу или таблицы?
Таблицы выведены из accsess

Подскажите пожалуйста.
Ответить с цитированием
  #2  
Старый 16.05.2012, 11:03
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Почитайте про компоненты, находящиеся во вкладке Data Controls. В особенности про DBGrid DBNavigator для его управления). DBGrid выводит данные в виде таблицы, и при помощи него можно добавлять, редактировать и удалять данные, хранящиеся непосредственно в базе данных.
__________________
Google в помощь
Ответить с цитированием
  #3  
Старый 16.05.2012, 11:12
fdaptaciya fdaptaciya вне форума
Прохожий
 
Регистрация: 16.05.2012
Сообщения: 6
Версия Delphi: 7
Репутация: 10
По умолчанию

нужно на отдельной форме, с помощью полей edit и тд , для записи в таблицу. навигатор есть непосредственно на форме с таблицей
Ответить с цитированием
  #4  
Старый 16.05.2012, 11:17
Аватар для Ildar-tsr
Ildar-tsr Ildar-tsr вне форума
Местный
 
Регистрация: 09.08.2011
Адрес: г.Сургут, ХМАО
Сообщения: 453
Репутация: 7402
По умолчанию

Добавляешь проекту новую форму (Form2 например), располагаешь на ней DBEdit'ы (Data Controls). А потом что-то вроде этого:
Код:
procedure TForm1.Button1Click(TObject: Sender);
begin
  ADOQuery1.Insert;
  Form2:= TForm2.Create(Application);
  Form2.ShowModal;
  if Form2.ModalResult = mrOk then
    ADOQuery1.Post;
  Form2.Free;
end;
__________________
Google в помощь
Ответить с цитированием
  #5  
Старый 17.05.2012, 15:16
AlexGTX AlexGTX вне форума
Прохожий
 
Регистрация: 19.04.2012
Сообщения: 24
Репутация: 10
По умолчанию

В моем проэкте таблицы в Парадоксе, сделал так, для Аксеса аналогично.
Код:
//Добавление в таблицу Магазин 1
        FormMag.DSMag1.DataSet:=FormMag.TabMag1;
        FormMag.TabMag1.Last;
    try
       FormMag.TabMag1.AppendRecord([
       DateTimePicker1.Date,            //Дата
       Edit7.Text,                      //Артикул
       Edit1.Text,                      //Название
       ComboBox1.Text,                  //Сезон
       ComboBox2.Text,                  //Пол
       Edit2.Text,                      //Материал
       Edit3.Text,                      //Фирма
       Edit4.Text,                      //Страна
       StrToInt(Edit5.Text),            //Количество
       StrToInt(Edit6.Text)]);          //Цена
       except
      MessageDlg('В поля формы введены недопустимые данные',
          mtError,[mbOK],0);
       Exit;
    end;
Админ: Пользуемся тегами, при рецедиве последует БАН.

Последний раз редактировалось Admin, 17.05.2012 в 16:15.
Ответить с цитированием
  #6  
Старый 17.05.2012, 15:21
AlexGTX AlexGTX вне форума
Прохожий
 
Регистрация: 19.04.2012
Сообщения: 24
Репутация: 10
По умолчанию

Выбор таблицы в которую в данный момент вносятся данные удобнее реализовать с помощью ComboBox, а в программном модуле поставить условие - добавлять данные в таблицу которая выбрана в ComboBox. Удачной компиляции!!!
Ответить с цитированием
  #7  
Старый 17.05.2012, 18:47
Аватар для Viajero
Viajero Viajero вне форума
Активный
 
Регистрация: 14.06.2011
Адрес: РБ
Сообщения: 214
Версия Delphi: Delphi 7 FB 2.5
Репутация: 5849
По умолчанию

Здесь используются обычные Edit (Не DBEdit). Преимущество: я могу данные фильтровать и корректировать как хочу.
Код:
procedure TwCard.fCardSave(Sender: TObject);   {Сохранение карты в базе]}
begin
     fwBase.ffCards.Append;
 
    idCard:=fwBase.fdbMain.Gen_Id('CARD_SEQ',1);             
    sCardOpen:=DateToStr(dNowStored);
    eCardOpen.Text:='  '+sCardOpen;

    fwBase.ffCards.FieldByName('CARD_ID').AsInteger:=idCard;
    fwBase.ffCards.FieldByName('CARD_OPEN').AsString:=sCardOpen;
    fwBase.ffCards.FieldByName('BIRTH_DATE').AsString:=eBirthDate.Text;
    fwBase.ffCards.FieldByName('PATIENT_FAMILY').AsString:=eFamily.Text;
    fwBase.ffCards.FieldByName('TOWN').AsString:=eTown.Text;
    fwBase.ffCards.FieldByName('STREET').AsString:=eStreet.Text;
    fwBase.ffCards.FieldByName('HOUSE').AsString:=eHouse.Text;
    fwBase.ffCards.FieldByName('PATIENT_PHONE').AsString:=ePhone.Text;

    fwBase.ffCards.Post;
    fwBase.ffCards.ApplyUpdates;
    fwBase.ftaMainWrite.Commit;

end;

procedure TwCard.fCardLoad(Sender: TObject);  {Загрузка карты из базы}
begin
  bCardNew:=false;    bCardSaved:=true;   bCardEdit:=false;
  eCardNumber.Text:=nulltoempty(fwBase.ffCards.FieldByName('CARD_ID').AsString);
  eCardOpen.Text:=nulltoempty(fwBase.ffCards.FieldByName('CARD_OPEN').AsString);
  eBirthDate.Text:=nulltoempty(fwBase.ffCards.FieldByName('BIRTH_DATE').AsString);
  eFamily.Text:=nulltoempty(fwBase.ffCards.FieldByName('PATIENT_FAMILY').AsString);
  eTown.Text:=nulltoempty(fwBase.ffCards.FieldByName('TOWN').AsString);
  eStreet.Text:=nulltoempty(fwBase.ffCards.FieldByName('STREET').AsString);
  eHouse.Text:=nulltoempty(fwBase.ffCards.FieldByName('HOUSE_NUMBER').AsString);
  eFlat.Text:=nulltoempty(fwBase.ffCards.FieldByName('FLAT_NUMBER').AsString);
  ePhone.Text:=nulltoempty(fwBase.ffCards.FieldByName('PATIENT_PHONE').AsString);
end;
__________________
- Товарищ прапорщик!!! Остановите поезд!!! - Поезд СТОЙ! РАЗ! ДВА!

Последний раз редактировалось Viajero, 17.05.2012 в 18:53.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:03.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter