![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Есть несколько таблиц, как сделать отдельную форму чтобы вписывать в поля данные, чтобы они записывались в таблицу или таблицы?
Таблицы выведены из accsess Подскажите пожалуйста. |
|
#2
|
||||
|
||||
|
Почитайте про компоненты, находящиеся во вкладке Data Controls. В особенности про DBGrid (и DBNavigator для его управления). DBGrid выводит данные в виде таблицы, и при помощи него можно добавлять, редактировать и удалять данные, хранящиеся непосредственно в базе данных.
|
|
#3
|
|||
|
|||
|
нужно на отдельной форме, с помощью полей edit и тд , для записи в таблицу. навигатор есть непосредственно на форме с таблицей
|
|
#4
|
||||
|
||||
|
Добавляешь проекту новую форму (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; |
|
#5
|
|||
|
|||
|
В моем проэкте таблицы в Парадоксе, сделал так, для Аксеса аналогично.
Код:
//Добавление в таблицу Магазин 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
|
|||
|
|||
|
Выбор таблицы в которую в данный момент вносятся данные удобнее реализовать с помощью ComboBox, а в программном модуле поставить условие - добавлять данные в таблицу которая выбрана в ComboBox. Удачной компиляции!!!
|
|
#7
|
||||
|
||||
|
Здесь используются обычные 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. |