Архив метки: Форма

Пример технологии доступа к данным DAO

Начальные условия:

Использование технологии доступа к данным DAO в Microsoft Access.
Язык Microsoft Visual Basic for Applications.

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

Форма бронирования

Для добавления кода необходимо перейти в окно свойств кнопки (Правой кнопкой мыши по необходимой кнопке в режиме конструктора —> Свойства). Вкладка События. Нажать кнопку с многоточием напротив текста Нажатие кнопки. Затем выбрать из списка пункт «Программы» и нажать ОК.

Попадаем в программную среду Microsoft Visual Basic for Applications, как на рисунке ниже

Visual Basic
Вставляем следующий код:

rem Если Ошибка выходим 
On Error GoTo Err_Кнопка15_Click
 Dim er
 er = False

Dim rs As DAO.Recordset
Dim strSql As String
rem Создаем текст запроса 
    strSql = "SELECT [Состояние], [Number Ap] FROM House;"
rem Подключаем БД и выполняем запрос с помощью DAO
    Set rs = DBEngine(0)(0).OpenRecordset(strSql)

rem Проверка на пустые поля в Форме
If (IsNull([Фамилия])) Then
    er = True
    MsgBox "Необходимо Заполнить поле Фамилия ", vbCritical
    GoTo Exit_Кнопка15_Click:
   End If
   If (([Срок]  [Дата прибытия])) Then
        er = True
        MsgBox "Некорректные даты ", vbCritical
        GoTo Exit_Кнопка15_Click:
   End If
   If ((IsNull(Срок)) Or (IsNull([Дата прибытия]))) Then
    er = True
    MsgBox "Даты необходимо заполнить ", vbCritical
    GoTo Exit_Кнопка15_Click:
   End If
rem работаем с БД, проходим по всем записям таблицы
If (Not (er)) Then
    Do While Not rs.EOF
           rem ищем нашу комнату
           If rs![Number Ap] = [ID Номер Апарт] And (Not (IsNull([Фамилия]))) Then
                rem редактируем запись в таблице
                rs.Edit
                rs![Состояние] = "бронирован"
                rs.Update
            Else
            End If
     rs.MoveNext
    Loop
    rs.Close
End If
rem здесь точки выхода из программы
    Set rs = Nothing
   Me.Dirty = False
   DoCmd.Close acForm, Me.Name
Exit_Кнопка15_Click:
    Exit Sub
Err_Кнопка15_Click:
   MsgBox Err.Description, vbCritical
   Resume Exit_Кнопка15_Click

Организация обмена данными между формами в С#

Обмен данными между 2мя формами в С#.

Подготовка

В первой форме создадим несколько элементов как на картинке

Форма С#Для создания 2 формы необходимо зайти в мено Проект

Добавление формы в C#Добавляем элементы на форму как на рисунке ниже
Форма C#

Самый быстрый способ организации обмена данными между формами в С#

1. В панели  обозреватель решений выделяем 1 форму, затем правой кнопкой мыши и выберем пункт перейти к коду.

Перейти к коду ФормыМеняем у тех елементов формы к которым необходим доступ из другой формы с private на public. Должно получиться для нашей формы так:

private System.Windows.Forms.Button button1;
public System.Windows.Forms.TextBox textBox1;
private System.Windows.Forms.Label label1;
public System.Windows.Forms.TextBox textBox2;
private System.Windows.Forms.Label label2;

2. Напишем код вызова второй формы из первой при нажатии кнопки 1 формы

private void button1_Click(object sender, EventArgs e)
{
Form2 frm2 = new Form2();
frm2.Show(this);
}

3. Вторая Форма

получить данные из первой формы

private void button1_Click(object sender, EventArgs e)
{
Form1 frm1 = this.Owner as Form1;
textBox1.Text = frm1.textBox2.Text;
}

Записать данные в первую форму

private void button3_Click(object sender, EventArgs e)
{
Form1 frm1 = this.Owner as Form1;
frm1.textBox2.Text = textBox2.Text;
}

Как видно данные между формами передаются в обе стороны.