Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Базы данных и репортинг > Заполнение базы данных Access


Автор: alf138 12.12.2010, 19:54
Есть бд Access, в ней некоторое количество столбцов (неизвестно сколько), первый столбец мы заполняем, а остальные мы должны заполнить одим и тем же из edit4. Как это можно сделать ?

Автор: Данкинг 12.12.2010, 20:06
Не понял, что с первым столбцом - заполняем или не заполняем? Если не заполняем, то как-то так:
Код

for i:=1 to adotable.FieldCount-1  do
 adotable[adotable.Fields[i].FieldName].Fieldvalues:=Edit4.Text;


Автор: alf138 12.12.2010, 20:45
Спасибо большое, первый столбик не заполняется.

Автор: Данкинг 12.12.2010, 20:50
Ну, если надо будет заполнить первый столбик, то, соответственно, начнёшь цикл с 0. smile 

Автор: alf138 13.12.2010, 04:24
Поторопился я конечно ... У мне составной sql запрос что типо этого
Код

DataModule1.dlya_baz.Active:=False;  
DataModule1.dlya_baz.TableName:=DBLookupComboBox1.Text;    
DataModule1.dlya_baz.Active:=True;
ListBox1.Clear;
for i := 0 to DataModule1.dlya_baz.FieldCount - 1 do
ListBox1.Items.Add(DataModule1.dlya_baz.Fields[i].DisplayName);  
DataModule1.ADOQuery1.Active:=False;
DataModule1.ADOQuery1.Close;
DataModule1.ADOQuery1.SQL.Clear;
DataModule1.ADOQuery1.SQL.Add('INSERT INTO '+DBLookupComboBox1.Text);
DataModule1.ADOQuery1.SQL.Add('(data, ');
for j := 1 to ListBox1.Items.Count - 1 do
if j=ListBox1.Items.Count-1 then
DataModule1.ADOQuery1.SQL.Add(ListBox1.Items[j]+')')
else
DataModule1.ADOQuery1.SQL.Add(ListBox1.Items[j]+' ,');
DataModule1.ADOQuery1.SQL.Add('VALUES("'+DateTimeToStr(DateTimePicker1.Date)+'",'+DBEdit3.Text+')');
Memo2.Lines.Text:=DataModule1.ADOQuery1.SQL.Text;

и получается запрос 
Код

INSERT INTO 231
(data,
1 ,
2,
3)
VALUES("22.11.2010",312)

т.е столбиков у 4 а заполняются только два, нужно циклом пройтись по столбикам...
а ваш пример после 
Код

DataModule1.dlya_baz[DataModule1.dlya_baz.Fields[i].FieldName.]
 ругается не знает FieldValue

Автор: alf138 13.12.2010, 06:40
Все спасибо разобрался, сочинил цикл на основе ваших данных.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)