с вопросами по Access! 1. Как из ленточной формы сделать переход к форме редактирования выбранной записи?
2. Что такое группировка в отчете? Чем она отличается от группировки в запросе? Как применяется?
3. Запрос на объединение. Когда нужно использовать. Как строится?
4. Описать принципы построения отчета с использованием макета и без.
//Pascal ABC.NET 3.1 сборка 1256
Const
n=10;
m=20;
z=30;
Var
ar1:array[1..n] of integer;
ar2:array[1..m] of integer;
ar3:array[1..z] of integer;
i,k,j:integer;
b:boolean;
begin
randomize;
k:=-1;
b:=false;
for i:=1 to n do
ar1[i]:=random(20);
for i:=1 to n-1 do
for j:=i+1 to n do
if ar1[i]>ar1[j] then swap(ar1[i],ar1[j]);
writeln('Array 1:');
for i:=1 to n do
write(ar1[i]:4);
writeln;
for i:=1 to m do
ar2[i]:=random(20);
for i:=1 to m-1 do
for j:=i+1 to m do
if ar2[i]>ar2[j] then swap(ar2[i],ar2[j]);
writeln('Array 2:');
for i:=1 to m do
write(ar2[i]:4);
writeln;
for i:=1 to z do
ar3[i]:=random(20);
for i:=1 to z-1 do
for j:=i+1 to z do
if ar3[i]>ar3[j] then swap(ar3[i],ar3[j]);
writeln('Array 3:');
for i:=1 to z do
write(ar3[i]:4);
for i:=1 to n do
begin
k:=-1;
for j:=1 to m do
if ar1[i]=ar2[j] then
begin
k:=ar1[i];
break;
end;
if k=-1 then continue;
for j:=1 to z do
if k=ar3[j] then
begin
b:=true;
break;
end;
if b=true then break;
end;
writeln;
writeln('Result:');
if b=false then writeln('Нет') else writeln(k);
end.
// PascalABC.NET 3.1, сборка 1256 от 21.06.2016
begin
var x:=ArrRandom(ReadInteger('p='),-20,20).Sorted;
var y:=ArrRandom(ReadInteger('q='),-10,15).Sorted;
var z:=ArrRandom(ReadInteger('r='),1,18).Sorted;
x.Println; y.Println; z.Println;
var r:=x.Intersect(y.Intersect(z));
if r.Count=0 then Writeln('Нет общих элементов')
else begin Write ('Общие элементы: '); r.Println end
end.
Тестовое решение
p= 15
q= 13
r= 18
-19 -16 -15 -11 -7 -7 -2 0 0 2 4 7 10 14 20
-8 -6 -4 -4 -4 -3 -1 4 4 9 13 13 15
1 1 2 2 2 4 4 5 6 9 10 12 12 14 14 15 15 17
Общие элементы: 4