Как установить автономер с форматом даты в VB net
как реализовать в коде ..
меня пробовали, но все равно увеличивали при смене даты...
я все еще сбит с толку ...
Счетчик ---
КОД ДАТА НОМЕР
PL-18.07.2017-0001
PL-18.07.2017-0002
PL-18.07.2017-0003
ПЛ-19/07/2017-0001 -----&ГТ; Дата изменения номер "0001"
PL-19.07.2017-0002
PL-19.07.2017-0003
пожалуйста, помогите мне, ребята..
Спасибо!!
Что я уже пробовал:
Call koneksi() sql = "select * from penjualan order by no_faktur desc" cmd = New OleDbCommand(sql, conn) dr = cmd.ExecuteReader dr.Read() If Not dr.HasRows Then penfaktur.Text = "PL" + Format(Now, "ddMMyyyy") + "0001" Else penfaktur.Text = Val(Microsoft.VisualBasic.Mid(dr.Item("no_faktur").ToString, 11, 4)) + 1 End If If Len(penfaktur.Text) = 1 Then penfaktur.Text = "PL" + Format(Now, "ddMMyyyy") + "000" & penfaktur.Text & "" ElseIf Len(penfaktur.Text) = 2 Then penfaktur.Text = "PL" + Format(Now, "ddMMyyyy") + "00" & penfaktur.Text & "" ElseIf Len(penfaktur.Text) = 3 Then penfaktur.Text = "PL" + Format(Now, "ddMMyyyy") + "0" & penfaktur.Text & "" ElseIf Len(penfaktur.Text) = 4 Then penfaktur.Text = "PL" + Format(Now, "ddMMyyyy") + "" & penfaktur.Text & "" End If
Bernhard Hiller
Ваш код потерпит неудачу, если 2 (или более пользователей) сохранят данные в базе данных одновременно. Генерация этого номера должна быть делегирована базе данных.
Khabibb Mubarakk
правда... ты можешь сказать мне это с помощью кода ?.
Ralf Meier
Вы уже получили ответ на свой вопрос здесь :
https://www.codeproject.com/Questions/1196103/Automatic-number-with-date-format
Почему вы не последовали этому предложению ?
Единственный способ определить, изменилась ли дата, - это сравнить ее с датой из предыдущей записи - если они отличаются, Вы можете начать снова с 1 с ваших чисел ...
Khabibb Mubarakk
потому что я новичок, и мне нужен полный код, чтобы понять..
Ralf Meier
ОК... в вашем примере кода Вы читаете последнее число +1 в ' penfaktur.Текст".
Как я понимаю ваш код dr.Элемент ("no_faktur") содержит дату и номер последней сохраненной записи - so ... если вы сможете извлечь из него число ... почему бы вам не извлечь из него часть даты и не сравнить ее с сегодняшним днем ? Если обе даты не равны, вы делаете то же самое, что и тогда, когда dr имеет теперь строки - в чем проблема. Это не имеет ничего общего с Новичком или не-Новичком ... это означает " подумай о"
Khabibb Mubarakk
я получаю ответ
Ralf Meier
Хорошо ... затем добавьте его к своему вопросу или предоставьте в качестве решения ...
Возможно, возможны некоторые оптимизации. Если я увижу, как вы создаете свой номер, я буду очень уверен ...
Khabibb Mubarakk
но этот код надолго..
у меня есть более короткий, чем этот код с той же функцией