procedure TFrame_sell.Button2Click(Sender: TObject);
begin
dm.ADO_product.Open;
dm.ADO_product.First;
if not dm.ADO_product.Locate('商品编号',Edit1.Text,[]) then
begin
ShowMessage('未查到此种商品,请检查!');
Edit1.Text:='';
Edit1.SetFocus();
exit;
end; if dm.ADO_product.FieldByName('库存数量').AsInteger<StrToInt(Edit2.Text) then
begin
ShowMessage('对不起,库存数量不足');
Edit2.Text:='';
Edit2.SetFocus();
Exit;
end
else
begin
dm.ADO_tmpsell.Open;
dm.ADO_tmpsell.Append;
dm.ADO_tmpsell.FieldByName('销售商品编号').AsString:=dm.ADO_product.FieldByName('商品编号').AsString;
dm.ADO_tmpsell.FieldByName('销售商品名称').AsString:=dm.ADO_product.FieldByName('商品名称').AsString;
dm.ADO_tmpsell.FieldByName('销售商品单价').AsFloat:=dm.ADO_product.FieldByName('商品单价').AsFloat;
dm.ADO_tmpsell.FieldByName('销售商品数量').AsInteger:=StrToInt(Edit2.Text);
dm.ADO_tmpsell.FieldByName('收银员姓名').AsString:=Edit4.Text;
dm.ADO_tmpsell.FieldByName('销售时间').AsDateTime:=StrToDateTime(Edit5.Text);
dm.ADO_tmpsell.Post;
TotalMoney:=TotalMoney+dm.ADO_product.FieldByName('商品价格').AsFloat*StrToInt(Edit2.Text);
end;
Edit1.Text:='';
Edit2.Text:='';
Label4.Caption:=FloatToStr(TotalMoney); end;
procedure TFrame_sell.Button4Click(Sender: TObject);
begin
dm.ADO_tmpsell.Open;
if dm.ADO_tmpsell.IsEmpty then
begin
ShowMessage('没有销售明细,不可保存');
Exit;
end; if Edit3.Text:='' then
ShowMessage('没有收款,不可保存') else begin
if(StrToFloat(Edit3.Text)<TotalMoney) then
begin
MessageBox(handle,pchar('应收金额为'+FloatToStr(TotalMoney)+'元,收款不足!'),'检查输入',mb_iconwarning+mb_ok);
Exit;
end;
dm.ADOQ_tmpsell.Close;
dm.ADOQ_tmpsell.SQL.Clear;
dm.ADOQ_tmpsell.SQL.Add('insert into t_sell(销售商品编号,销售商品名称,销售商品单价,收银员姓名,销售时间,销售数量) select (销售商品编号,销售商品名称,销售商品单价,收银员姓名,销售时间,销售商品数量) from tmpsell');
dm.ADOQ_tmpsell.ExecSQL;
dm.ADOQ_tmpsell.Close;
dm.ADOQ_tmpsell.Open;
dm.ADOQ_tmpsell.First;
while not dm.ADO_tmpsell.Eof do
begin
dm.ADO_product.Open;
dm.ADO_product.Locate('商品编号',dm.ADO_tmpsell.FieldByName('销售商品编号').AsString,[]);
dm.ADO_product.Edit;
dm.ADO_product.FieldByName('销售数量').AsInteger:=dm.ADO_product.FieldByName('销售数量').AsInteger+dm.ADO_tmpsell.FieldByName('销售商品数量').AsInteger;
dm.ADO_product.FieldByName('库存数量').AsInteger:=dm.ADO_product.FieldByName('库存数量').AsInteger-dm.ADO_tmpsell.FieldByName('销售商品数量').AsInteger;
dm.ADO_product.Post;
dm.ADO_tmpsell.Next;
end;
dm.ADOQ_tmpsell.SQL.Clear;
dm.ADOQ_tmpsell.SQL.Add('delete from tmpsell');
dm.ADOQ_tmpsell.ExecSQL;
dm.ADO_tmpsell.Close;
MessageBox(handle,pchar('找零'+FloatToStr(StrToFloat(Edit3.Text)-TotalMoney)+'元,谢谢惠顾!') ,'销售完成',mb_iconwarning+mb_ok);
Edit1.Visible:=False;
Edit2.Visible:=False;
Edit3.Text:='';
Label4.Caption:='0';
end;
end;
procedure TFrame_sell.Button3Click(Sender: TObject);
begin
dm.ADOQ_tmpsell.SQL.Clear;
dm.ADOQ_tmpsell.SQL.Add('delete from tmpsell');
dm.ADOQ_tmpsell.ExecSQL;
dm.ADOQ_tmpsell.Close;
dm.ADO_tmpsell.Close;
dm.ADO_tmpsell.Open;
Edit1.Visible:=False;
Edit2.Visible:=False;
Edit3.Text:='';
Label4.Caption:='0';end;end.
begin
dm.ADO_product.Open;
dm.ADO_product.First;
if not dm.ADO_product.Locate('商品编号',Edit1.Text,[]) then
begin
ShowMessage('未查到此种商品,请检查!');
Edit1.Text:='';
Edit1.SetFocus();
exit;
end; if dm.ADO_product.FieldByName('库存数量').AsInteger<StrToInt(Edit2.Text) then
begin
ShowMessage('对不起,库存数量不足');
Edit2.Text:='';
Edit2.SetFocus();
Exit;
end
else
begin
dm.ADO_tmpsell.Open;
dm.ADO_tmpsell.Append;
dm.ADO_tmpsell.FieldByName('销售商品编号').AsString:=dm.ADO_product.FieldByName('商品编号').AsString;
dm.ADO_tmpsell.FieldByName('销售商品名称').AsString:=dm.ADO_product.FieldByName('商品名称').AsString;
dm.ADO_tmpsell.FieldByName('销售商品单价').AsFloat:=dm.ADO_product.FieldByName('商品单价').AsFloat;
dm.ADO_tmpsell.FieldByName('销售商品数量').AsInteger:=StrToInt(Edit2.Text);
dm.ADO_tmpsell.FieldByName('收银员姓名').AsString:=Edit4.Text;
dm.ADO_tmpsell.FieldByName('销售时间').AsDateTime:=StrToDateTime(Edit5.Text);
dm.ADO_tmpsell.Post;
TotalMoney:=TotalMoney+dm.ADO_product.FieldByName('商品价格').AsFloat*StrToInt(Edit2.Text);
end;
Edit1.Text:='';
Edit2.Text:='';
Label4.Caption:=FloatToStr(TotalMoney); end;
procedure TFrame_sell.Button4Click(Sender: TObject);
begin
dm.ADO_tmpsell.Open;
if dm.ADO_tmpsell.IsEmpty then
begin
ShowMessage('没有销售明细,不可保存');
Exit;
end; if Edit3.Text:='' then
ShowMessage('没有收款,不可保存') else begin
if(StrToFloat(Edit3.Text)<TotalMoney) then
begin
MessageBox(handle,pchar('应收金额为'+FloatToStr(TotalMoney)+'元,收款不足!'),'检查输入',mb_iconwarning+mb_ok);
Exit;
end;
dm.ADOQ_tmpsell.Close;
dm.ADOQ_tmpsell.SQL.Clear;
dm.ADOQ_tmpsell.SQL.Add('insert into t_sell(销售商品编号,销售商品名称,销售商品单价,收银员姓名,销售时间,销售数量) select (销售商品编号,销售商品名称,销售商品单价,收银员姓名,销售时间,销售商品数量) from tmpsell');
dm.ADOQ_tmpsell.ExecSQL;
dm.ADOQ_tmpsell.Close;
dm.ADOQ_tmpsell.Open;
dm.ADOQ_tmpsell.First;
while not dm.ADO_tmpsell.Eof do
begin
dm.ADO_product.Open;
dm.ADO_product.Locate('商品编号',dm.ADO_tmpsell.FieldByName('销售商品编号').AsString,[]);
dm.ADO_product.Edit;
dm.ADO_product.FieldByName('销售数量').AsInteger:=dm.ADO_product.FieldByName('销售数量').AsInteger+dm.ADO_tmpsell.FieldByName('销售商品数量').AsInteger;
dm.ADO_product.FieldByName('库存数量').AsInteger:=dm.ADO_product.FieldByName('库存数量').AsInteger-dm.ADO_tmpsell.FieldByName('销售商品数量').AsInteger;
dm.ADO_product.Post;
dm.ADO_tmpsell.Next;
end;
dm.ADOQ_tmpsell.SQL.Clear;
dm.ADOQ_tmpsell.SQL.Add('delete from tmpsell');
dm.ADOQ_tmpsell.ExecSQL;
dm.ADO_tmpsell.Close;
MessageBox(handle,pchar('找零'+FloatToStr(StrToFloat(Edit3.Text)-TotalMoney)+'元,谢谢惠顾!') ,'销售完成',mb_iconwarning+mb_ok);
Edit1.Visible:=False;
Edit2.Visible:=False;
Edit3.Text:='';
Label4.Caption:='0';
end;
end;
procedure TFrame_sell.Button3Click(Sender: TObject);
begin
dm.ADOQ_tmpsell.SQL.Clear;
dm.ADOQ_tmpsell.SQL.Add('delete from tmpsell');
dm.ADOQ_tmpsell.ExecSQL;
dm.ADOQ_tmpsell.Close;
dm.ADO_tmpsell.Close;
dm.ADO_tmpsell.Open;
Edit1.Visible:=False;
Edit2.Visible:=False;
Edit3.Text:='';
Label4.Caption:='0';end;end.
点cnpack的run按钮,这时Delphi抛出的提示是看不到的,最好点Delphi自己的Run。
另一种情况就是 点击Run时,底下的运行信息会提示不能运行的原因。