01-09-19, 04:28 PM
(31-08-19, 03:26 PM)ابراهيم ايبو كتب :السلام عليكم اخي الكريم
بالنسبة للترقيم التلقائي لم يخطر ببالي عملها ولااعرف ان كان بالامكان فعل ذلك سابحث بها
لكن يمكننا فعل ذلك بالترقيم العادي MaxID واضافة السنة اليها وفق الكود التالي:
ضع هذا الفنكشن في الكلاس
كود :
'----------Public Function MaxID----------
Public Function MaxID_Table() As DataTable
Dim Query As String = "Select IIF(MAX(ID) IS Null,1,MAX(ID)+1 ) From Table"
Dim Cmd As OleDbCommand
Dim dt As New DataTable
dt.Clear()
Cmd = New OleDbCommand(Query, con)
Dim da As New OleDbDataAdapter(Cmd)
da.Fill(dt)
Return (dt)
End Function
Private Sub BtnNew_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnNew.Click
' وفي زر جديد استخدم هذا الفنكشن مع اضافة السنة
Dim DD As Date = Now ' تعريف متغير من نوع تاريخ يساوي التاريخ الحالي
Txt_ID.Text = Prd.MaxID_Personal.Rows(0)(0).ToString & "-" & DD.ToString("yyyy") 'اضافة السنة الى الرقم المجلوب
End Sub
بارك الله فيك على وجعله في ميزان حسناتك . تم بعون الله الحل وهذا الحل لكي يستفيد منه الجميع
Nogeneral.Text = Format(CODE_GENE() + 1 & "-" & Year(Exdate.Value.ToString))
'الترقيم التلقائي ........................................................
Public Function CODE_GENE() As Integer
CODE_GENE = 0
Dim DT As New DataTable
Dim SQL = "select * from Exporting "
Dim DA As New SqlClient.SqlDataAdapter(SQL, SQLcon)
'Dim DA As New SqlClient.SqlDataAdapter("SELECT * FROM " & TBLNAME & " ORDER BY " & FLDID & "", SQLcon)
DA.Fill(DT)
If DT.Rows.Count <> 0 Then
Dim I = DT.Rows.Count - 1
CODE_GENE = Val(DT.Rows(I).Item("Nogeneral"))
End If
End Function