thisform.CMBMan2.Visible=.f.
thisform.CMBMan3.Visible=.t.
В результате работы этой процедуры, на форме появляются надпись "В сражении", выпадающий список, содержащий названия всех сражений и кнопка "Вывести". Для вывода результата нужно выбрать в списке нужный элемент и нажать на кнопку "Вывести", либо клавишу Enter.
Кнопка "Вывести" - CMDMan.Click:
case thisform.CMBQueries.ListIndex==17
SELECT battles.place, battles.b_date, Battleships.name, battles.damage, battles.drawn, Country.country;
FROM ships!battles INNER JOIN ships!battleships;
INNER JOIN ships!country ;
ON Battleships.country_id = Country.country_id ;
ON battles.ship_id = Battleships.ship_id;
WHERE battles.battle_id=thisform.CMBMan3.ListIndex-1;
ORDER BY battles.place, Country.country, Battleships.name;
INTO TABLE Temp;
NOCONSOLE
thisform.GRDMList.countriesinbattle
thisform.GRDMList.RecordSourceType=0
thisform.GRDMList.RecordSource='Temp.dbf'
Выпадающий список с запросами - CMBQueries.Click:
case thisform.CMBQueries.ListIndex==18
SELECT country.country_id;
FROM ships!country;
INTO ARRAY countries;
NOCONSOLE
SELECT country.country;
FROM ships!country;
INTO ARRAY countries_name;
NOCONSOLE
n=ALEN(countries)
DIMENSION c[n,n]
FOR i=1 TO n
SELECT COUNT(battles.drawn);
FROM ships!battles INNER JOIN ships!battleships ;
ON battles.ship_id = Battleships.ship_id;
WHERE battles.drawn = .t. AND Battleships.country_id=countries[i];
INTO ARRAY drawn
SELECT COUNT(battles.damage);
FROM ships!battles INNER JOIN ships!battleships ;
ON battles.ship_id = Battleships.ship_id;
WHERE battles.damage = .t. AND Battleships.country_id=countries[i];
INTO ARRAY damage
c[i,1]=countries_name[i]
c[i,2]=drawn[1]+damage[1]
ENDFOR
CREATE TABLE Temp4 FREE (col1 C(30), col2 N(3), col3 N(3))
APPEND FROM ARRAY c
SELECT col1, MAX(Temp4.col2) FROM Temp4;
INTO TABLE Temp;
NOCONSOLE
thisform.GRDMList.countriesmaxdamage
thisform.GRDMList.RecordSourceType = 0
thisform.GRDMList.RecordSource = 'Temp.dbf'
thisform.LBLMan.Visible=.f.
thisform.TXTMan.Visible=.f.
thisform.CMDMan.Visible=.f.
thisform.LBLMan2.Visible=.f.
thisform.CMBMan1.Visible=.f.
thisform.CMBMan2.Visible=.f.
thisform.CMBMan3.Visible=.f.
Выпадающий список с запросами - CMBQueries.Click:
case thisform.CMBQueries.ListIndex==16
thisform.LBLMan.Caption="Не менее:"
thisform.LBLMan.Visible=.t.
thisform.TXTMan.Visible=.t.
thisform.CMDMan.Visible=.t.
thisform.LBLMan2.Visible=.f.
thisform.CMBMan1.Visible=.f.
thisform.CMBMan2.Visible=.f.
thisform.CMBMan3.Visible=.f.
В результате работы этой процедуры, на форме появляются надпись "Не менее", поле ввода данных и кнопка "Вывести". Для вывода результата нужно ввести данные и нажать на кнопку "Вывести", либо клавишу Enter.
Кнопка "Вывести" - CMDMan.Click:
case thisform.CMBQueries.ListIndex==16
SELECT Types.class, Battleships.name, Battleships.fire1_diameter,;
Battleships.fire1_num, country.country, Battleships.date_creation;
FROM ships!battleships INNER JOIN ships!types ON Battleships.class_id = Types.class_id;
INNER JOIN ships!country ON Battleships.country_id = country.country_id;
WHERE Battleships.fire1_num=>val(thisform.TXTMan.Text);
ORDER BY Battleships.fire1_num;
INTO TABLE Temp;
NOCONSOLE
thisform.GRDMList.numfiremore
thisform.GRDMList.RecordSourceType=0
thisform.GRDMList.RecordSource='Temp.dbf'
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.