Каким образом можно сбросить составной номер Тикета, используя счетчик и функцию времени в VB.Net и MS Access в качестве своей базы данных - PullRequest
1 голос
/ 15 мая 2019

Я пытаюсь сгенерировать номер билета в моей программе. Я создаю систему, в которой пользователь может создать свой собственный номер заявки, чтобы он мог быстро распознавать свои запросы или свои проблемы. Возможно ли сбросить номер билета в нужное время? Допустим, мой условный оператор в функции «Час» больше или меньше 23 (до полуночи или на рассвете), будет ли база данных MS Access снова сбрасывать свой счетчик до 1, когда он превышает желаемое время?

Вот мой код:

'This is the main menu
Public Class MISMenu

 Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click 'Button to go to the Trouble Ticket.vb

Trouble_Ticket.Show()

    Dim hours As Int32 = DateTime.Now.Hour 'My time function
    Dim numberOfEmployees As Int32 = 0
    'Database connection stuff
    Dim con As OleDbConnection = Nothing
    Dim cmd As OleDbCommand = Nothing
    con = New OleDbConnection()
    con.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=D:\Documents\Visual Studio 2013\Projects\MIS\MIS\LoginMIS1.mdb"
    con.Open()
    'I'm using Count function to count the counter variable from MS Access database
    cmd = New OleDbCommand("Select count(ID) From TroubleTicks", con)
    numberOfEmployees = cmd.ExecuteScalar()
    cmd.ExecuteNonQuery()
    cmd.Dispose()
    con.Close()

End Sub 
End Class

'Trouble Ticket.vb
Public Class Trouble_Ticket

Public dateAndTime As Date 'my date function
Public counter As Integer 'variable for incrementing a number

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

    Dim con As OleDbConnection = Nothing
    Dim cmd As OleDbCommand = Nothing
    Dim numberOfEmployees As Int32 = 0

    Dim hours As Int32 = DateTime.Now.Hour 'my time function
    dateAndTime = Now 'to currently display the date

    'conditional statements
    If hours < 12 Then
        'incrementing a counter
        counter += 1
        'if this variable below is not equal to 0 then it will continue to increment the counter that is existing to the MS Access database but it isn't working
        If numberOfEmployees <> 0 Then
            counter += 1
            'Database connection stuff
            con = New OleDbConnection()
            con.ConnectionString = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=D:\Documents\Visual Studio 2013\Projects\MIS\MIS\LoginMIS1.mdb"
            con.Open()
            'Count function again to count the Counter Variable from MS Access database
            cmd = New OleDbCommand("Select count(ID) From TroubleTicks", con)
            numberOfEmployees = cmd.ExecuteScalar()
            counter = numberOfEmployees
            cmd.ExecuteNonQuery()
            cmd.Dispose()
            con.Close()
        End If
    End If

   'I concatenated the date,time and the counter variable that will display as a label
Label5.Text = Format(dateAndTime, "yyyyMMdd" & "-").ToString & counter

End Sub
End class

Вот изображения:

введите описание изображения здесь Главное меню

введите описание изображения здесь Trouble Ticket.vb форма, где пользователи вводят свои проблемы или проблемы, и именно здесь генерируется номер билета

введите описание изображения здесь введите описание изображения здесь Программа работает хорошо, когда вы отправляете ее много раз, но при повторном открытии формы из MISMenu счетчик сбрасывается до 1

введите описание изображения здесь Вот моя база данных MS Access

Может кто-нибудь помочь мне решить эту проблему?

Мне очень жаль мой ужасный английский, и я надеюсь, что на мой вопрос скоро ответят!

...