//如果没有这个月的工资那么通过上个月的来生成
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有限制
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有限制
[year],[month]