Здесь выполняется заполнение массива с номерами тех клиентов, которые выбраны в combobox(query[0]) и по соответствию выбранного названия документа в combobox(query[1]).
| Код | //заполнение массива с номерами ADOQ_nomera.Close; ADOQ_nomera.SQL.Clear; ADOQ_nomera.SQL.Add('SELECT Nomer_sd.Kod_klienta, Nomer_sd.Nomer, Nomer_sd.Sec_name'); ADOQ_nomera.SQL.Add('FROM Nomer_sd INNER JOIN groups ON Nomer_sd.id_group=groups.id_group'); ADOQ_nomera.SQL.Add('WHERE Nomer_sd.Sec_name="'+query[1]+'" and groups.group="'+query[0]+'"'); ADOQ_nomera.Open;
SetLength(nomer,ADOQ_nomera.RecordCount); count3:=ADOQ_nomera.RecordCount-1; k:=0; while (not ADOQ_nomera.Eof) do begin nomer[k]:=ADOQ_nomera.FieldByName('Nomer').AsString; ADOQ_nomera.Next(); k:=k+1; end;
|
Здесь выполняется заполнение массива с клиентами, которые выбраны в combobox(query[0]) и по соответствию выбранного названия документа в combobox(query[1]).
| Код | //заполнение массива с клиентами ADOQ_sex.Close; ADOQ_sex.SQL.Clear; ADOQ_sex.SQL.Add('SELECT Nomer_sd.Kod_klienta, Nomer_sd.Sec_name'); ADOQ_sex.SQL.Add('FROM Nomer_sd INNER JOIN groups ON Nomer_sd.id_group=groups.id_group'); ADOQ_sex.SQL.Add('WHERE Nomer_sd.Sec_name="'+query[1]+'" and groups.group="'+query[0]+'"'); ADOQ_sex.Open;
SetLength(cli,ADOQ_sex.RecordCount); count4:=ADOQ_sex.RecordCount-1; z:=0; while (not ADOQ_sex.Eof) do begin cli[z]:=ADOQ_sex.FieldByName('Kod_klienta').AsString; ADOQ_sex.Next(); z:=z+1; end;
|
Для заполнения бд используется следующий код
| Код | begin for z:=0 to count4 do begin for k:=0 to count3 do begin sql:= 'INSERT INTO Zayavki (Kod_klienta, Bumaga_socr, CLASSCODE, Kod_bumagi, [Action], Nomer_zayvki) VALUES ("'+cli[z]+'", "'+sec+'", "'+class_code+'", "'+id_paper+'", "KILL_ORDER", "'+nomer[k]+'")';
showmessage(sql); ADOQ_new.Close; ADOQ_new.SQL.Clear; ADOQ_new.SQL.Text:=sql; ADOQ_new.ExecSQL; end; end; end;
|
Заполняет бд ест-но неверно. Собственно вопрос, как сделать принадлежность клиентам именно их номеров(номера всегда разные). Вставляться должно по принципу: столько строк каждому клиенту, сколько у него номеров с заданными условиями содержит таблица Nomer_sd(условия: принадлежность клиента к выбираемой группе из комбобокса и наличие названия бумаги, выбираемой из другого комбобокса). Заранее извиняюсь, если слишком размыто объяснил суть проблемы. |