Listview in avantajı, görsel olarak seçimin checkbox ları işaretleyerek olmasından dolayı hata yapma riski azalır.
Doldurma procedure şu şekilde olur;
Kod: Tümünü seç
alst.items.clear;
qrSorgu3.sql.text:=s; // personel dosyasindan sicilno ve adlari getirmek için gerekli sql
qrSorgu3.Active:=True;
while not qrSorgu3.EOF do
begin
with alst.Items.Add do
begin
Caption:=qrSorgu3.Fields[0].AsString; // sicilno olabilir
Subitems.Add(qrSorgu3.Fields[1].Asstring); // adı soyadı
end;
qrSorgu3.Next;
end;
qrSorgu3.Active:=false;
Daha sonra şu sql i çalıştırman yeterli olacaktır.
'update personel set vardiya = ' +strToint(Edit1.Text) where sicilno in ( '+secililiste+ '); ';
Secili listeyi de aşagıdaki procedurele doldurabilirsin.
Kod: Tümünü seç
with alst do
if Items.Count > 0 then
begin
secililiste:='';
for i:= 0 to items.Count - 1 do
if items[i].Checked then
begin
if secililiste <>'' then secililiste:=secililiste+',';
secililiste:=secililiste+' '''+items[i].Caption+''' '; // siciilno rakam ise fazlalık tırnaklara gerek yok
end;
end;