⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.pas

📁 类似于安利公司的奖金制度下的会员层次关系、会员级别、会员奖金等
💻 PAS
📖 第 1 页 / 共 2 页
字号:
begin
    Label1.Caption := '会员机构列表';
    Panel2.Hide;
    Panel6.Hide;
    Panel3.Show;
    Panel1.Show;
    WhichButtonClick := 1;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
    Label1.Caption := '会员机构列表';
    Panel3.Hide;
    Panel1.Hide;
    Panel2.Show;
    Panel6.Show;
    WhichButtonClick := 4;
//     DBGrid1CellClick
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  scaled := true;
  if (screen.width <> ScreenWidth) then
  begin
    height := longint(height) * longint(screen.height) div ScreenHeight;
    width := longint(width) * longint(screen.width) div ScreenWidth;
    scaleBy(screen.width, ScreenWidth);
  end;
  ChangeFonts(ScreenWidth,width);

    Panel2.Hide;
    Panel6.Hide;
    Panel3.Show;
    Panel1.Show;
//    DataModule1.ADOQuery2.close;
    DataModule1.ADOQuery2.SQL.Clear;
    DataModule1.ADOQuery2.SQL.Add('select * from member where class = :AA1');
    DataModule1.ADOQuery2.Parameters.ParamValues['AA1'] := 0;
    DataModule1.ADOQuery2.open;
    Label1.Caption := '普通会员机构';
    StringGrid1.RowCount := 10;
    StringGrid1.Cells[0,0] := '段号';
    StringGrid1.Cells[1,0] := '会员编号';
    StringGrid1.Cells[2,0] := '会员名称';
    StringGrid1.Cells[3,0] := '会员级别';
    StringGrid1.Cells[4,0] := '上级会员编号';

end;

procedure TForm1.Button6Click(Sender: TObject);
begin
    Label1.Caption := '会员机构查询';
    DataModule1.ADOQuery2.close;
    DataModule1.ADOQuery2.SQL.Clear;
    case RadioGroup2.ItemIndex of
    0: begin
         DataModule1.ADOQuery2.SQL.Add('Select * from member where member_id = "' + Edit2.Text +'"');
       end;
    1: begin
         DataModule1.ADOQuery2.SQL.Add('Select * from member where name like "%' + Edit2.Text +'%"');
       end;
    2: begin
         DataModule1.ADOQuery2.SQL.Add('Select * from member where person like "%' + Edit2.Text +'%"');
       end;
    3: begin
         DataModule1.ADOQuery2.SQL.Add('Select * from member where (handphone like "%' + Edit2.Text +
                 '%") or (telephone like "%' + Edit2.Text + '%")');
       end;
    end;
    DataModule1.ADOQuery2.open;

end;

procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
  MemberId,MemberName,MemberClass:string;
  I,J,K,C:integer;
begin
  if WhichButtonClick = 4 then begin
    MemberId := DataModule1.ADOQuery2.FieldValues['member_id'];
    MemberName := DataModule1.ADOQuery2.FieldValues['name'];
    MemberClass := DataModule1.ADOQuery2.FieldValues['class'];
    Label16.Caption := '选定会员:'+MemberName+',其下属会员层次关系列表:';
    StringGrid1.RowCount := 1;
    StringGrid1.Refresh;

//将选定会员的所有下属会员按段数存入临时表,假定选定会员为0段,下级会员段数加1;

    with DataModule1 do begin
      ADOdel_member1.SQL.Clear;
      ADOdel_member1.SQL.Add('delete from member_temp');   //清空临时表
      ADOdel_member1.ExecSQL;
      //插入第1行,选定会员
      ADOdel_member1.SQL.Clear;
      ADOdel_member1.SQL.Add('insert into member_temp (member_id,name,class,higher_id,lv,row_num) values ("'+
                MemberId+'","'+MemberName+'",'+MemberClass+',"",0,0)');
      ADOdel_member1.ExecSQL;
      I := 1;
      repeat
        C := 0;
        ADOQuery_S1.close;
        ADOQuery_S1.SQL.Clear;
        ADOQuery_S1.SQL.Add('Select member_id from member_temp where lv = '+inttostr(I-1));
        ADOQuery_S1.open;
        for J := 1 to ADOQuery_S1.RecordCount do begin
          ADOQuery_S2.close;
          ADOQuery_S2.SQL.Clear;
          ADOQuery_S2.SQL.Add('Select member_id,name,class from member where higher_id = "'+ADOQuery_S1.Recordset.Fields.Item['member_id'].Value+'"');
          ADOQuery_S2.open;
          for K := 1 to ADOQuery_S2.RecordCount do begin
            ADOdel_member1.SQL.Clear;
            ADOdel_member1.SQL.Add('insert into member_temp (member_id,name,class,higher_id,lv,row_num) values ("'+
                ADOQuery_S2.Recordset.Fields.Item['member_id'].Value+'","'+ADOQuery_S2.Recordset.Fields.Item['name'].Value+
                '",'+inttostr(ADOQuery_S2.Recordset.Fields.Item['class'].Value)+',"'+ADOQuery_S1.Recordset.Fields.Item['member_id'].Value+'",'+inttostr(I)+',-1)');
            ADOdel_member1.ExecSQL;
            if K < ADOQuery_S2.RecordCount then ADOQuery_S2.Recordset.MoveNext;
            Inc(C);
          end;
          if J < ADOQuery_S1.RecordCount then ADOQuery_S1.Recordset.MoveNext;
        end;
        Inc(I);
      until C = 0;     //C=0 说明本段没有数据插入,段到此结束

      ADOQuery_S2.close;
      ADOQuery_S1.close;
      ADOQuery_S1.SQL.Clear;
      ADOQuery_S1.SQL.Add('Select * from member_temp order by lv,higher_id,member_id');
      ADOQuery_S1.open;
      Num := ADOQuery_S1.RecordCount;
      StringGrid1.RowCount := Num+1;
      for J := 1 to ADOQuery_S1.RecordCount do begin
        StringGrid1.Cells[0,J] := ADOQuery_S1.Recordset.Fields.Item['lv'].Value;
        StringGrid1.Cells[1,J] := ADOQuery_S1.Recordset.Fields.Item['member_id'].Value;
        StringGrid1.Cells[2,J] := ADOQuery_S1.Recordset.Fields.Item['name'].Value;
        StringGrid1.Cells[3,J] := ADOQuery_S1.Recordset.Fields.Item['class'].Value;
        StringGrid1.Cells[4,J] := ADOQuery_S1.Recordset.Fields.Item['higher_id'].Value;
        ADOQuery_S1.Recordset.MoveNext;
      end;
      ADOQuery_S1.close;
    end;
  end;
end;

procedure TForm1.N3Click(Sender: TObject);
begin
//辅导津贴比例设置
    Application.CreateForm(TForm4,Form4);
    if Form4.Tag = 1 then
      try
        Form4.ShowModal;
      finally
        Form4.Release;
      end
    else
      Form4.Release;
end;

procedure TForm1.N4Click(Sender: TObject);
begin
//管理奖比例设置
    Application.CreateForm(TForm5,Form5);
    if Form5.Tag = 1 then
      try
        Form5.ShowModal;
      finally
        Form5.Release;
      end
    else
      Form5.Release;
end;

procedure TForm1.N7Click(Sender: TObject);
begin
//会员升级
    Selected_MemberID := DataModule1.ADOQuery2.FieldValues['member_id'];
    Application.CreateForm(TForm6,Form6);
    if Form6.Tag = 1 then
      try
        Form6.ShowModal;
      finally
        Form6.Release;
      end
    else
      Form6.Release;
end;

procedure TForm1.N2Click(Sender: TObject);
begin
//综合查询
    Application.CreateForm(TForm8,Form8);
    if Form8.Tag = 1 then
      try
        Form8.ShowModal;
      finally
        Form8.Release;
      end
    else
      Form8.Release;
end;

procedure TForm1.N9Click(Sender: TObject);
begin
//月汇总结算
    Application.CreateForm(TForm9,Form9);
    if Form9.Tag = 1 then
      try
        Form9.ShowModal;
      finally
        Form9.Release;
      end
    else
      Form9.Release;
end;

procedure TForm1.Button9Click(Sender: TObject);
var
  rangeE:Excel2000.Range;
  I,J:integer;
begin
  // creat and show
  ExcelApplication1.Visible[0] := True;
  ExcelApplication1.Workbooks.Add(NULL,0);
  //fill is the first row with field titles 第一行为标题
  RangeE := ExcelApplication1.ActiveCell;    //选择单元格
  RangeE.Value := '段号';
  RangeE := RangeE.Next;
  RangeE.Value := '会员编号';
  RangeE := RangeE.Next;
  RangeE.Value := '会员名称';
  RangeE := RangeE.Next;
  RangeE.Value := '会员级别';
  RangeE := RangeE.Next;
  RangeE.Value := '上级会员编号';
  RangeE := RangeE.Next;
  // add field data in following rows 添加数据到各行
  for J := 1 to Num do begin
    RangeE := ExcelApplication1.Range['A'+inttostr(J+1),'A'+inttostr(J+1)];
    for I := 0 to 4 do begin
      RangeE.Value := StringGrid1.Cells[I,J];
      RangeE := RangeE.Next;
    end;
  end;
  // format the section
  RangeE := ExcelApplication1.Range['A1','E'+inttostr(Num+1)];
  RangeE.AutoFormat(2,NULL,NULL,NULL,NULL,NULL,NULL);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -