大家都进来看看,哪里错了!高分相送......
procedure TfrmInputManage.BtMonthClick(Sender: TObject);
var
tablename,y,m,sqlstr:string;
SL: TStrings;
index,flag: Integer;
begin
flag:=0;
SL := TStringList.Create;
y:=formatdatetime('yyyy',now);
if (strtoint(formatdatetime('mm',now))-1)<10 then
m:='0'+inttostr(strtoint(formatdatetime('mm',now)))
else
m:=inttostr(strtoint(formatdatetime('mm',now)));
tablename:=y+m;
try
DMtongtao.ADOCtongtao.GetTableNames(SL, False);
for index := 0 to (SL.Count - 1) do begin
if tablename=SL[index] then
flag:=1
end;
finally
SL.Free;
end;
if flag=1 then
showmessage('该月的入库汇总表已存在!');
DMtongtao.ADOQrkdj.Close;
DMtongtao.ADOQrkdj.SQL.Add('select * from rkdjb where SUBSTRING(rkdh,5,2)='''+m+'''');
DMtongtao.ADOQrkdj.Open;
if DMtongtao.ADOQrkdj.IsEmpty then
begin
DMtongtao.ADOQrkdj.Close;
showmessage('该月不存在入库信息!');
end
else
begin
sqlstr:='select P_code as 产品编号,P_name as 产品名,sum(P_sl) as 总数量,sum(P_sl*P_price) as 总金额 into '+tablename+' from rkdjb group by P_code,p_name order by P_code,P_name';
ADOQCreate.Close;
ADOQCreate.SQL.Add(sqlstr);
ADOQCreate.ExecSQL;
end;
ADOTable1.TableName:=tablename;
ADOTable1.Active:=true;
end;
总说第一行200405附近有错误,我是看不出来了
sql语句应该没问题,我在sql server里通过了的