Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
💸 Как сделать бизнес проще, а карман толще?
Тот, кто работает в сфере услуг, знает — без ведения записи клиентов никуда. Мало того, что нужно видеть свое раписание, но и напоминать клиентам о визитах тоже.
Проблема в том, что средняя цена по рынку за такой сервис — 800 руб/мес или почти 15 000 руб за год. И это минимальный функционал.
Нашли самый бюджетный и оптимальный вариант: сервис VisitTime.⚡️ Для новых пользователей первый месяц бесплатно. А далее 290 руб/мес, это в 3 раза дешевле аналогов. За эту цену доступен весь функционал: напоминание о визитах, чаевые, предоплаты, общение с клиентами, переносы записей и так далее. ✅ Уйма гибких настроек, которые помогут вам зарабатывать больше и забыть про чувство «что-то мне нужно было сделать». Сомневаетесь? нажмите на текст, запустите чат-бота и убедитесь во всем сами! Работа с базами данных. Элементы управления Data и DBGrid. Язык SQL.
Для работы с базами данных непосредственно изнутри проекта Visual Basic удобно применять элемент управления Data, расположенный в Toolbox. Разместим его на форме. Пусть его имя будет Data1. Прежде всего объясним ему, с каким файлом базы данных он должен работать. Для этого придадим его свойству DatabaseName значение адреса созданного в предыдущем разделе файла. Затем проследим, чтобы свойство Connect имело значение Access, EOFAction - Add New, установим в качестве значения свойства RecordSource (источник записей для работы элемента Data1) имя таблицы нашей базы - Books. Эти свойства можно устанавливать и в режиме работы. Например, Data1.RecordSource = " Books" С этого момента вы можете запускать проект и работать с базой данных программным путем. Однако, не очень-то удобно это делать, не видя во время работы саму таблицу базы данных, а Data сам по себе ее не показывает. Способов увидеть ее несколько. Самый лучший - использование элемента управления DBGrid. Находится он так: Project ® Components® Microsoft Data Bound Grid Control 5.0. Разместите его на форме. Пусть его имя будет DBGrid1. Работать он будет в паре с Data, таблицу которого и будет делать видимой в режиме работы. Установим его свойства: Прежде всего, поскольку в проекте могут присутствовать несколько элементов Data, нужно указать, с каким именно из них будет работать наш DBGrid, другими словами, к кому он будет привязан. Для этого установим значение его свойства DataSource в Data1. Установим также в True следующие свойства DBGrid1: AllowAddNew (разрешить вручную добавлять в таблицу новые записи), AllowDelete (разрешить вручную удалять записи из таблицы), AllowUpdate (разрешить вручную изменять данные в таблице). Можете придать какое-нибудь значение свойству Caption.
Приступим к заполнению таблицы данными о книгах. Для этого запустим проект. На экране появится пустая таблица. После того, как вы вручную заполните эту таблицу, проект будет иметь следующий вид:
В верхней части вы видите элемент Data1, от лицезрения которого толку мало, поэтому его вполне можно сделать невидимым. Данные, которые вы вводите в поле, проверяются на принадлежность к типу поля. Обратите внимание, что Visual Basic " укоротил" те даты, которые считает " и так понятными". Чтобы удалить запись, выделите ее щелчком по серому прямоугольнику слева от записи и нажмите на клавиатуре Delete. Можно расширять и сужать строчки и столбцы, перетаскивая границу между серыми прямоугольниками. Когда вы завершите выполнение проекта, таблица будет автоматически сохранена в файл.
К Data можно привязывать не только DBGrid, но и другие элементы, например текстовые поля. Разместите на форме четыре текстовых поля и свяжите их с Data1. Также каждое из этих полей свяжите при помощи свойства DataField со своим полем таблицы. Запустите проект. Пощелкайте мышкой по разным записям в DBGrid. Вы видите, что значения текстовых полей автоматически становятся равными значениям полей текущей записи таблицы. И наоборот, стоит нам изменить содержимое текстового поля, как меняется соответствующее содержимое таблицы.
До сих пор мы меняли содержимое базы данных вручную. Посмотрим, как это можно делать программным способом. Таблица разделена на клетки-ячейки. Существует понятие текущей ячейки (current cell), с которой происходит в настоящий момент работа. Она задается номером записи (DBGrid1.Row) и номером поля (DBGrid1.Col). Свойство DBGrid1.Text означает содержимое текущей ячейки. Самая верхняя запись имеет номер 0, а не 1. То же относится и к самому левому полю. Например, при работе с нашей базой данных фрагмент DBGrid1.Row = 3 DBGrid1.Col = 1 Debug.Print DBGrid1.Text напечатает слово Достоевский. Вот пример процедуры, которая заполняет числами 2, 3, 4 поле Kol_str в записях со 2-й по 4-ю: Private Sub Command1_Click() DBGrid1.Col = 3 For i = 2 To 4 DBGrid1.Row = i DBGrid1.Text = i Next End Sub А вот строка, увеличивающая на одни сутки дату выпуска: DBGrid1.Text = DateAdd(" d", 1, DBGrid1.Text) SQL А теперь посмотрим, как при помощи простейших операторов выполняются такие сложные вещи, как сортировка и фильтрация. Для этого будем использовать популярный универсальный язык общения с базами данных SQL. Вот процедура, сортирующая нашу базу данных по дате выпуска книги: Private Sub Command4_Click() Data1.RecordSource = " SELECT Avtor, Nazvanie, Data FROM Books ORDER BY Data" Data1.Refresh End Sub Выполнив эту процедуру, вы увидите на экране такую таблицу:
Пояснения: Выше мы писали строку Data1.RecordSource = " Books" имея в виду, что источником данных для работы элемента Data1 будет целиком таблица Books. А вот первая строка нашей процедуры выбирает для работы элемента Data1 только три поля: Avtor, Nazvanie, Data. Действительно, в переводе с английского команда SELECT Avtor, Nazvanie, Data FROM Books ORDER BY Data означает ВЫБРАТЬ Avtor, Nazvanie, Data ИЗ Books УПОРЯДОЧИТЬ ПО Data То есть работа будет вестись не со всеми полями, а только с тремя перечисленными, причем записи будут упорядочены по возрастанию даты выпуска книги. Если вместо ORDER BY Data написать ORDER BY Data DESC, то записи будут упорядочены по убыванию даты. Строка Data1.Refresh просто приводит предыдущую команду SELECT в действие.
Следующая процедура осуществляет фильтрацию. Private Sub Command6_Click() Data1.RecordSource = " SELECT * FROM Books WHERE Kol_str> 100" Data1.Refresh End Sub Пояснения: Звездочка в выражении SELECT * FROM Books означает, что мы выбираем все поля таблицы Books. Выражение WHERE Kol_str > 100 переводится ГДЕ количество страниц > 100 и приказывает вывести на экран только те книжки, что толще 100 страниц.
Следующая таблица иллюстрирует некоторые другие возможности SQL:
|