http://hi.baidu.com/493168771/blog/item/ea43d1a4a6f0c6ff9052ee83.html
登入代碼
var s:string;
begin
if (edit1.Text='') or (edit2.Text='') then
Application.MessageBox('用戶名或密碼不能爲空!','錯誤',MB_OK)
else
begin
with DataModule3.adoquery1 do
begin
close;
sql.Clear;
sql.add('select 權限代碼 from net060218_password ');
sql.add('where 人員代碼='''+edit1.Text+''''+' and 密碼='''+edit2.Text+'''');
open;
s:=DataModule3.adoquery1.fieldbyname('權限代碼').AsString;
end;
if DataModule3.adoquery1.RecordCount=0 then Application.MessageBox('用戶名或密碼錯誤,請重新輸入!','錯誤',MB_OK)
else
begin
if s='' then
begin
login.Hide;
function_list.Show;
end;
if StrPos(PChar(s), PChar('a1')) <> nil then
begin
//具有字段ad擁有的權限
login.Hide;
function_list.show;
function_list.button3.Enabled:=true;
form1.Button1.Enabled:=true;
form1.Button2.Enabled:=true;
form1.btnsearch1.Enabled:=true;
form1.btnsearch2.Enabled:=true;
form1.btnalter1.Enabled:=true;
form1.btnalter2.Enabled:=true;
form1.btndel1.Enabled:=true;
form1.btndel2.Enabled:=true;
form6.Button2.Enabled:=true;
form6.Button3.Enabled:=true;
form6.Button5.Enabled:=true;
form6.Button6.Enabled:=true;
end;
if StrPos(PChar(s), PChar('b1')) <> nil then
begin
login.Hide;
function_list.Show;
form1.Button1.Enabled:=true;
end;
if StrPos(PChar(s), PChar('c1')) <> nil then
begin
login.Hide;
function_list.Show;
form1.btndel1.Enabled:=true;
end;
if StrPos(PChar(s), PChar('d1')) <> nil then
begin
login.Hide;
function_list.Show;
form1.btnalter1.Enabled:=true;
end;
if StrPos(PChar(s), PChar('e1')) <> nil then
begin
login.Hide;
function_list.Show;
form1.btnsearch1.Enabled:=true;
end;
if StrPos(PChar(s), PChar('f1')) <> nil then
begin
login.Hide;
function_list.Show;
form1.Button2.Enabled:=true;
end;
if StrPos(PChar(s), PChar('g1')) <> nil then
begin
login.Hide;
function_list.Show;
form1.btndel2.Enabled:=true;
end;
if StrPos(PChar(s), PChar('h1')) <> nil then
begin
login.Hide;
function_list.Show;
form1.btnalter2.Enabled:=true;
end;
if StrPos(PChar(s), PChar('i1')) <> nil then
begin
login.Hide;
function_list.Show;
form1.btnsearch2.Enabled:=true;
end;
if StrPos(PChar(s), PChar('j1')) <> nil then
begin
login.Hide;
function_list.Show;
form6.Button2.Enabled:=true;
form6.Button3.Enabled:=true
end;
if StrPos(PChar(s), PChar('k1')) <> nil then
begin
login.Hide;
function_list.Show;
form6.Button5.Enabled:=true;
form6.Button6.Enabled:=true
end;
end;
end;
edit2.Clear;
end;
權限管理:
begin
if permissions = nil then
permissions := Tpermissions.Create(nil);
permissions.ShowModal ;
end;
菜單項調用:
begin
if button3.Enabled then
button3Click(Sender) ;
end;
dbgrid的激活
var s:string;
begin
s:=DataModule3.adoquery1.fieldbyname('權限代碼').AsString;
if StrPos(PChar(s), PChar('b1')) <> nil then
checkbox1.Checked:=true
else checkbox1.Checked:=false;
if StrPos(PChar(s), PChar('c1')) <> nil then
checkbox2.Checked:=true
else checkbox2.Checked:=false;
if StrPos(PChar(s), PChar('d1')) <> nil then
checkbox3.Checked:=true
else checkbox3.Checked:=false;
if StrPos(PChar(s), PChar('e1')) <> nil then
checkbox4.Checked:=true
else checkbox4.Checked:=false;
if StrPos(PChar(s), PChar('f1')) <> nil then
checkbox5.Checked:=true
else checkbox5.Checked:=false;
if StrPos(PChar(s), PChar('g1')) <> nil then
checkbox6.Checked:=true
else checkbox6.Checked:=false;
if StrPos(PChar(s), PChar('h1')) <> nil then
checkbox7.Checked:=true
else checkbox7.Checked:=false;
if StrPos(PChar(s), PChar('i1')) <> nil then
checkbox8.Checked:=true
else checkbox8.Checked:=false;
if StrPos(PChar(s), PChar('j1')) <> nil then
checkbox9.Checked:=true
else checkbox9.Checked:=false;
if StrPos(PChar(s), PChar('k1')) <> nil then
checkbox10.Checked:=true
else checkbox10.Checked:=false;
if StrPos(PChar(s), PChar('a1')) <> nil then
checkbox11.Checked:=true
else checkbox11.Checked:=false;
end;
權限的賦予:
var s:string;
begin
s:=DataModule3.adoquery1.fieldbyname('人員代碼').AsString;
with DataModule3.ADOQuery2 do
begin
close;
sql.Clear;
sql.Add('update net060218_password set 權限代碼='''' ');
sql.Add('where 人員代碼='''+s+'''');
execsql;
if checkbox1.Checked=true then
begin
sql.Clear;
sql.Add('update net060218_password set 權限代碼=權限代碼+''b1''');
sql.Add('where 人員代碼='''+s+'''');
execsql;
end;
if checkbox2.Checked=true then
begin
sql.Clear;
sql.Add('update net060218_password set 權限代碼=權限代碼+''c1''');
sql.Add('where 人員代碼='''+s+'''');
execsql;
end;
if checkbox3.Checked=true then
begin
sql.Clear;
sql.Add('update net060218_password set 權限代碼=權限代碼+''d1''');
sql.Add('where 人員代碼='''+s+'''');
execsql;
end;
if checkbox4.Checked=true then
begin
sql.Clear;
sql.Add('update net060218_password set 權限代碼=權限代碼+''e1''');
sql.Add('where 人員代碼='''+s+'''');
execsql;
end;
if checkbox5.Checked=true then
begin
sql.Clear;
sql.Add('update net060218_password set 權限代碼=權限代碼+''f1''');
sql.Add('where 人員代碼='''+s+'''');
execsql;
end;
if checkbox6.Checked=true then
begin
sql.Clear;
sql.Add('update net060218_password set 權限代碼=權限代碼+''g1''');
sql.Add('where 人員代碼='''+s+'''');
execsql;
end;
if checkbox7.Checked=true then
begin
sql.Clear;
sql.Add('update net060218_password set 權限代碼=權限代碼+''h1''');
sql.Add('where 人員代碼='''+s+'''');
execsql;
end;
if checkbox8.Checked=true then
begin
sql.Clear;
sql.Add('update net060218_password set 權限代碼=權限代碼+''i1''');
execsql;
end;
if checkbox9.Checked=true then
begin
sql.Clear;
sql.Add('update net060218_password set 權限代碼=權限代碼+''j1''');
sql.Add('where 人員代碼='''+s+'''');
execsql;
end;
if checkbox10.Checked=true then
begin
sql.Clear;
sql.Add('update net060218_password set 權限代碼=權限代碼+''k1''');
sql.Add('where 人員代碼='''+s+'''');
execsql;
end;
if checkbox11.Checked=true then
begin
sql.Clear;
sql.Add('update net060218_password set 權限代碼=權限代碼+''a1''');
sql.Add('where 人員代碼='''+s+'''');
execsql;
end;
end;
with DataModule3.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select net060218_password.人員代碼,姓名,密碼,權限代碼 from net060218_emploee,net060218_password ');
sql.Add('where net060218_password.人員代碼=net060218_emploee.人員代碼');
open;
end;
end;
密碼修改模塊:
procedure TMy_imfor.FormActivate(Sender: TObject);
begin
with DataModule3.ADOQuery2 do
begin
sql.Add('select * from net060218_emploee ');
sql.Add('where 人員代碼='''+login.Edit1.Text+'''');
open;
end;
end;
密碼修改:
begin
if edit1.Text='' then
application.MessageBox('請輸入原密碼!','提示',mb_ok)
else if edit2.Text='' then
application.MessageBox('請輸入新密碼!','提示',mb_ok)
else if edit3.Text='' then
application.MessageBox('請再次輸入新密碼!','提示',mb_ok)
else
begin
with DataModule3.ADOQuery1 do
begin
close;
sql.Clear;
sql.Add('select * from net060218_password where 人員代碼='''+login.Edit1.Text+'''');
open;
if edit1.Text=trim(fieldbyname('密碼').AsString) then
begin
if (trim(edit2.Text)='') or (trim(edit3.Text)='') then
application.MessageBox('密碼不合法!','提示',mb_ok)
else if edit2.Text<>edit3.Text then
application.MessageBox('密碼不一致!','提示',mb_ok)
else
begin
close;
sql.Clear;
sql.Add('update net060218_password ');
sql.Add('set 密碼='''+edit2.Text+'''');
sql.Add(' where 人員代碼='''+login.Edit1.Text+'''');
execsql;
application.MessageBox('修改成功!','提示',mb_ok);
end;
end
else
application.MessageBox('密碼不正確!','提示',mb_ok);
end;
end;
edit1.Text:='';
edit2.Text:='';
edit3.Text:='';
end;
統計表裏面的adoquery1:
select jno 物料代碼 ,sum(jliang)進倉數據 from dan
group by jno
order by jno
統計表裏面的adoquery2:
select jno 物料代碼 ,sum(cling)出倉數量 from dan
group by jno
order by jno
統計按鈕:
begin
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select jno 物料代碼 ,sum(jliang)進倉數據 ,sum(cling)出倉數量 from dan ');
adoquery1.SQL.Add('where jtime>= '''+combobox1.Text+'''and jtime <='''+combobox2.Text+'''' );
adoquery1.SQL.Add('group by jno');
adoquery1.SQL.add('order by jno');
adoquery1.Open;
adoquery3.SQL.Clear;
adoquery3.SQL.Add('select jno 物料代碼 ,sum(cling)出倉數量 from dan ');
adoquery3.SQL.Add('where jtime>= '''+combobox1.Text+'''and jtime <='''+combobox2.Text+'''' );
adoquery3.SQL.Add('group by jno');
adoquery3.SQL.add('order by jno');
adoquery3.Open;
end;
打印報表的combobox按鈕對應生成:
begin
Form14.show;
Form13.Hide;
Form14.quickrep1.Hide;
Form14.ADOQUERY2.Close;
Form14.ADOQUERY2.sql.Clear;
Form14.ADOQUERY2.SQL.ADD('select jname from dan');
Form14.ADOQUERY2.SQL.ADD('group by jname');
Form14.ADOQUERY2.Open;
while not Form14.adoquery2.Eof do
begin
Form14.combobox3.Items.Add(Form14.adoquery2.Fields[0].AsString);
Form14.adoquery2.Next
end;
打印報表的adoquery1:
select dan.* ,jdan.jdanw ,jdan.kcun from dan,jdan
where dan.jno=jdan.jno
統計裏面的combobox按鈕對應生成:
begin
Form14.show;
Form13.Hide;
quickrep1.Hide;
adoquery2.Close;
adoquery2.sql.Clear;
adoquery2.SQL.Add('select jname from dan');
adoquery2.SQL.add('group by jname');
adoquery2.Open;
while not adoquery2.Eof do
begin
combobox3.Items.Add(adoquery2.Fields[0].AsString);
adoquery2.Next
end;
adoquery2.Close;
adoquery2.Open;
end;
月份打印:
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select dan.*,jdan.jdanw from dan,jdan ');
adoquery1.SQL.Add('where dan.jno=jdan.jno and jtime like ''%'+combobox1.Text+'_'+'%''');
adoquery1.Open;
qrlabel1.Caption:='某某公司2009-'+combobox1.text+'月的進出倉單';
quickrep1.Preview;
end;
按年和物料打印:
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from dan,jdan');
adoquery1.SQL.Add('where dan.jno=jdan.jno and dan.jname='''+combobox3.Text+''' and jtime like ''%'+combobox2.Text+'%''');
adoquery1.Open;
qrlabel1.Caption:='某某公司第'+combobox2.text+'年'+combobox3.text+'的進出倉單';
quickrep1.Preview;
end;