Query1->Close();Query1->SQL->Clear();
Query1->SQL->Add("SELECT SUM(DBSR),SUM(CASE WHEN DBSR>DWJF.DBGRYJ THEN DWJF.DBGRYJ ELSE DBSR END),");
Query1->SQL->Add("SUM(CASE WHEN DBSR>DWJF.DBGRYJ+DWJF.DBDWYJ THEN DWJF.DBDWYJ WHEN DBSR>DWJF.DBGRYJ THEN DBSR-DWJF.DBGRYJ ELSE 0 END) FROM DWJF ");
Query1->SQL->Add("WHERE JFYF<=:JFYF");
Query1->SQL->Add("AND RYFL='0' AND JFLB='2'");
Query1->ParamByName("JFYF")->AsInteger=UpDown1->Position;
Query1->Open();
ss.OlePropertySet("Cells",8,15,Query1->Fields->Fields[1]->AsString);
Query1->Close();Query1->SQL->Clear();
Query1->SQL->Add("SELECT SUM(DBSR),SUM(CASE WHEN DBSR>DWJF.DBGRYJ THEN DWJF.DBGRYJ ELSE DBSR END),");
Query1->SQL->Add("SUM(CASE WHEN DBSR>DWJF.DBGRYJ+DWJF.DBDWYJ THEN DWJF.DBDWYJ WHEN DBSR>DWJF.DBGRYJ THEN DBSR-DWJF.DBGRYJ ELSE 0 END) FROM DWJF ");
Query1->SQL->Add("WHERE JFYF<=:JFYF");
Query1->SQL->Add("AND RYFL='2' AND JFLB='2'");
Query1->ParamByName("JFYF")->AsInteger=UpDown1->Position;
Query1->Open();
ss.OlePropertySet("Cells",9,15,Query1->Fields->Fields[1]->AsString);
for(int i=2;i<8;i++) {
Query1->Close();Query1->SQL->Clear();
Query1->SQL->Add("SELECT SUM(DBSR),SUM(CASE WHEN DBSR>DWJF.DBGRYJ THEN DWJF.DBGRYJ ELSE DBSR END),");
Query1->SQL->Add("SUM(CASE WHEN DBSR>DWJF.DBGRYJ+DWJF.DBDWYJ THEN DWJF.DBDWYJ WHEN DBSR>DWJF.DBGRYJ THEN DBSR-DWJF.DBGRYJ ELSE 0 END) ");
Query1->SQL->Add("FROM DWJF JOIN CBDW ON DWJF.DWBH=CBDW.DWBH");
Query1->SQL->Add("WHERE DWJF.JFYF=:JFYF AND CBDW.DWXZ=:DWXZ");
Query1->SQL->Add("AND RYFL='A' AND JFLB='2'");
Query1->ParamByName("JFYF")->AsInteger=UpDown1->Position;
Query1->ParamByName("DWXZ")->AsString=ss.OlePropertyGet("Cells",5,i);
Query1->Open();
ss.OlePropertySet("Cells",6,i,Query1->Fields->Fields[0]->AsString);
ss.OlePropertySet("Cells",7,i,Query1->Fields->Fields[2]->AsString);
Query1->Close();Query1->SQL->Clear();
Query1->SQL->Add("SELECT SUM(DBSR),SUM(CASE WHEN DBSR>DWJF.DBGRYJ THEN DWJF.DBGRYJ ELSE DBSR END),");
Query1->SQL->Add("SUM(CASE WHEN DBSR>DWJF.DBGRYJ+DWJF.DBDWYJ THEN DWJF.DBDWYJ WHEN DBSR>DWJF.DBGRYJ THEN DBSR-DWJF.DBGRYJ ELSE 0 END) ");
Query1->SQL->Add("FROM DWJF JOIN CBDW ON DWJF.DWBH=CBDW.DWBH");
Query1->SQL->Add("WHERE DWJF.JFYF=:JFYF AND CBDW.DWXZ=:DWXZ");
Query1->SQL->Add("AND RYFL='0' AND JFLB='2'");
Query1->ParamByName("JFYF")->AsInteger=UpDown1->Position;
Query1->ParamByName("DWXZ")->AsString=ss.OlePropertyGet("Cells",5,i);
Query1->Open();
ss.OlePropertySet("Cells",8,i,Query1->Fields->Fields[1]->AsString);
Query1->Close();Query1->SQL->Clear();
Query1->SQL->Add("SELECT SUM(DBSR),SUM(CASE WHEN DBSR>DWJF.DBGRYJ THEN DWJF.DBGRYJ ELSE DBSR END),");
Query1->SQL->Add("SUM(CASE WHEN DBSR>DWJF.DBGRYJ+DWJF.DBDWYJ THEN DWJF.DBDWYJ WHEN DBSR>DWJF.DBGRYJ THEN DBSR-DWJF.DBGRYJ ELSE 0 END) ");
Query1->SQL->Add("FROM DWJF JOIN CBDW ON DWJF.DWBH=CBDW.DWBH");
Query1->SQL->Add("WHERE DWJF.JFYF=:JFYF AND CBDW.DWXZ=:DWXZ");
Query1->SQL->Add("AND RYFL='2' AND JFLB='2'");
Query1->ParamByName("JFYF")->AsInteger=UpDown1->Position;
Query1->ParamByName("DWXZ")->AsString=ss.OlePropertyGet("Cells",5,i);
Query1->Open();
ss.OlePropertySet("Cells",9,i,Query1->Fields->Fields[1]->AsString); }
for(int i=9;i<15;i++) {
Query1->Close();Query1->SQL->Clear();
Query1->SQL->Add("SELECT SUM(DBSR),SUM(CASE WHEN DBSR>DWJF.DBGRYJ THEN DWJF.DBGRYJ ELSE DBSR END),");
Query1->SQL->Add("SUM(CASE WHEN DBSR>DWJF.DBGRYJ+DWJF.DBDWYJ THEN DWJF.DBDWYJ WHEN DBSR>DWJF.DBGRYJ THEN DBSR-DWJF.DBGRYJ ELSE 0 END) ");
Query1->SQL->Add("FROM DWJF JOIN CBDW ON DWJF.DWBH=CBDW.DWBH");
Query1->SQL->Add("WHERE DWJF.JFYF<=:JFYF AND CBDW.DWXZ=:DWXZ");
Query1->SQL->Add("AND RYFL='A' AND JFLB='2'");
Query1->ParamByName("JFYF")->AsInteger=UpDown1->Position;
Query1->ParamByName("DWXZ")->AsString=ss.OlePropertyGet("Cells",5,i);
Query1->Open();
ss.OlePropertySet("Cells",6,i,Query1->Fields->Fields[0]->AsString);
ss.OlePropertySet("Cells",7,i,Query1->Fields->Fields[2]->AsString);
Query1->Close();Query1->SQL->Clear();
Query1->SQL->Add("SELECT SUM(DBSR),SUM(CASE WHEN DBSR>DWJF.DBGRYJ THEN DWJF.DBGRYJ ELSE DBSR END),");
Query1->SQL->Add("SUM(CASE WHEN DBSR>DWJF.DBGRYJ+DWJF.DBDWYJ THEN DWJF.DBDWYJ WHEN DBSR>DWJF.DBGRYJ THEN DBSR-DWJF.DBGRYJ ELSE 0 END) ");
Query1->SQL->Add("FROM DWJF JOIN CBDW ON DWJF.DWBH=CBDW.DWBH");
Query1->SQL->Add("WHERE DWJF.JFYF<=:JFYF AND CBDW.DWXZ=:DWXZ");
Query1->SQL->Add("AND RYFL='0' AND JFLB='2'");
Query1->ParamByName("JFYF")->AsInteger=UpDown1->Position;
Query1->ParamByName("DWXZ")->AsString=ss.OlePropertyGet("Cells",5,i);
Query1->Open();
ss.OlePropertySet("Cells",8,i,Query1->Fields->Fields[1]->AsString);
Query1->Close();Query1->SQL->Clear();
Query1->SQL->Add("SELECT SUM(DBSR),SUM(CASE WHEN DBSR>DWJF.DBGRYJ THEN DWJF.DBGRYJ ELSE DBSR END),");
Query1->SQL->Add("SUM(CASE WHEN DBSR>DWJF.DBGRYJ+DWJF.DBDWYJ THEN DWJF.DBDWYJ WHEN DBSR>DWJF.DBGRYJ THEN DBSR-DWJF.DBGRYJ ELSE 0 END) ");
Query1->SQL->Add("FROM DWJF JOIN CBDW ON DWJF.DWBH=CBDW.DWBH");
Query1->SQL->Add("WHERE DWJF.JFYF<=:JFYF AND CBDW.DWXZ=:DWXZ");
Query1->SQL->Add("AND RYFL='2' AND JFLB='2'");
Query1->ParamByName("JFYF")->AsInteger=UpDown1->Position;
Query1->ParamByName("DWXZ")->AsString=ss.OlePropertyGet("Cells",5,i);
Query1->Open();
ss.OlePropertySet("Cells",9,i,Query1->Fields->Fields[1]->AsString); }
//---------------------------------------- 上年结余
Query1->Close();Query1->SQL->Clear();
Query1->SQL->Add("SELECT SUM(DBSR) FROM DWJF ");
Query1->SQL->Add("WHERE JFYF=0");
Query1->SQL->Add("AND RYFL='A' AND JFLB='2'");
Query1->Open();
ss.OlePropertySet("Cells",20,8,Query1->Fields->Fields[0]->AsString);
for(int i=2;i<8;i++) {
Query1->Close();Query1->SQL->Clear();
Query1->SQL->Add("SELECT SUM(DBSR)");
Query1->SQL->Add("FROM DWJF JOIN CBDW ON DWJF.DWBH=CBDW.DWBH");
Query1->SQL->Add("WHERE DWJF.JFYF=0 AND CBDW.DWXZ=:DWXZ");
Query1->SQL->Add("AND RYFL='A' AND JFLB='2'");
Query1->ParamByName("DWXZ")->AsString=ss.OlePropertyGet("Cells",5,i);
Query1->Open();
ss.OlePropertySet("Cells",20,i,Query1->Fields->Fields[0]->AsString); }
// for(int i=2;i<=15;i++) ss.OlePropertySet("Cells",36,i,"=SUM(R6C"+IntToStr(i)+",R20C"+IntToStr(i)+")");
ss=Unassigned;
ee=Unassigned;