Рефераты. Анализ экономических показателей Японии 1960-1992 гг. \Компьютерная подготовка\


       Запрос в режиме конструктора будет выглядеть следующим образом:                                                                                     Рис. 3




Готовый запрос будет иметь следующий вид:


      На этом заканчивается часть работы, выполняемая в Microsoft Access, и начинается непосредственное создание программы в Visual Basic, которая выполняла бы необходимые по условию задачи операции над данными, размещенными в таблицах Microsoft Access.

       


     В Visual Basic начинаем новый проект, выбирая в меню New File пункт New Project. Выделяем первую форму и в окне Properties в графе Caption устанавливаем для первой формы название Считывание данных и нахождение средних значений, при этом имя первой формы – Form1.

     В первой форме создаем элемент DataControl с именем Data1.В окне свойств в графе Caption устанавливаем название Исходные данные. В графе Connect  - значение Access. В графе DatabaseName указываем путь к файлу, содержащему таблицу Microsoft Access. В графе RecordSource указываем название таблицы Microsoft Access, содержащей исходные данные по Японии.

    Затем в первой форме создаем 7 элементов TextBox – текстовых полей – по количеству столбцов в исходной таблице. Над каждым текстовым полем размещаем элементы Label – метки, содержащие названия каждого столбца. В данном случае это год, размер ВВП, цены на нефть, размер потребления нефти, размер внешнеторгового оборота, объем промышленного производства и доход на душу населения. У каждого текстового поля в окне свойств в графе DataSource устанавливаем значение Data1, а в графе DataField – выбираем название того столбца исходной таблицы, который отображает данное текстовое поле. Так в первом текстовом поле будет значение Год, во втором – Размер ВВП и т. д.

      Таким образом, мы установили связь Visual Basic с таблицей в Microsoft Access.

       Посредством этой связи мы можем осуществлять считывание данных из таблицы для выполнения необходимых операций, предусмотренных заданием. При запуске программы в текстовых полях будут отображаться данные таблицы Microsoft Access, а, используя стрелки на элементе Data1, можно производить прокрутку данных, так чтобы они последовательно появлялись в текстовых полях. Для того, чтобы после запуска программы пользователь не мог ввести в текстовые поля никакую информацию, то есть для «защиты» текстовых полей от посторонних записей, необходимо в процедуру Text1_Change () ввести следующий код:

Text1.Enabled = False

    Аналогичные коды необходимо ввести в процедуры для второго, третьего и т. д. текстовых полей. Это сделает текстовые поля недоступными для ввода информации и превратит их в поля, отображающие данные об экономических показателях.

      Согласно заданию, необходимо вычислить средние значения данных по Японии за четырехлетние периоды, начиная с 1960 года. Прежде, чем написать программу, позволяющую совершать подобные операции, необходимо создать элемент управления, который будет отвечать за исполнение этих операций. В данном случае наиболее наглядным и удобным в использовании будет элемент CommandButton. Выделив этот элемент, в окне свойств в графе Caption заменим значение Command1 на Расчет средних значений данных за 4-летние периоды, начиная с 1960 года.  После запуска программы нажатие на эту кнопку будет приводить в действие механизм вычисления средних значений данных, которые будут отображаться в текстовых полях.

       Прежде, чем выполнять вычисление средних значений, необходимо считать данные из текстовых полей, которые их содержат. Для этого надо запустить цикл от 1 до 32 (количество записей в каждом столбце таблицы), который бы вводил значения из текстовых полей в массивы. Так как необходимо, чтобы описанные выше операции выполнялись при нажатии на кнопку, то в процедуру Command1_Click () введем код:

                                          For i = 1 To 32

mag(i) = Text1.Text

mas(i) = Text2.Text

                                           ma(i) = Text3.Text

 maq(i) = Text4.Text

 maw(i) = Text5.Text

                                           mar(i) = Text6.Text

maz(i) = Text7.Text

          Data1.Recordset.MoveNext

                                          Next i

    i – переменная, mag(i), mas(i), ma(i), maq(i), maw(i), mar(i) и maz(i) – соответственно массивы со значениями года, размера ВВП, цены на нефть, размера потребления нефти, размера ВТО, объема промышленного производства и размером дохода на душу населения.  Запись Data1.Recordset.MoveNext означает, что после выполнения считывания данных за первый год Data1 передвинет данные в текстовых полях на одну вперед и считывание будет проводиться уже за следующий год и т. д.

     Но может случиться так, что после запуска пользователь осуществит нажатие один или несколько раз на элемент Data1 до того, как нажать на командную кнопку. Это приведет к сбою программы, потому что в данном случае в коде, приведенном выше, запись, находящаяся в текстовом поле будет восприниматься как первая, а так как записей всего 32, то это приведет к невозможности завершения цикла. Чтобы избежать этого, перед данным кодом поместим строку:

           Data1.Recordset.MoveFirst

Эта запись обеспечит передвигание данных в текстовых полях к первой записи перед выполнением считывания.      

       Для нахождения средних значений данных за 4-летние периоды, необходимо сумму значений за каждый год из данного периода разделить на количество лет в периоде, то есть в данном случае - на 4.    Поэтому в процедуру Command1_Click () введем следующий код:

   j = 1

  For i = 1 To 32 Step 4

   h(j) = (mas(i) + mas(i + 1) + mas(i + 2) + mas(i + 3)) / 4

   q(j) = (ma(i) + ma(i + 1) + ma(i + 2) + ma(i + 3)) / 4

   w(j) = (maq(i) + maq(i + 1) + maq(i + 2) + maq(i + 3)) / 4

   p(j) = (maz(i) + maz(i + 1) + maz(i + 2) + maz(i + 3)) / 4

   r(j) = (mar(i) + mar(i + 1) + mar(i + 2) + mar(i + 3)) / 4

   x(j) = (maw(i) + maw(i + 1) + maw(i + 1) + maw(i + 3)) / 4

   j = j + 1

   Next i

j – переменная; массивы h(j), q(j), w(j), p(j), r(j) и x(j) – соответственно массивы, содержащие средние значения данных за периоды с 1960 по 1963 год, с 1964 по 1967 год и т. д.

     Запись For i = 1 To 32 Step 4 означает, что в каждый последующий массив ввод данных будет производиться с элемента, номер которого на 4 больше номера первого элемента предшествующего массива, то есть в первый массив – с первого по четвертый элемент, во второй – с пятого (номер которого на 4 больше номера первого) по восьмой и т. д. до 32.

     После вычисления средних значений данных за 4-летние периоды необходимо, чтобы пользователь мог увидеть полученные величины. Для этого вставим в форму элементы управления ListBox, в которых будут отображаться средние значения данных. Над каждым элементом разместим метки, содержащие названия данных, отображаемых в данном списке. В итоге получится шесть списков, над каждым из которых имеется метка с названием. Для вывода средних значений данных из массивов в списки в процедуру Command1_Click () введем следующий код:

      For i = 1 To 8

      List2.List(i - 1) = h(i)

      List3.List(i - 1) = q(i)

      List4.List(i - 1) = w(i)

      List5.List(i - 1) = p(i)

      List6.List(i - 1) = r(i)

      List7.List(i - 1) = x(i)

      Next i 

После запуска программы при нажатии командной кнопки в списках появятся средние значения данных за 4-летние периоды, начиная с 1960 года.

       Согласно заданию, после рассчета средних значений, необходимо занести их в файл. Для удобства пользователя сделаем так, чтобы он имел возможность сам выбирать тот файл, в который будут занесены средние значения. Для этого разместим в первой форме элементы DriveListBox, DirListBox и FileListBox, отображающие соответственно диск, каталог и файл для записи данных. С помощью этих элементов пользователь после запуска программы выберет файл для записи средних значений данных. После того, как он сделает это, необходимо произвести запись в файл, указанный пользователем, средних значений показателей, рассчитанных до этого. Создадим командную кнопку, при нажатии на которую средние значения записывались бы в файл. Для нее в окне свойств в графе Caption установим значение ‘Запись средних значений в файл’. Введем в процедуру Command2_Click () следующий код:

Open File1 For Output As #1

For i = 1 To 8

Write #1, h(i), q(i), w(i), p(i), r(i), x(i)

Next i

Close #1 

 Первая строка данного кода открывает файл, выбранный пользователем для записи в элементе FileListBox.  А последующие строки записывают в него средние значения и после окончания записи закрывают файл.

        Согласно заданию, следующие операции необходимо производить в другой форме. Поэтому создаем в проекте еще одну форму, для которой в окне свойств в графе Caption вводим значение Определение темпов изменения ВВП, периода max прироста и сост. 50%. Для того, чтобы во время работы программы можно было из первой формы перейти ко второй, в первой форме необходимо создать кнопку, которая обеспечивала бы этот переход. Создав командную кнопку, для нее в окне свойств в графе Caption установим значение Кнопка перехода к следующему этапу программы. Чтобы при нажатии на эту кнопку после запуска программы осуществлялся переход ко второй форме, необходимо в процедуру Command3_Click () ввести следующий код:

Form1.Hide

Form2.Show

Эти команды скроют первую форму и сделают видимой вторую форму.

       Согласно заданию, во второй форме необходимо считать файл со средними значениями показателей. Для того, чтобы сделать это, надо, чтобы пользователь указал файл, в который записаны эти данные. Для этого используем элементы DriveListBox, DirListBox и FileListBox. Разместим их во второй форме рядом с меткой, объясняющей пользователю, что он должен указать файл со средними значениями. После того, как пользователь сделает это, необходимо считать данные из файла. Для этого создадим командную кнопку, для которой в окне свойств в графе Caption введем значение Считывание данных из файла, определение ВВП и темпов его изменения.  Как видно из названия кнопки, с ее помощью мы будем определять размер ВВП и находить темпы его изменения, что также требуется в задании.

Страницы: 1, 2, 3, 4, 5, 6



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.