Программирование - это просто
Advertisement
Главная arrow Уроки Delphi arrow Delphi - это просто! arrow Delphi - это просто. Урок 8.11.1:  Программируем печать накладных.  Часть 1. Базы данных, SQL
18.04.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Delphi - это просто. Урок 8.11.1:  Программируем печать накладных.  Часть 1. Базы данных, SQL Печать E-mail
Автор megabax   
27.07.2010 г.
Базы данных

Delphi - это просто. Урок 8.11.1:  Программируем печать накладных.

 Часть 1. Базы данных, SQL, TQuery, TDBGrid.

Исходники к уроку вы можете скачать здесь.

С сегодняшнего дня мы начнем большую тему: печать накладных. Для начала нам нужно запрограммировать возможность вводить эти самые накладные. Нам потребуются две таблицы базы данных. Создадим их при помощи уже известной вам утилиты Database desktop*:

Delphi - это просто. Урок 8.11.1:  Программируем печать накладных. Часть 1. Базы данных, SQL, TQuery, TDBGrid.

Первая таблица у нас будет называться DOCS, вот такие у нее должны быть поля*:

Delphi - это просто. Урок 8.11.1:  Программируем печать накладных. Часть 1. Базы данных, SQL, TQuery, TDBGrid.

Вторая таблица DOCSTYPES*:

Delphi - это просто. Урок 8.11.1:  Программируем печать накладных. Часть 1. Базы данных, SQL, TQuery, TDBGrid.

В таблице DOCS мы будем хранить шапки документов, каждая из которых содержит:

  • Номер.

  • Дата.

  • Склад.

  • Тип (приходная или расходная накладная).

Вторая таблица - это типы документов. Давайте сразу же заполним его в database desktop-е*:

Delphi - это просто. Урок 8.11.1:  Программируем печать накладных. Часть 1. Базы данных, SQL, TQuery, TDBGrid.

Сразу же сделаем небольшой тестовый пример, введем несколько строчек в таблицу шапок документов*:

Delphi - это просто. Урок 8.11.1:  Программируем печать накладных. Часть 1. Базы данных, SQL, TQuery, TDBGrid.

Затем создадим еще одну форму ("File -> New -> Form"), назовем ее frmDocs и сохраним под именем DOCSFRM. Положим на форму компонент TDBGrid, TQuery и TDataSource. Свяжем их между собой, если не помните как, то загляните в урок Работа с компонентами баз данных (TDBGrid, TDataSource).

В свойство SQL компонента TQuery введем вот такой SQL запрос:

select
      docs.id as DocNum,
      docs.DocDate as DocDate,
      stores.name as Store,
      docstypes.name as DocType
from docs as docs
     left join stores as stores on docs.store=stores.id
     left join docstypes as docstypes on docs.typedoc=docstypes.id
order by docs.DocDate

Про SQL-запросы можете прочитать здесь.
 

Здесь же вы узнаете новую команду SQL: order by - это инструкция сортировку. Запись order by docs.DocDate означает, что нужно сортировать по полю docs.DocDate, то есть, в хронологическом порядке. Если мы уберем эту сроку, то накладные у нас выйдут как попало, не по порядку.

После того, как вы ввели SQL запрос в свойство SQL компонента TQuery, установим у него свойство acvtive в true.  После этого мы должны увидеть вот такую картину*:

Delphi - это просто. Урок 8.11.1:  Программируем печать накладных. Часть 1. Базы данных, SQL, TQuery, TDBGrid.

Мы уже умеем русифицировать колонки, см урок 8.5.2. Но сегодня мы их русифицируем другим способом.

И так, выделим компонент TDBGrid и в Object Inspertore откроем для редактирования свойство Columns*:

Delphi - это просто. Урок 8.11.1:  Программируем печать накладных. Часть 1. Базы данных, SQL, TQuery, TDBGrid.

У нас откроется вот окно,  в котором мы нажем на кнопочку Add all fileds , после чего у нас появиться список полей*:

Delphi - это просто. Урок 8.11.1:  Программируем печать накладных. Часть 1. Базы данных, SQL, TQuery, TDBGrid.

Свойства выделенного поля можно редактировать в Object Inspectore, нас интересует Title.Caption*:

Delphi - это просто. Урок 8.11.1:  Программируем печать накладных. Часть 1. Базы данных, SQL, TQuery, TDBGrid.

После русификации мы увидим вот такую картину*

Delphi - это просто. Урок 8.11.1:  Программируем печать накладных. Часть 1. Базы данных, SQL, TQuery, TDBGrid.

Теперь нам осталось только сделать кнопку в главной форме. Для этого мы сначала пропишем в uses имя модуля нашей новой формы*:

Delphi - это просто. Урок 8.11.1:  Программируем печать накладных. Часть 1. Базы данных, SQL, TQuery, TDBGrid.

Теперь добавим новое действие "Открыть журнал документов". Это тоже вы делать умеете из урока 8.5.1,, но я напомню в вкратце последовательность шагов:

  • Добавляем картинку в ImageList.

  • Добавляем новое действие в Action List.

  • Добавляем новый пункт меню, связывая его с новым действием.

  • Добавляем новую кнопочку, так же связанную с добавленным действием.

Далее мы пишем обработчик действия:

procedure TfrmStoreForm.acDocsExecute(Sender: TObject);
var frm:TfrmDocs;
begin
    frm:=TfrmDocs.Create(self);
    frm.Show;
end;

 В итоге у нас должна получиться вот такая программа:

Delphi - это просто. Урок 8.11.1:  Программируем печать накладных. Часть 1. Базы данных, SQL, TQuery, TDBGrid.

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

Исходники к уроку вы можете скачать здесь.

 


Скриншоты, помеченные знаком * , являются цитатами и иллюстрациями   программного продукта "Delphi", авторское право на который принадлежит "Borland Software Corporation.


 

 

Последнее обновление ( 06.11.2011 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги