Здравствуйте .Ребят такая проблемка .После переноса с sql базу данных на акссес программа выдает ошибку .а точнее
ads.Active:=false;
ads.CommandText:='select * from organs where organs.oname='+quotedstr(orgname.Text);
ads.Active:=true;
if ads.RecordCount=0 then
begin
form3.eoname.Text:=orgname.Text;
form3.showmodal
end;
ads.Active:=false;
ads.CommandText:='select * from res_givers, organs where res_givers.rgfname='+quotedstr(rgfname.Text)+' and res_givers.rgnoname='+quotedstr(rgnoname.Text)+' and res_givers.rgorg=organs.oid and organs.oname='+quotedstr(orgname.Text);
ads.Active:=true;
if ads.RecordCount=0 then
begin
ads.Active:=false;
ads.CommandText:='select * from organs where organs.oname='+quotedstr(orgname.Text);
ads.Active:=true;
adc.CommandText:='insert into res_givers values('+quotedstr(ads.Recordset.Fields[0].get_value)+', '+quotedstr(rgfname.Text)+', '+quotedstr(rgnoname.Text)+')';
adc.Execute
end;
peopds.Active:=false;
peopds.Filtered:=false;
peopds.CommandText:='select * from resolution where rregnum='+quotedstr(regnum.Text)+' and rregdate>=:date';
peopds.Parameters.ParamByName('date').DataType := ftDate;
peopds.Parameters.ParamByName('date').Value := regdate.Date;
peopds.Active:=true;
if peopds.RecordCount=0 then
begin
ads.Active:=false;
ads.CommandText:='select * from res_givers, organs where res_givers.rgfname='+quotedstr(rgfname.Text)+' and res_givers.rgnoname='+quotedstr(rgnoname.Text)+' and res_givers.rgorg=organs.oid and organs.oname='+quotedstr(orgname.Text);
ads.Active:=true;
adc.CommandText:='insert into resolution values(0, ' + quotedstr(ads.Recordset.Fields[0].get_value())+', '+quotedstr(art.Text)+', '+quotedstr(regnum.Text)+', :date1, :date2, :date3, :time, ' + quotedstr(floattostr(0))+')';
adc.Parameters.ParamByName('date1').DataType := ftDate;
adc.Parameters.ParamByName('date1').Value := regdate.Date;
adc.Parameters.ParamByName('date2').DataType := ftDate;
adc.Parameters.ParamByName('date2').Value := date.Date;
adc.Parameters.ParamByName('date3').DataType := ftDate;
adc.Parameters.ParamByName('date3').Value := todate.Date;
adc.Parameters.ParamByName('time').DataType := ftTime;
adc.Parameters.ParamByName('time').Value := totime.Time;
adc.Execute
end;
for i:=1 to peoples.count do
begin
rgds.Active:=false;
rgds.CommandText:='select * from cities where cname='+quotedstr(peoples.p[i].city);
rgds.Active:=true;
if rgds.RecordCount=0 then
begin
adc.CommandText:='insert into cities values('+quotedstr(peoples.p[i].city)+')';
adc.Execute;
rgds.Active:=false;
rgds.Active:=true
end;
ads.active:=false;
ads.CommandText:='select * from peoples where pfname='+quotedstr(peoples.p[i].fname)+' and pnname='+quotedstr(peoples.p[i].nname)+' and poname='+quotedstr(peoples.p[i].oname)+' and pwasborn='+inttostr(peoples.p[i].ywb);
ads.active:=true;
if ads.RecordCount=0 then
begin
adc.CommandText:='insert into peoples values('+quotedstr(peoples.p[i].fname)+', '+quotedstr(peoples.p[i].nname)+', '+quotedstr(peoples.p[i].oname)+', '+inttostr(peoples.p[i].ywb)+', '+quotedstr(rgds.Recordset.Fields[0].get_value())+', '+quotedstr(peoples.p[i].adress)+')';
adc.Execute;
ads.Active:=false;
ads.Active:=true
end;
kind.Filter:='sname='+quotedstr(peoples.p[i].stat);
kind.Filtered:=true;
if kind.RecordCount=0 then
begin
adc.CommandText:='insert into stat values('+quotedstr(peoples.p[i].stat)+')';
adc.Execute;
kind.Active:=false;
kind.Active:=true
end;
peopds.Active:=false;
peopds.Active:=true;
adc.CommandText:='insert into who_why values('+quotedstr(peopds.Recordset.Fields[0].get_value())+', '+quotedstr(ads.Recordset.Fields[0].get_value())+', '+quotedstr(kind.Recordset.Fields[0].get_value())+')';
adc.Execute;
kind.Filtered:=false
end;
form1.Close
end;
procedure TForm1.rgfnameChange(Sender: TObject);
begin
rgds.Filter:='rgfname='+quotedstr(rgfname.Text);
rgds.Filtered:=true;
if rgds.RecordCount=1 then rgnoname.Text:=rgds.Recordset.Fields[1].get_value();
rgds.Filtered:=false
end;
end.
в запросах insert into res_givers values .Как я понимаю для акссес нужно как то по другому прописывать? ошибка такая(Проект вызвал исключение класса EOleException с сообщением Изменения не были успешно внесены из-за повторящихся значений в индексе,ключевых полях или связях,Измените данные в поле или полях. И вот в бд у меня код стоит счетчик .а после заполнения в программе она выдает ошибку но добавляет в базу .только не по порядку 1,2,3 а в последовательности 0,0,0