اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

طريقة لترقيم سجلات الحقل


إذهب إلى أفضل إجابة Solved by jjafferr,

الردود الموصى بها

السلام عليكم 
المطلوب طريقة لعد الارقام فى الخلية numberx عند كتابة فى اول خلية مثلا 500 يزيد فى الخاليا التالية 1 الى اخر السجل لتصبح 
اول خلية تم كتابتها 500

501

502

503 الى اخر السجل 

وطريقة فى الخلية Serial عند كتابة مثلا اى كتابه يتم تكرارها فى الخلايا التالية الى اخر سجل 

و شكراً مقدماً

Untitled159.jpg

test22.rar

رابط هذا التعليق
شارك

وعليكم السلام 🙂

 

اضفت حقلين للنموذج ، int_numberx ، و str_serial ، و زر لتنفيذ العمل ،

image.png.8715736a805d89eb201923089f450cf7.png

.

وهذا الكود على حدث نقر الزر:

Private Sub cmd_Do_Changes_Click()

    If Len(Me.int_Numberx & "") = 0 Then
    
        MsgBox "رجاء تعبئة اول رقم لبداية التسلسل"
        Me.int_Numberx.SetFocus
        Exit Sub
        
    ElseIf Len(Me.str_serial & "") = 0 Then
    
        MsgBox "رجاء تعبئة خانة كلمة الحقل" & vbCrLf & "serial"
        Me.str_serial.SetFocus
        Exit Sub
    End If
    
    
    Dim rst As DAO.Recordset
    Dim i As Long
    
    Set rst = Me.RecordsetClone
    rst.MoveFirst
    
    Do Until rst.EOF
        i = i + 1
        
        rst.Edit
            rst!Numberx = Me.int_Numberx + i
            rst!serial = Me.str_serial
        rst.Update
        
        rst.MoveNext
    Loop
    
    MsgBox "Done"
    
End Sub

 

جعفر

1505.make serial numbers.mdb.zip

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

شكرا أستاذى @jjafferr
أنا بعد اذنك خلتها بعد التحديث
لو أمكن عملها فى نفس الخلية يعنى تنفيذها على نفس الخلية 
وعند كتابة رقم 400 يبدأ من 401 هل يمكن ضبطها أم استمر بانقاص رقم فى البداية 

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

 

1505.make serial numbers.rar

تم تعديل بواسطه محمد احمد لطفى
رابط هذا التعليق
شارك

  • أفضل إجابة

اذا قصدك تدخل البيانات مباشرة في اول حقل من اول سجل مباشرة

image.png.0e295b4bc9c8565507c95194465eeda2.png

.

فيصبح الكود:

Private Sub Numberx_AfterUpdate()

    '
    'Access looks at it this way:
    'user 1 = first entry was done in the Form by hand
    'user 2 = the code below enters values automatically
    '
    'so it will give the popup option to either: save these change, drop the saving, or place them in clipboard
    'to avaoid this message, we should first save the hand made value, then run the code
    
    'save the Records
    If Me.Dirty Then Me.Dirty = False
    
    Dim rst As DAO.Recordset
    Dim i As Long
    
    Set rst = Me.RecordsetClone
    rst.MoveFirst
    
    i = Me.Numberx
    Do Until rst.EOF
        i = i + 1
        
        rst.Edit
            rst!Numberx = i
           ' rst!serial = Me.str_serial
        rst.Update
        
        rst.MoveNext
    Loop
    
    'MsgBox "Done"
End Sub

Private Sub serial_AfterUpdate()
    Dim rst As DAO.Recordset
    Dim i As Long
    Dim str As String
    
    
    str = Me.serial
    'save the Records
    If Me.Dirty Then Me.Dirty = False
    
    
    Set rst = Me.RecordsetClone
    rst.MoveFirst
    
    Do Until rst.EOF
        
        rst.Edit
          '  rst!Numberx = Me.int_Numberx + i
            rst!serial = str
        rst.Update
        
        rst.MoveNext
    Loop
    
    'MsgBox "Done"
End Sub

 

جعفر

1505.1.make serial numbers.mdb.zip

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

شكرا استاذى @jjafferr هو فى حاجة صغير بس مش مشكلة عندما اكتب مثلا 100 يبدأ من 101 

 

تم تعديل بواسطه محمد احمد لطفى
رابط هذا التعليق
شارك

تفضل 🙂
الآن الكود يبدأ بالرقم الذي تكتبه في اول حقل :

Private Sub Numberx_AfterUpdate()

    '
    'Access looks at it this way:
    'user 1 = first entry was done in the Form by hand
    'user 2 = the code below enters values automatically
    '
    'so it will give the popup option to either: save these change, drop the saving, or place them in clipboard
    'to avaoid this message, we should first save the hand made value, then run the code
    
    'save the Records
    If Me.Dirty Then Me.Dirty = False
    
    Dim rst As DAO.Recordset
    Dim i As Long
    
    Set rst = Me.RecordsetClone
    rst.MoveFirst
    
    i = Me.Numberx - 1
    Do Until rst.EOF
        i = i + 1
        
        rst.Edit
            rst!Numberx = i
           ' rst!serial = Me.str_serial
        rst.Update
        
        rst.MoveNext
    Loop
    
    'MsgBox "Done"
End Sub

.
او
 

Private Sub Numberx_AfterUpdate()

    '
    'Access looks at it this way:
    'user 1 = first entry was done in the Form by hand
    'user 2 = the code below enters values automatically
    '
    'so it will give the popup option to either: save these change, drop the saving, or place them in clipboard
    'to avaoid this message, we should first save the hand made value, then run the code
    
    'save the Records
    If Me.Dirty Then Me.Dirty = False
    
    Dim rst As DAO.Recordset
    Dim i As Long
    
    Set rst = Me.RecordsetClone
    rst.MoveFirst
    
    i = Me.Numberx
    Do Until rst.EOF
        
        rst.Edit
            rst!Numberx = i
           ' rst!serial = Me.str_serial
        rst.Update

          i = i + 1
  
        rst.MoveNext
    Loop
    
    'MsgBox "Done"
End Sub


جعفر

  • Like 1
  • Thanks 1
رابط هذا التعليق
شارك

السلام عليكم .

تابعت باهتمام شديد كيف قمتم بتفعيل الترقيم التسلسلي من أول خانة Numberx ولكن كيف نجعل الترقيم التسلسلي يستمر بشكل آلي في كل مرة نضيف سجلا جديدا دون ان نضطر لتحذيث الترقيم كل مرة . و شكرا. 

مهتم.

تم تعديل بواسطه Hatim Alhilali
صيغة السؤال.
رابط هذا التعليق
شارك

السلام عليكم .

تابعت باهتمام شديد كيف قمتم بتفعيل الترقيم التسلسلي من أول خانة Numberx ولكن كيف نجعل الترقيم التسلسلي يستمر بشكل آلي في كل مرة نضيف سجلا جديدا دون ان نضطر لتحذيث الترقيم كل مرة . و شكرا. 

مهتم

رابط هذا التعليق
شارك

اخوي rockjone33 🙂

عندك مصطلحات غير متعارف عليها في المنتدى ، ولا تنسى ان الكثير من الاعضاء ما يعرفون اللهجة الخليجية ، وللمرة الاولى للذي يقراها قد يعتقد انها غير لائقة 🙂

اخي محمد احمد لطفى ، مصطلح "الله يهديك" ، خليجيا ، هي تشجيع للشخص الآخر ، ومصطلح "ثاني شي عيب عليك هالرد" ، خليجيا ، انني قدمت لك القليل وعملي لا يرتقي لكي تسميه "برنامج كامل" 🙂

 

للتوضيح فقط 🙂

 

جعفر

 

رابط هذا التعليق
شارك

أخى @rockjone33و أستاذى @jjafferr أولا أنا فعلا مقصدش حاجة و أستاذ جعفر وضح حاجات بجد مكنتش واخد بالى منها و قصدى برنامج كامل ان الكود يشتغل على النموذج الى موجود على طول

وياريت يكون كود واحد ينفذ المطلوب هنا نتعلم الكثير 

تم تعديل بواسطه محمد احمد لطفى
  • Thanks 1
رابط هذا التعليق
شارك

8 ساعات مضت, محمد احمد لطفى said:

يتم تحديث السجلات من الاعلى وليست نفس الخلية

.

نعم يتم الترقيم من اول سجل ، اما اذا اردت التحديث يصير من السجل اللي انت عليه ، اوقف عمل هذا السطر :

في 17‏/5‏/2022 at 18:29, jjafferr said:
rst.MoveFirst

 

جعفر

  • Thanks 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information