منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
كيف يمكنني إعداد ترقيم تلقائي ويتجدد الترقيم في كل سنة - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : كيف يمكنني إعداد ترقيم تلقائي ويتجدد الترقيم في كل سنة (/showthread.php?tid=25029)

الصفحات: 1 2


RE: كيف يمكنني إعداد ترقيم تلقائي ويتجدد الترقيم في كل سنة - mram3242 - 21-05-18

(21-05-18, 03:19 PM)ahmedmansour كتب : https://www.youtube.com/watch?v=6nt1zhmh9_s&index=4&list=PLdI8JH1ubsUCplcTTD0g2Md5lR3RgOTyQ
راجع هذا الدرس

شكرا بارك الله فيك Blush


RE: كيف يمكنني إعداد ترقيم تلقائي ويتجدد الترقيم في كل سنة - DOX.1 - 30-10-18

يعطيك العافيه الترقيم اللي في الدرس 
سهل وعارفه لكن الرقم الفردي يتغير مع كل سنه فقط والرقم اللي في اليمين يزيد مع كل سجل 
فكرتي مختلفه نوعاً ماء


RE: كيف يمكنني إعداد ترقيم تلقائي ويتجدد الترقيم في كل سنة - غزة العزة - 02-06-24

(21-05-18, 04:22 AM)حريف برمجة كتب : مرحبا مره أخرى اخي عبدالعزيز ،، ولك بالمثل وأكثر حتى ترضى ،، وشكراً على دعواتك لي

بخصوص الخطأ لن يحدث إلا في الحالة التي تكلمت عنها انا فقط .

بمعنى حالتك لو قمت بادخال الترقيم يدوي عادي لن يحدث خطأ اذا التزمت بتنسيق الترقيم السنوي .

بالنسبة للحل سوف ازودك به عندما اهدأ شوي واكون مهيأ لاستنتاج الحل .

PHP كود :
Private Sub Button1_Click(sender As ObjectAs EventArgsHandles Button1.Click
    If MsgBox
("هل تريد إضافة سجل جديد ؟ "MsgBoxStyle.Exclamation MsgBoxStyle.MsgBoxRight MsgBoxStyle.OkCancel"تنبيه") = MsgBoxResult.Cancel Then Exit Sub
    
    Dim maxId 
As Object
    Using Command 
As New OleDbCommand("SELECT MAX(IDD) FROM SCHOOL"Con)
 
       If Con.State ConnectionState.Closed Then Con.Open()
 
       maxId Command.ExecuteScalar()
 
       Con.Close()
 
   End Using
    
    Call SetState
("Add")
 
   InfoBookmark InfoManager.Position
    InfoManager
.AddNew()
 
   
    If IsDBNull
(maxIdThen
        TextBox1
.Text "1"
 
   Else
        TextBox1
.Text = (Convert.ToInt32(maxId) + 1).ToString()
 
   End If
 
   
    Call Show_New_Year
()
 
   TextBox3.Focus()
End Sub

Sub Show_New_Year
()
 
   Dim currentYear As Integer Date.Now.Year
    Dim latestYear 
As Integer currentYear

    Dim dp 
As New OleDbDataAdapter("SELECT TOP 1 NEW_YEAR FROM SCHOOL ORDER BY NEW_YEAR DESC"Con)
 
   Dim dt As New DataTable
    dp
.Fill(dt)
 
   
    If dt
.Rows.Count 0 Then
        TextBox2
.Text currentYear " - " "0001"
 
   Else
        Dim idall 
As String dt.Rows(0)(0).ToString()
 
       idall idall.Replace(" - ""-")
 
       Dim strArr() As String idall.Split("-"c)
 
       latestYear Convert.ToInt32(strArr(0))
 
       
        If latestYear 
currentYear Then
            TextBox2
.Text currentYear " - " "0001"
 
       Else
            TextBox2
.Text currentYear " - " & (Convert.ToInt32(strArr(1)) + 1).ToString("0000")
 
       End If
 
   End If
End Sub 

هذا هو التعديل المناسب لمن يهمه الامر


RE: كيف يمكنني إعداد ترقيم تلقائي ويتجدد الترقيم في كل سنة - atefkhalf2004 - 02-06-24

اين SetState("Add")


RE: كيف يمكنني إعداد ترقيم تلقائي ويتجدد الترقيم في كل سنة - غزة العزة - 02-06-24

(02-06-24, 03:08 PM)atefkhalf2004 كتب : اين  SetState("Add")

PHP كود :
Private Sub Button1_Click(sender As ObjectAs EventArgsHandles Button1.Click
    If MsgBox
("هل تريد إضافة سجل جديد ؟ "MsgBoxStyle.Exclamation MsgBoxStyle.MsgBoxRight MsgBoxStyle.OkCancel"تنبيه") = MsgBoxResult.Cancel Then Exit Sub
    
    Dim maxId 
As Object
    Using Command 
As New OleDbCommand("SELECT MAX(IDD) FROM SCHOOL"Con)
 
       If Con.State ConnectionState.Closed Then Con.Open()
 
       maxId Command.ExecuteScalar()
 
       Con.Close()
 
   End Using
    
    Call SetState
("Add")
 
   InfoBookmark InfoManager.Position
    InfoManager
.AddNew()
 
   
    If IsDBNull
(maxIdThen
        TextBox1
.Text "1"
 
   Else
        TextBox1
.Text = (Convert.ToInt32(maxId) + 1).ToString()
 
   End If
 
   
    Call Show_New_Year
()
 
   TextBox3.Focus()
End Sub

Private Sub Show_New_Year()
 
   Dim currentYear As Integer Date.Now.Year
    Dim latestYear 
As Integer currentYear

    Dim dp 
As New OleDbDataAdapter("SELECT TOP 1 NEW_YEAR FROM SCHOOL ORDER BY NEW_YEAR DESC"Con)
 
   Dim dt As New DataTable
    dp
.Fill(dt)
 
   
    If dt
.Rows.Count 0 Then
        TextBox2
.Text currentYear " - " "0001"
 
   Else
        Dim idall 
As String dt.Rows(0)(0).ToString()
 
       idall idall.Replace(" - ""-")
 
       Dim strArr() As String idall.Split("-"c)
 
       latestYear Convert.ToInt32(strArr(0))
 
       
        If latestYear 
currentYear Then
            TextBox2
.Text currentYear " - " "0001"
 
       Else
            TextBox2
.Text currentYear " - " & (Convert.ToInt32(strArr(1)) + 1).ToString("0000")
 
       End If
 
   End If
End Sub

Private Sub SetState(state As String)
 
   Select Case state
        Case 
"Add"
 
           ' Enable controls for adding a new record
            TextBox1.Enabled = True
            TextBox2.Enabled = True
            TextBox3.Enabled = True
            ' 
Clear text boxes
            TextBox1
.Text String.Empty
 
           TextBox2.Text String.Empty
 
           TextBox3.Text String.Empty
 
           ' Other UI adjustments
            ButtonSave.Enabled = True
            ButtonCancel.Enabled = True
            ButtonEdit.Enabled = False
            ButtonDelete.Enabled = False
        Case "Edit"
            ' 
Enable controls for editing an existing record
            TextBox1
.Enabled False ' Assuming ID should not be changed
            TextBox2.Enabled = True
            TextBox3.Enabled = True
            ' 
Other UI adjustments
            ButtonSave
.Enabled True
            ButtonCancel
.Enabled True
            ButtonEdit
.Enabled False
            ButtonDelete
.Enabled True
        Case 
"View"
 
           ' Disable controls, view mode
            TextBox1.Enabled = False
            TextBox2.Enabled = False
            TextBox3.Enabled = False
            ' 
Other UI adjustments
            ButtonSave
.Enabled False
            ButtonCancel
.Enabled False
            ButtonEdit
.Enabled True
            ButtonDelete
.Enabled True
    End Select
End Sub 



RE: كيف يمكنني إعداد ترقيم تلقائي ويتجدد الترقيم في كل سنة - atefkhalf2004 - 02-06-24

شكرا لك وجاري التجربة