вот код на эту кнопку(передать в наличие)
Delphi |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
| procedure TForm2.Button10Click(Sender: TObject);
var
i,j,r:integer;
begin
if form1.ADOTable1.RecordCount=1 then
begin
form1.ADOTable1.insert;
for r:=1 to form2.ADOTable1.RecordCount do
begin
form1.ADOTable1.First;
form1.ADOTable1.Edit;
form1.ADOTable1.FieldValues['summa']:=form2.ADOTable1.FieldValues['summa'];
form1.ADOTable1.FieldByName('Namee').AsString:=form2.ADOTable1.FieldByName('Namee').AsString;
form1.ADOTable1.FieldByName('Kolichestvo').AsInteger:=form2.ADOTable1.FieldByName('Kolichestvo').AsInteger;
form1.ADOTable1.FieldByName('Cena').AsInteger:=form2.ADOTable1.FieldByName('Cena').AsInteger;
form1.ADOTable1.FieldByName('kodtovara').AsInteger:=form2.ADOTable1.FieldByName('kodmateriala').AsInteger;
form1.ADOTable1.Post;
form1.ADOTable1.Next;
end;
end
else
begin
for i:=1 to form1.ADOTable1.RecordCount do
begin
for j:=1 to form2.ADOTable1.RecordCount do
begin
if form1.ADOTable1.FieldValues['namee']=form2.ADOTable1.FieldValues['namee']
then
begin
if form1.ADOTable1.FieldValues['cena']=form2.ADOTable1.FieldValues['Cena']
then
begin
form1.ADOTable1.Edit;
form1.ADOTable1.FieldValues['Kolichestvo']:=form1.ADOTable1.FieldValues['Kolichestvo']+form2.ADOTable1.FieldValues['Kolichestvo'];
form1.ADOTable1.FieldValues['summa']:=form1.ADOTable1.FieldValues['kolichestvo']*form1.ADOTable1.FieldValues['cena'];
end;
end
else
begin
form1.ADOTable1.Insert;
form1.ADOTable1.FieldByName('Namee').AsString:=form2.ADOTable1.FieldByName('Namee').AsString;
form1.ADOTable1.FieldByName('Kolichestvo').AsInteger:=form2.ADOTable1.FieldByName('Kolichestvo').AsInteger;
form1.ADOTable1.FieldByName('Cena').AsInteger:=form2.ADOTable1.FieldByName('Cena').AsInteger;
form1.ADOTable1.FieldByName('kodtovara').AsInteger:=form2.ADOTable1.FieldByName('kodmateriala').AsInteger;
form1.ADOTable1.FieldValues['summa']:=form2.ADOTable1.FieldValues['summa'];
form1.ADOTable1.Post;
end;
form2.ADOTable1.Next;
end;
form1.ADOTable1.Next;
end;
end;
end;
end. |
|
Добавлено через 3 часа 37 минут
если что-то не понятно, то спрашивайте!
|
Комментарий модератора |
|
Теги кода добавлены модератором. По правилам форума, код должен быть оформлен соответствующими тегами. Для оформления кода Delphi следует выделить этот код и на панели редактирования сообщения нажать кнопку: "DELPHI". |
|
Добавлено через 21 час 49 минут
up up up
Добавлено через 32 минуты
Delphi |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
| procedure TForm2.Button10Click(Sender: TObject);
var
i,j,r:integer;
begin
form2.ADOTable1.First;
if (form1.ADOTable1.RecordCount=0) then
begin
for r:=1 to form2.ADOTable1.RecordCount do
begin
form1.ADOTable1.Insert;
form1.ADOTable1.FieldByName('Namee').AsString:=form2.ADOTable1.FieldByName('Namee').AsString;
form1.ADOTable1.FieldByName('Kolichestvo').AsInteger:=form2.ADOTable1.FieldByName('Kolichestvo').AsInteger;
form1.ADOTable1.FieldByName('Cena').AsInteger:=form2.ADOTable1.FieldByName('Cena').AsInteger;
form1.ADOTable1.FieldByName('kodtovara').AsInteger:=form2.ADOTable1.FieldByName('kodmateriala').AsInteger;
form1.ADOTable1.FieldValues['summa']:=form2.ADOTable1.FieldValues['summa'];
form1.ADOTable1.Post;
form2.ADOTable1.Next;
end;
end
else
begin
form1.ADOTable1.First;
for i:=1 to form1.ADOTable1.RecordCount do
begin
for j:=1 to form2.ADOTable1.RecordCount do
begin
if (form1.ADOTable1.FieldValues['namee']=form2.ADOTable1.FieldValues['namee'] )
then
begin
if form1.ADOTable1.FieldValues['cena']=form2.ADOTable1.FieldValues['Cena']
then
begin
form1.ADOTable1.Edit;
form1.ADOTable1.FieldValues['Kolichestvo']:=form1.ADOTable1.FieldValues['Kolichestvo']+form2.ADOTable1.FieldValues['Kolichestvo'];
form1.ADOTable1.FieldValues['summa']:=form1.ADOTable1.FieldValues['kolichestvo']*form1.ADOTable1.FieldValues['cena'];
end;
end
else
begin
form1.ADOTable1.Insert;
form1.ADOTable1.FieldByName('Namee').AsString:=form2.ADOTable1.FieldByName('Namee').AsString;
form1.ADOTable1.FieldByName('Kolichestvo').AsInteger:=form2.ADOTable1.FieldByName('Kolichestvo').AsInteger;
form1.ADOTable1.FieldByName('Cena').AsInteger:=form2.ADOTable1.FieldByName('Cena').AsInteger;
form1.ADOTable1.FieldByName('kodtovara').AsInteger:=form2.ADOTable1.FieldByName('kodmateriala').AsInteger;
form1.ADOTable1.FieldValues['summa']:=form2.ADOTable1.FieldValues['summa'];
form1.ADOTable1.Post;
end;
form2.ADOTable1.Next;
end;
form1.ADOTable1.Next;
end;
end;
end; |
|
уже норм норм передаёт походу, теперь нужна помощь чтоб нормально слаживала количество когда наименование и цена одинаковая и не добаляла еще один товар когда одинаковые наи-ние и цена...
Добавлено через 5 часов 39 минут
up////
Добавлено через 11 часов 38 минут
up...