我剛從vb.net開始,所以請耐心等待我。一代7位數的學生號碼
我正在開展uni作業,我需要建立一個小型學生註冊計劃。
我需要創建一個7位數的學生人數,每當用戶點擊註冊,我的代碼和驗證,並連接到DB工作正常,我只是與學生數量
說明的一代掙扎生成學生NR
- 學生數應具有7位數字
前兩位數字代表年份在學生寄存器(滿一年的最後兩位數字),我得到這樣和正常工作:
Dim cyear = DateTime.Now.ToString("yy")
這裏是我的問題: 接下來的4個數字,代表迄今爲止誰已註冊學生的號碼,這個號碼總是用從左邊的0填充以構成四位數字。
例
如果20名學生已經註冊迄今(在2014),那麼下一個學生將 有學生編號140021
4的最後一位數字是一個校驗數字,你可以通過總結學生數字的前6個單獨的數字,將結果除以10得到餘數,並用10減去餘數得到最後一位數字。 很好很容易,但如果只有一個學生註冊到目前爲止呢?當然這不能產生正確的結果
我的問題
(見3號以上)如何生成號3〜6,填充從左到右一個遞增與每個新註冊?
我試着下面的代碼,但它是遙遠從工作
'Generate Student NR'
Dim newstudent As Integer
'displays 1st 2 letter of current year for student number'
Dim cyear = DateTime.Now.ToString("yy")
Dim lastdigit As Double
Dim lastdigitRemainder
Dim studentnr As Integer
'if statment to generate new student number for each registration'
If (register.Enabled = True) Then
newstudent = cyear + 0 + 0 + 0 + 1
'generate last digit of student nr'
lastdigit = (cyear + newstudent)/10
lastdigitRemainder = lastdigit - 10
studentnr = lastdigit + lastdigitRemainder
MsgBox(studentnr)
我的界面看起來像這樣
請注意我不是要求別人來完成這個代碼對我來說,我只是在尋找一些建議,能夠指引我走向正確方向的人等等。另外,IF陳述是我應該用於一代的正確選擇結構學生號碼?
你也可以去掉一些變量;最後一位數字和最後一位數字... – Codexer
非常感謝您的幫助 – Marilee
查看我的編輯...這應該工作得很好:)和你的歡迎! – Codexer