تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[ تمّ الحل ] : التّرقيم التّسلسلي السّنوي
#4
مع أن الموضوع قد تم حله، فقد أردت وضع أسلوب آخر للفائدة



هذه طريقة أخرى أرجو أن تكون مفيده
وهي تكوين الرقم الجديد دون حفظه الا عند اضافة البيانات فيتم ارفاقه مع معهم

إنشاء رقم جديد (دون حفظه) عن طريقة الدالة getNewID
على أساس أن الحقل نوعه نصي كما في المثال المرفق
PHP كود :
   'معرفة الرقم الجديد
    Function getNewID() As String
        Try
            cnn.Open()
            Using cmd As New OleDbCommand("Select Top 1 [ID] From [Table1] Order By [ID] Desc", cnn)
                Dim id As String = cmd.ExecuteScalar

                If IsNothing(id) Then id = Today.Year & "-000"
                Dim y As Integer = Val(id.Split("-")(0))
                Dim i As Integer = Val(id.Split("-")(1))
                If y <> Today.Year Then
                    y = Today.Year
                    i = 0
                End If
                id = y.ToString & "-" & (i + 1).ToString("000")

                Return id
            End Using
        Catch ex As Exception
            MsgBox(ex.Message)
            Return Nothing
        Finally
            cnn.Close()
        End Try
    End Function 

وبمكانك تجربة بالكود التالي على المثال المرفق
PHP كود :
Imports System.Data.OleDb

Public Class Form1

    Dim cnn 
As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\DBTEST.accdb;Persist Security Info=True")

 
   Private Sub Button1_Click(ByVal sender As System.ObjectByVal e As System.EventArgsHandles Button1.Click

        
'معرفة الرقم الجديد
        Dim id As String = getNewID()

        MsgBox("الرقم الجديد: " & vbNewLine & id)

        '
عرض الرقم الجديد
        TextBox1
.Text id

        
'الحفظ
        save(id)

    End Sub

    '
معرفة الرقم الجديد
    Function getNewID
() As String
        Try
            cnn
.Open()
 
           Using cmd As New OleDbCommand("Select Top 1 [ID] From [Table1] Order By [ID] Desc"cnn)
 
               Dim id As String cmd.ExecuteScalar

                If IsNothing
(idThen id Today.Year "-000"
 
               Dim y As Integer Val(id.Split("-")(0))
 
               Dim i As Integer Val(id.Split("-")(1))
 
               If y <> Today.Year Then
                    y 
Today.Year
                    i 
0
                End 
If
 
               id y.ToString "-" & (1).ToString("000")

 
               Return id
            End Using
        Catch ex 
As Exception
            MsgBox
(ex.Message)
 
           Return Nothing
        Finally
            cnn
.Close()
 
       End Try
 
   End Function

 
   Function save(ByVal id As String) As Boolean
        Try
            cnn
.Open()
 
           Using cmd As New OleDbCommand("Insert Into [Table1] ([ID]) Values(@id)"cnn)
 
               cmd.Parameters.AddWithValue("@id"id)
 
               cmd.ExecuteNonQuery()
 
           End Using
            Return True
        Catch ex 
As Exception
            MsgBox
(ex.Message)
 
           Return False
        Finally
            cnn
.Close()
 
       End Try
 
   End Function

End Class 
الرد }}}
تم الشكر بواسطة: sendbad100 , عبد العزيز البسكري


الردود في هذا الموضوع
RE: [ تمّ الحل ] : التّرقيم التّسلسلي السّنوي - بواسطة طالب برمجة - 05-12-17, 08:41 AM

المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  ما الحل dwidar07@gmail.com 3 430 21-02-25, 01:08 AM
آخر رد: أبو خالد الشكري
  البرنامج لدي يعمل على ويندوز 11 والان لا يعمل على ويندوز 10 ماهو الحل moh61 1 592 01-09-23, 04:38 AM
آخر رد: اسامه الهرماوي
  ممكن الحل masport tv 0 503 07-04-23, 11:36 AM
آخر رد: masport tv
  ارجو ان لا تبخلو علينا با الحل ahmedbezia 3 722 06-12-22, 01:29 PM
آخر رد: ahmedbezia
  [سؤال] [تم الحل] انشاء المسارات وتمرير البارامترات لها وقت التشغيل سعود 7 1,726 03-09-22, 09:44 AM
آخر رد: Taha Okla
  مشكلة واجهتني كتير وزهقت منها فاللي عنده الحل ياريت يفيدني بيه ميدو الفنان 7 1,532 03-09-22, 03:33 AM
آخر رد: ميدو الفنان
  [سؤال] * تم الحل * التحكم بمخرجات السريال بورت واعادة تحويلها mohamedallams 1 707 30-08-22, 06:42 PM
آخر رد: mohamedallams
  [سؤال] * [تم الحل] * المحاولة الثانية و اللتي باءت بالفشل حول تقسيم ملف بشكل دقيق سعود 8 1,432 27-08-22, 07:41 AM
آخر رد: سعود
  ما هو الحل لهذه المشكلة جيولوجي مبتدئ 7 1,643 17-05-22, 09:22 AM
آخر رد: جيولوجي مبتدئ
  [سؤال] التحديث من خلال الـ DropBox متوقف ما الحل؟ abomo3ath 1 1,005 06-05-22, 09:11 PM
آخر رد: سعود

التنقل السريع :


يقوم بقرائة الموضوع: