Я пытаюсь сгенерировать номер билета в моей программе. Я создаю систему, в которой пользователь может создать свой собственный номер заявки, чтобы он мог быстро распознавать свои запросы или свои проблемы. Возможно ли сбросить номер билета в нужное время? Допустим, мой условный оператор в функции «Час» больше или меньше 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
Может кто-нибудь помочь мне решить эту проблему?
Мне очень жаль мой ужасный английский, и я надеюсь, что на мой вопрос скоро ответят!