//如果没有这个月的工资那么通过上个月的来生成
   with qryCom do
   begin
       close;
       Connection:=DataModule2.ADOConnection1;
       sql.clear;
       sql.add('select * from gz where year='''+cbxYear.Text +''' and month='''+c2.Text +'''');
       open;
       if Recordcount=0 then
         if Application.MessageBox('当前数据库中没有这个月份的工资,是否通过上个月的来生成?','提示',MB_ICONWARNING+MB_YESNO)=IDYES then
         with qryNextMonth do
         begin
               close;
               Connection:=DataModule2.ADOConnection1;
               sql.clear;
               sql.Add('insert into gz(year,month,A1,a2,dm,b,c01,c02,c03,c04,c05,c06,c07,c08,c09,c10,c11,c12,d01,d02,d03,d04,d05,d06,d07,d08,d09,e)');
               sql.add(' select '''+cbxYear.Text +''' as year,'''+c2.Text +''' as month,A1,A2,DM,B,c01,c02,c03,c04,c05,c06,c07,c08,c09,c10,c11,c12,D01,d02,d03,d04,d05,d06,d07,d08,d09,E');
               sql.add(' from gz where year+month=');
               sql.add('(select max(year+month) from gz)') ;
               execsql;
        end;
   end;我的代码是上面的代码,我用的数据库是Access,我一执行到这一布就告诉我insert语句语法错误,我把这个SQL语句拿到Access中的查询试图中执行,没有问题呀!请问各位大虾这到底是怎么回事?还是Access有限制