您的位置:首页 > 其它

客户资源管理系统

2009-12-21 09:59 495 查看
前些天有个朋友她问我有没有一些功能相对简单点的客户资源管理之类的软件,我就去网上搜了下,大部分都是很庞大的功能的软件,我想她是用不上的,所以我就尝试着看能不能自己做个小小的基本的管理器来,呵呵,下面是花了2到3天的时间写出来的客户资源管理器,一点点基本的功能,最主要的还是用来保存客户资料用的。呵呵。好了,先看下软件界面的裁图。







下面就是整个程序的源代码了:

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
Panel2.Tag:=0;
Panel2.Visible:=true;
if Panel2.Tag=0 then edit1.Enabled:=true
else edit1.Enabled:=false;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
edit4.Text:='';
edit5.Text:='';
edit6.Text:='';
edit7.Text:='';
ComboBox1.Text:='';
ComboBox3.text:='';
ComboBox4.text:='';
edit10.Text:='';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
Panel2.Visible:=false;
end;

procedure TForm1.BitBtn2Click(Sender: TObject);
begin
Panel2.Visible:=true;
panel2.Tag:=1;
if Panel2.Tag=1 then edit1.Enabled:=false
else edit1.Enabled:=true;
edit1.Text:=dbgrid2.Fields[1].AsString;
edit2.Text:=dbgrid2.Fields[2].AsString;
edit3.Text:=dbgrid2.Fields[3].AsString;
edit4.Text:=dbgrid2.Fields[4].AsString;
edit5.Text:=dbgrid2.Fields[5].AsString;
edit6.Text:=dbgrid2.Fields[6].AsString;
edit7.Text:=dbgrid2.Fields[7].AsString;
ComboBox1.Text:=dbgrid2.Fields[8].AsString;

edit10.Text:=dbgrid2.Fields[11].AsString;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
intNum:string;
begin
intNum:=DBGrid2.Fields[1].AsString;
if Panel2.Tag=1 then
begin
//showmessage('当前为修改状态');
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('update datainfo set email='''+edit2.Text+'''');
adoquery1.SQL.Add(',password='''+edit3.Text+'''');
adoquery1.SQL.Add(',gsname='''+edit4.text+'''');
adoquery1.SQL.Add(',domain='''+edit5.Text+'''');
adoquery1.SQL.Add(',datatimes='''+edit6.Text+'''');
adoquery1.SQL.Add(',pots='''+edit7.Text+'''');
adoquery1.SQL.Add(',info='''+combobox1.Text+'''');
adoquery1.SQL.Add(',stats='''+combobox3.Text+'''');
adoquery1.SQL.Add(',jixu='''+combobox4.Text+'''');
adoquery1.SQL.Add(',link='''+edit10.Text+'''');
adoquery1.SQL.Add(' where nameno='''+intNum+'''');
adoquery1.ExecSQL;
DBGrid2.Refresh;
adoquery1.SQL.Clear;
adoquery1.sql.Add('select * from datainfo');
adoquery1.open;
Panel2.Visible:=false;
showmessage('修改成功!');
end
else if panel2.tag<>1 then
begin
if (edit1.Text='') and (edit7.Text='') then
begin
showmessage('必须输入客户的姓名和联系方式!') ;
exit;
end
else
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Text:='insert into datainfo (nameno,email,password,gsname,'+#13#10+
'domain,datatimes,pots,info,stats,link,jixu) VALUES ('''+edit1.text+''','''+edit2.text+''','+#13#10+
''''+edit3.text+''','''+edit4.text+''','''+edit5.text+''','''+edit6.text+''','+#13#10+
''''+edit7.text+''','''+combobox1.Text+''','''+combobox3.Text+''','''+edit10.text+''','''+combobox4.Text+''')';
adoquery1.ExecSQL;
DBGrid2.Refresh;
adoquery1.SQL.Clear;
adoquery1.sql.Add('select * from datainfo');
adoquery1.open;
Panel2.Visible:=false;
showmessage('新增成功!');
end
else showmessage('未知错误!');
end;

procedure TForm1.BitBtn4Click(Sender: TObject);
var
sqll:string;
begin
sqll:='select * from datainfo where nameno like ''%'+edit8.Text+'%'' and stats like ''%'+ComboBox2.Text+'%''';
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add(sqll);
adoquery1.Open;
end;

procedure TForm1.BitBtn3Click(Sender: TObject);
var
names:string;
begin
names:=dbgrid2.Fields[1].Asstring;
if messagedlg('你确定要删除'+names+'的记录吗?',mtconfirmation,[mbyes,mbno],0)<>6 then
exit;
try
ADOQuery1.Close;
ADOQuery1.sql.Text:='delete from datainfo where nameno='''+names+'''';
adoquery1.ExecSQL;
MessageBox(0,'删除记录成功!','删除',MB_OK);
except
adoquery1.Cancel;
showmessage('删除失败!');
exit;
end;
adoquery1.SQL.Clear;
adoquery1.sql.Add('select * from datainfo');
adoquery1.open;
end;

procedure TForm1.BitBtn5Click(Sender: TObject);
var
s:TStringList;
str:string;
i:Integer;
ASaveDialog : TSaveDialog;
tofileName : string;
begin
str:='';
tofileName := '';
DBGrid2.DataSource.DataSet.DisableControls;
try
for i:=0 to DBGrid2.Columns.Count - 1 do
str := str + DBGrid2.Columns.Items.Title.Caption + char(9);
str := str + #13;
if not DBGrid2.DataSource.DataSet.IsEmpty then
begin
DBGrid2.DataSource.DataSet.First;
while not(DBGrid2.DataSource.DataSet.eof) do
begin
for i := 0 to DBGrid2.Columns.Count - 1 do
str := str + DBGrid2.Columns.Items.Field.AsString + char(9);
str := str + #13;
DBGrid2.DataSource.DataSet.next;
end;//end while
end;
finally
DBGrid2.DataSource.DataSet.EnableControls;
end;
s := TStringList.Create;
try
s.Add(str);
ASaveDialog := TSaveDialog.Create(nil);
try
ASaveDialog.Title := '保存文件';
ASaveDialog.Filter := 'Microsof Excel(*.xls)|*.xls';
if ASaveDialog.Execute then
begin
tofileName := ASaveDialog.FileName;
if pos(uppercase('.xls'),uppercase(tofileName)) = 0 then
tofileName := tofileName +'.xls';
if FileExists(tofileName) then
begin
if MessageDLG('文件已存在,确认覆盖?',mtWarning,[mbOK,mbCancel],0) = mrOK then
begin
Deletefile(tofileName);
s.SaveToFile(tofileName);//保存
Application.MessageBox('Excel数据导出完毕!','提示', 64);
end;
end
else
begin
s.SaveToFile(tofileName);//保存
Application.MessageBox('Excel数据导出完毕!','提示', 64);
end;
end;
finally
FreeAndNil(ASaveDialog);
end;
finally
FreeAndNil(s);
end;

end;

procedure TForm1.BitBtn6Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from datainfo where jixu=''是''');
adoquery1.Open;
end;

procedure TForm1.N1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from datainfo');
adoquery1.Open;
end;

procedure TForm1.N2Click(Sender: TObject);
Begin
showmessage('罗斌制作 QQ:287727615');

end;

procedure TForm1.N3Click(Sender: TObject);
begin //记得前面 uses Clipbrd
if Assigned(DBGrid2.SelectedField) then
Clipboard.AsText:=DBGrid2.SelectedField.DisplayText;
end;

procedure TForm1.FormShow(Sender: TObject);
var aa,bb:integer;
sqls:string;
begin
sqls:='select nameno as maxno from datainfo where jixu=''是''';
with ado2 do
begin
Close;
sql.Text:='select count(*) as myno from datainfo where jixu=''是''';
open;
adoquery1.Close;
//SQL.Clear;
//SQL.Add(sqls);
//Open;
if not isempty and not eof then
begin
adoquery1.Open;
aa:=fieldbyname('myno').AsInteger;
showmessage('您有'+inttostr(aa)+'个客户需要继续跟进,请点击“搜索需要跟进的客户”按钮进行查看!祝您成功!');
//bb:=fieldbyname('maxno').AsInteger;
// showmessage(inttostr(bb));
end ;
close;

end;
end;

end.
本文出自 “罗斌个人原创天地” 博客,请务必保留此出处http://luobin.blog.51cto.com/882147/247014
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: