تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] اريد الحقل يبدا برقم تسلسلي حسب السنة الهجرية
#1
Sad 
سلام عليكم

لدي جدول اريد عند ادخال البيانات الـ ID رقم تلقائي بحيث يكون على حسب السنة الهجرية

يعني في هذه السنة يبدأ بالعد التلقائي وعند انتهاء السنة وبداية السنة الهجرية الثانية

يبدأ بالعد من جديد من رقم 1 وهكذا ماهي الطريقة لعمل ذلك 
الرد }}}}
تم الشكر بواسطة:
#2
الترقيم التلقائي لا يمكن ان تقوم بتعديله لانه تلقائي
تحتاج الى اضافة حقل اخر
وتستخرج قيمة اخر سجل وتضيف عليه قيمه جديده
الرد }}}}
تم الشكر بواسطة: الوليد ☺ , العزابي
#3
أشكرك أخي الكريم على ردك

فعلاً الرقم التلقائي لايقبل وحله كما قلت بإظافة حقل أخر وهذا معروف

الي اقصدة
الرقم التلقائي ID
الحقل الأخر ID_NO
ماهي الطريقة التي تجعل البرنامج يتعرف على السنة الجديدة ثمن يعيد الترقيم التلقائي في الحقل الي اظفناه كمثال ID_NO

بصراحة أنا بدأت بكتابة كود بحيث أنه إذا كانت السنة YYYY/01/01 يظهر رسالة معينة


بصراحة أحس أنها بسيطة لكن مخي قفل وأكره الرياضيات والفيزياء ههههههه
الرد }}}}
تم الشكر بواسطة: الوليد ☺
#4
السلام عليكم

- أعتقد مايجب عليك لتحصل على ماتريد هو أن تضيف حقل في الجدول لرقم السنه ، وقبل ادخال البيانات قم بعمل استعلام لجلب اكبر قيمة في حقل ID_NO لكن بشرط ان تكون قيمة حقل رقم السنه تساوي رقم السنه الحاليه وبكذا راح يكون عندك لكل سنه تسلسل خاص بها ، مثال لاستعلام جلب اكبر قيمة مع الشرط :

كود :
Select Max(ID_NO) From Table1 Where YearNumber= & Year(Date)

- تحياتي .
الرد }}}}
تم الشكر بواسطة: الوليد ☺ , العزابي
#5

السلام عليكم ورحمة الله

شوف أخوي العزابي

هذا مثال مجمع من عدة مشاريع لأحد الأخوة الله يذكره بالخير علشان نوصل للهدف من الفكرة

مشكلة قاعدة البيانات ما تتعامل مع التاريخ الهجري مباشرة حتى لو ظهر لك تاريخ هجري فهذا نتيجة التحويل
ولو استعلمت عن السنة في جملة الاستعلام مثل "(()SELECT YEAR(NOW" راح يعطيك السنة الميلادية

سوي مشروع جديد وحط فيه داتاجريد وزر ومربع نص
وبالنسبة لقاعدة البيانات
سوي جدول باسم table1 وفيه ثلاث حقول واحد نصي Name واثنين أرقام عادية اسمهم HijriYear والثاني HijriID

وقول باسم الله وشغل المشروع، وإن شاء يكون ما تريد،
PHP كود :
Imports System.Data.OleDb

Public Class Form1

    Dim conn 
As New OleDbConnection("Provider = Microsoft.ACE.OLEDB.12.0; Data Source = Database1.accdb;")

    Private 
Sub Form1_Load(sender As System.ObjectAs System.EventArgsHandles MyBase.Load
        
' قراءة قاعدة البيانات '
        
ReadDatabase()

    
End Sub


    
' قراءة قاعدة البيانات '
    
Private Sub ReadDatabase()
        
Using da As New OleDbDataAdapter("SELECT * FROM [table1] "conn)
            
Using myDatatable As New DataTable
                da
.Fill(myDatatable)
                
Me.DataGridView1.DataSource myDatatable
            End Using
        End Using
    End Sub


    
Private Sub Button1_Click(sender As System.ObjectAs System.EventArgsHandles Button1.Click
        
Try
            
' الحقل HijriYear هو فقط لمعرفة الرقم التسلسلي المفترض وضعه '
            ' الحقل HijriID هو من نوع رقم عادي وليس ترقيم تلقائي لأن الترقيم يتم برمجياً '

            ' معرفة السنة الهجرية الحالية حسب التقويم الهجري نظام الويندوز '
            
Dim nowHijriYear As Integer = New System.Globalization.HijriCalendar().GetYear(Now)
            
' معرفة السنة الهجرية الحالية حسب تقويم أم القرى في نظام الويندوز '
            ''
Dim nowHijriYear As Integer = New System.Globalization.UmAlQuraCalendar().GetYear(Now)

            
' معرفة أكبر رقم مسجل للسنة الحالية '
            
Dim maxHijriID As Integer GetMaxHijriID(nowHijriYear)

            If 
maxHijriID <> -1 Then
                conn
.Open()

                
'========== إضافة البيانات =========='
                
Using comm As New OleDbCommand(" INSERT INTO [table1] ([Name], [HijriYear], [HijriID] ) VALUES (@Name, @HijriYear, @HijriID) "conn)
                    
comm.Parameters.AddWithValue("@Name"Me.TextBox1.Text)
                    
comm.Parameters.AddWithValue("@HijriYear"nowHijriYear)
                    
comm.Parameters.AddWithValue("@HijriID"maxHijriID 1' نضيف واحد '
                    
comm.ExecuteNonQuery()
                
End Using

                conn
.Close()

                
' قراءة قاعدة البيانات '
                
ReadDatabase()
            
End If

        Catch 
ex As Exception
            MsgBox
(ex.Message)
        
End Try
    
End Sub


    
'========== دالة لمعرفة أكبر رقم مسجل للسنة المحددة =========='
    
Private Function GetMaxHijriID(hijriYear As Integer) As Integer
        
Try

            
conn.Open()

            
'========== معرفة أكبر رقم مسجل للسنة الحالية =========='
            ' متغير من نوع أوبجكت تحسباً لرجوع قيمة فارغة '
            
Dim maxHijriID As Object
            Using comm 
As New OleDbCommand(" SELECT MAX([HijriID]) FROM [table1] WHERE [HijriYear] = @HijriYear "conn)
                
comm.Parameters.AddWithValue("@HijriYear"hijriYear)
                
maxHijriID comm.ExecuteScalar
            End Using
            
' في حالة القيمة الفارغة يتم تحويلها إلى رقم صفر '
            
maxHijriID IIf(maxHijriID.GetType Is GetType(System.DBNull), 0maxHijriID)

            
conn.Close()

            Return 
maxHijriID

        
Catch ex As Exception
            MsgBox
(ex.Message)
            Return -
1
        End 
Try
    
End Function


End Class 


أضفت السطر التالي لتقويم أم القرى، قم بتفعيله مع تعطيل السابق إن أردت
PHP كود :
' معرفة السنة الهجرية الحالية حسب تقويم أم القرى في نظام الويندوز '
''
Dim nowHijriYear As Integer = New System.Globalization.UmAlQuraCalendar().GetYear(Now

الرد }}}}
تم الشكر بواسطة: العزابي
#6
الاخ VB_SMITTEN والاخ الوليد

لاحرمكم الله الأجر .. جاري المحاولة بالطرق الي ذكرتموها وإنشالله تضبط معاي


تحياتي
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] اريد طريقة لتشفير اكواد الفيجوال بيسك طارق سليمان 0 23 أمس, 05:14 PM
آخر رد: طارق سليمان
  [VB.NET] اريد حل لموضع تايمر ضمن الاكواد تالية e-coder 5 116 21-05-17, 09:38 PM
آخر رد: Amir_alzubidy
  [VB.NET] اريد وضع مؤقت بدون تايمر داخل هذا الكود + المشروع بالكامل e-coder 0 48 19-05-17, 04:09 PM
آخر رد: e-coder
  [VB.NET] اريد كود حفظ العمل على البرنامج ؟؟ عامر الجبوري 4 92 16-05-17, 12:54 PM
آخر رد: عامر الجبوري
  فضلا ، اريد كود لرومنة الأسماء العربية الى الحروف الانجليزية السكر المغرور 11 1,462 28-04-17, 04:30 PM
آخر رد: usamahub
  عندي جدولين اريد جملة sqlتقوم باظهار الاسماء الموجودة في الجدول الاول وليست موجودة في محمد محمود الغرياني 2 145 22-04-17, 02:19 AM
آخر رد: ابو ليلى
  اريد رابط تحميل فيجوال بيسك 2015 كود برمجي 3 205 19-04-17, 07:10 PM
آخر رد: كود برمجي
  عندما يكون listbox فارغ اريد ان يكون لونه احمر مثلا الـ ـجارح 7 148 15-04-17, 09:23 PM
آخر رد: Amir_alzubidy
  اريد هذا الكود من فضلكم fouadhdfouad 8 187 12-04-17, 12:14 AM
آخر رد: abdualla
  [VB.NET] اريد كود يجمع اجمالي راتب الموظف اسبوعيا samawi 4 146 11-04-17, 05:58 AM
آخر رد: samawi

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


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم