تقييم الموضوع :
  • 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] اريد كود للبرنامج التالي بطريقة general procedures a_abdullah 2 54 05-12-16, 02:18 PM
آخر رد: a_abdullah
  اريد post لي جهاز ubnt .... خبراء sharo.azad 1 61 05-11-16, 06:58 PM
آخر رد: sharo.azad
  [VB.NET] اريد إضافة صورة للموظف في جدول أخر بنفس قاعدة البيانات أبووسم 8 275 05-11-16, 12:00 PM
آخر رد: Adrees
  اريد مساعدة في التعامل مع هذا الموقع بالفيجوال بيسك soper 2 86 03-11-16, 07:08 PM
آخر رد: soper
  اريد اجعل برنامجي يقبل اي نت فيرم ورك thevirus 2 114 31-10-16, 09:24 AM
آخر رد: thevirus
Photo [VB.NET] سؤالى عن انواع البيانات اريد اعرف نوع روابط الانترنت elhon.tec 4 104 27-10-16, 11:38 AM
آخر رد: ممدوح
  اريد كود غلق الفورم الحالى وفتح فورم اخر ali.alfoly 7 2,504 22-10-16, 09:53 AM
آخر رد: abbas alshuily
Sad [سؤال] اريد صنع صفحة تسجيل دخول الي برنامج عن طريق داتابيس online sql sharo.azad 3 98 21-10-16, 04:07 AM
آخر رد: أبو عمر
Star اريد حلا ارجوكم وبسرعة lugman's mum 4 138 18-10-16, 11:30 AM
آخر رد: lugman's mum
  [كود] اريد كود استخراج سورس موقع تحويل تلقائي sharo.azad 0 71 08-10-16, 03:10 PM
آخر رد: sharo.azad

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


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