Расчет данных - Visual Basic .NET
Формулировка задачи:
Здравствуйте. Как можно сделать расчеты между таблицами,которые представлены на фото. То есть при выборе должности в карте сотрудника,она должна уменьшаться в таблице "должности"(скрин 2).
А в таблице вакансии в колонке "занято мест" должно выводится количество занятых должностей, и если нет свободных то в конке "свободно" будет соответствующий результат.
Решение задачи: «Расчет данных»
textual
Листинг программы
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace DBpoly
- {
- public partial class Doljnosti : Form
- {
- public Doljnosti()
- {
- InitializeComponent();
- }
- private void штатноеРасписаниеBindingNavigatorSaveItem_Click(object sender, EventArgs e)
- {
- this.Validate();
- this.штатноеРасписаниеBindingSource.EndEdit();
- this.tableAdapterManager.UpdateAll(this._PolyDB_MDFDataSet);
- }
- private void Doljnosti_Load(object sender, EventArgs e)
- {
- // TODO: This line of code loads data into the '_PolyDB_MDFDataSet.ШтатноеРасписание' table. You can move, or remove it, as needed.
- this.штатноеРасписаниеTableAdapter.Fill(this._PolyDB_MDFDataSet.ШтатноеРасписание);
- for (int i = 0; i < штатноеРасписаниеDataGridView.Columns.Count; i++)
- {
- if (штатноеРасписаниеDataGridView.Columns[i].Visible == true)
- {
- ToolStripSearchColumn3.Items.Add(штатноеРасписаниеDataGridView.Columns[i].HeaderText);
- }
- }
- ToolStripSearchColumn3.Text = штатноеРасписаниеDataGridView.Columns[1].HeaderCell.Value.ToString();
- }
- private void ToolStripSearch3_Click(object sender, EventArgs e)
- {
- try
- {
- if (ToolStripSearchColumn3.Text != "" && ToolStripSearchParam3.Text != "" && ToolStripSearchValue3.Text != "")
- {
- this.штатноеРасписаниеBindingSource.Filter = ToolStripSearchColumn3.Text + " " + ToolStripSearchParam3.Text + " '" + ToolStripSearchValue3.Text + "'";
- }
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message.ToString(), ex.Source.ToString());
- }
- }
- private void ToolStripRemFilter3_Click(object sender, EventArgs e)
- {
- this.штатноеРасписаниеBindingSource.RemoveFilter();
- ToolStripSearchColumn3.Text = "";
- ToolStripSearchValue3.Text = "";
- }
- }
- }
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Windows.Forms;
- namespace DBpoly
- {
- public partial class vakansii : Form
- {
- public vakansii()
- {
- InitializeComponent();
- }
- private void vakansii_Load(object sender, EventArgs e)
- {
- // TODO: This line of code loads data into the '_PolyDB_MDFDataSet.ВакансииСумарно' table. You can move, or remove it, as needed.
- this.вакансииСумарноTableAdapter.Fill(this._PolyDB_MDFDataSet.ВакансииСумарно);
- }
- private void vakansii_Shown(object sender, EventArgs e)
- {
- refresh();
- }
- private void toolStripTextBox1_TextChanged(object sender, EventArgs e)
- {
- try
- {
- if (toolStripTextBox1.Text != "")
- {
- this.вакансииСумарноBindingSource.Filter = "Должность LIKE '" + toolStripTextBox1.Text + "%'";
- }
- else
- this.вакансииСумарноBindingSource.RemoveFilter();
- refresh();
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.Message.ToString(), ex.Source.ToString());
- }
- }
- private void toolStripButton2_Click(object sender, EventArgs e)
- {
- this.вакансииСумарноBindingSource.RemoveFilter();
- toolStripTextBox1.Text = "";
- }
- private void refresh()
- {
- foreach (DataGridViewRow row in this.вакансииСумарноDataGridView.Rows)
- {
- int val1 = 0;
- if (row.Cells[2].Value.ToString() != "")
- {
- val1 = (int)row.Cells[2].Value;
- }
- int val2 = 0;
- string ss = row.Cells[3].Value.ToString();
- if (row.Cells[3].Value.ToString() != "")
- {
- val2 = (int)row.Cells[3].Value;
- }
- if (val1 - val2 > 0)
- {
- row.Cells["Free"].Value = val1 - val2;
- }
- else
- {
- row.Cells["Free"].Value = "нет";
- }
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д