Сброс номеров до 0 в новом месяце - PullRequest
0 голосов
/ 25 октября 2018

У меня есть окно с элементами управления, которые вставляют данные в таблицу ms.access.Моя таблица выглядит следующим образом:

ID | Number | Name
1  | 1      | Ace
2  | 2      | Paul

Сначала я вытаскиваю последний «номер» из таблицы и добавляю его +1, чтобы следующая запись в таблице была «Число + 1», или:

ID | Number | Name
3  | 3      | Kiwi

int Numb1 = XNumber + 1; // XNumber is the last 'Number' in table.
textbox1.Text = Numb1 + "/" + DateTime.Today.Month.ToString();

В текстовом поле 1 отображается следующее:

'3/10'

Каждый раз, когда я добавляю новую запись, количество записей в этой записи увеличивается на 1. То, что я пытаюсь выполнить, имеетчисла возвращаются к 0, когда мы входим в новый месяц.Поэтому, если в текстовом поле отображается «3/10», и я продолжаю вставлять данные до конца месяца, при вставке данных в новом месяце я хочу, чтобы в текстовом поле отображалось «1/11».

В таблице, которая должна выглядеть примерно так:

ID | Number | Name
4  | 1      | Stellar

Может ли кто-нибудь, пожалуйста, указать мне правильное направление, высоко ценится.

Редактировать:

ID | Number | Name | DateofEntry
1  | 1      | Ace  | 10/22/2018
2  | 2      | Paul | 10/23/2018
3  | 3      | Kiwi | 10/25/2018

1 Ответ

0 голосов
/ 25 октября 2018

Когда вы берете последнюю запись, чтобы получить последнее значение Number, сохраняйте это число вместе с последним значением Month в частных переменных уровня класса.Таким образом, вы можете определить, отличается ли текущая запись от предыдущего месяца, и обновить значения LastEntryNumber и LastEntryMonth.

Например:

// These are initially populated from the last row of the table when the program loads
private int LastEntryNumber;
private int LastEntryMonth;

// Sample code enclosed in a method body
private void AddEntry()
{
    // Update the last month if needed (as well as the last entry number)
    if (DateTime.Today.Month != LastEntryMonth)
    {
        LastEntryMonth = DateTime.Today.Month;
        LastEntryNumber = 0;
    }

    // Increment our number
    LastEntryNumber = LastEntryNumber + 1;
    textbox1.Text = LastEntryNumber + "/" + LastEntryMonth;
}

Обратите внимание, что две последние строки, которые увеличивают LastEntryNumber и отображают значение, можно объединить и упростить до одной строки:

// Increment our number and display the new value
textbox1.Text = ++LastEntryNumber + "/" + LastEntryMonth;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...