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

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

قام بنشر

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

تقبل الله من ومنكم صالح الاعمال

لدي طلب وهو عند الضغط على امر التوليد

يظهر في الحقول من ((  1  -  32  ))  

من الرقم المدخل في حقل الرقم الاول  الى الرقم المدخل في حقل الرقم الاخير

ارقام عشوائيه غير مكرره

توليد رقم عشوائي.accdb

قام بنشر

اشكرك الرد السريع بارك الله فيك 

لكن لم افهم في اضعه وكيف اربط الحقول به

قام بنشر

يادكتور على اسمك روح الله يوفقك في كل طريق تسلكه ويرزقك من غير ماتحتسب 

الف الف شكر 

قام بنشر

في اشكالية بسيطه بارك الله فيك

وهي انه عند التوليد يضع ارقام اقل من الموجوده في حقل الرقم الاول 

ونفس الشي اكبر من الرقم الاخير  مثال وضعت رقم 370 في الرقم الاول و 900 في الرقم الاخير 

يظهر ارقام اقل واكبر من مابين الحقلين

قام بنشر
الان, TQTHAMI said:

في اشكالية بسيطه بارك الله فيك

وهي انه عند التوليد يضع ارقام اقل من الموجوده في حقل الرقم الاول 

ونفس الشي اكبر من الرقم الاخير  مثال وضعت رقم 370 في الرقم الاول و 900 في الرقم الاخير 

يظهر ارقام اقل واكبر من مابين الحقلين

جرب استخدمها بدون تكبير للأرقام 

مثلا متسلسلة

Int(Rnd()) + 1

 

  • Thanks 1
قام بنشر

نفس الشي يزيد عن الرقمين 

لو تحطه بين رقمين ثابته مثال  1 الى 30 فقط

الهدف من هذ هو عيدية الابناء وابناء الاخوه والخوات وغيرهم 

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

وتقبل تحياتي واكثرة الطلب 

  • أفضل إجابة
قام بنشر
15 دقائق مضت, TQTHAMI said:

نفس الشي يزيد عن الرقمين 

لو تحطه بين رقمين ثابته مثال  1 الى 30 فقط

الهدف من هذ هو عيدية الابناء وابناء الاخوه والخوات وغيرهم 

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

وتقبل تحياتي واكثرة الطلب 

 

الآن فهمت انك تحتاج توليد الرقم داخل نطاق الرقمين

اتفضل التعديل

 

توليد رقم عشوائي.accdb

  • Like 3
قام بنشر

 

ويعجز اللسان عن شكرك 

اتعبتك معي لكن نسال الله ان بارك لك الله في أهلك وفي مالك ويرفع لك منزلتك بين خلقه ويجعل لك الخير في يومك وفي سائر أيامك إن شاء الله.

قام بنشر

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

 

اكتب كلمة Randomize في مساعد الاكسس ، وستحصل على الجواب:

image.png.84366cfebb0b5d6ff1453baa97598d25.png

.

ولا تستخدم علامة الناقص في اسماء كائناتك (بل استعمل الشرطه السفليه _ ) ، لأنها في الكود تصبح :

image.png.1c06060e4ecab9815f8e2f857c1dc6fc.png

.

فتضطر الى معالجته بوضع اسم الكائن بين [] :

image.png.69060e0079ca025e34d31a48ea7f250b.png

.

 

ولا تستخدم الارقام في تسمية الحقول ، فالاسم لا يظهر في الكود VBE ، مثلا انا طلب الحقل الذي اسمه 1 ، ولكن الكود لا يراه :

image.png.43612d36d81ea0a7009789c812394b8b.png

.

ولاحظ ان اخي حسين لم يتعامل مع حقل النموذج مباشرة ، بل تعامل مع الجدول 🙂

 

 

وعليه ، وحتى نتعامل مع حقل النموذج ، يصبح الكود :

Private Sub cmd_Generate_Random_Click()

    Dim i As Integer
    Dim f As Integer
    Dim e As Integer
    
    'ÇÍÝÙ ÓÌá ÇáäãæÐÌ
    If Me.Dirty Then Me.Dirty = False
    
    f = Me.[f-no]
    e = Me.[e-no]
    
    
    For i = 1 To 32
    
Try_Again:

        Dim MyValue
        Randomize Timer

        MyValue = Int((e * Rnd) + f)
             
        
        If MyValue < f Or MyValue > e Then
            GoTo Try_Again
        Else
             Me("[" & i & "]") = MyValue
        End If
        
    Next i
    
End Sub

.

 

جعفر

  • Like 1
قام بنشر

شكرا جزيلا اخوي حسام انك نبهتنا لخطأ التكرار ، واللي صعب معرفته غير انك تجعل الارقام من 1 الى 32 🙂

 

هذا تعديل الكود حقي :

Private Sub cmd_Generate_Random_Click()

    Dim i As Integer
    Dim j As Integer
    Dim f As Integer
    Dim e As Integer
    
    Dim t As Single
t = Timer
    'احفظ سجل النموذج
    If Me.Dirty Then Me.Dirty = False
    
    f = Me.[f-no]
    e = Me.[e-no]
    
    For i = 1 To 32: Me("[" & i & "]") = 0: Next i
    For i = 1 To 32
    
Try_Again:

        Dim MyValue
        Randomize Timer

        MyValue = Int((e * Rnd) + f)
             
             
        '1. No Duplicates
        For j = 1 To i
            If Val(Me("[" & j & "]")) = MyValue Then GoTo Try_Again
        Next j
        
        '2 Smaller than, Or Greater than
        If MyValue < f Or MyValue > e Then
            GoTo Try_Again
        Else
             Me("[" & i & "]") = MyValue
        End If
        
    Next i
Debug.Print Timer - t
End Sub

.

وتلاحظ اني حسبت الوقت اللي الكود يأخذه في عمل اللازم ، ويمكن مقارنة سرعة الكود هذا مع كود اخوي حسين واخوي حسام 🙂

 

جعفر

  • Like 1
  • Thanks 1
قام بنشر

عظيم الشكر والامتنان لكل

1-  د.كاف يار  راعي الاوله مايلح (مثل يعبر عن من سبق الكل)

2- jjafferr (ماشاء الله عليك لكن انا مبندي فعمل ماذكرت صعب علي )

3-husamwahab    (مثالك في قمت الروعه) 

من ساهم في مساعدتي أو  مر على موضوعي ولم يتمكن من المساعده

كلمه الشكر لا تفيكم حقكم ولا تعبر مدى امتناني لكم والشكر لكافة اعضاء المنتدى

 

كل عام وانتم دائماً بخير بمناسبة عيد الأضحي وجعل الله عيدكم فرحة وسعادة.

  • Like 1
قام بنشر
منذ ساعه, TQTHAMI said:

انا مبندي فعمل ماذكرت صعب علي

حياك الله 🙂

انا وضعت لك الكود جاهز ولا يحتاج تفكير في التطبيق ، بس اسم زر امر توليد الارقام ، اسمه cmd_Generate_Random ، وهذا كود الحدث ، والسلام 🙂

 

جعفر

  • Thanks 1
قام بنشر

عندما يظهر الرقم المشابه لرقم المحدد يحتاج بحث بالنظر عن الرقم سويت قاعدة اف لكن تحتاج الى 32 مره

علشان اذا اخترت رقم نثلا 12 وطلع في الحقول التي يزرع فيها الارقام العشولئيه يصير الون واحد مثلا احمر اوغيره

واكيد ان فيه اختصار بدل دالة اف 

WhatsApp Image 2021-07-19 at 8.33.44 PM.jpeg

توليد ارقام.accdb

قام بنشر

 

اسماء الحقول اصبحت C1 و C2 و C3 ،

واعمل خلفيتهم باللون الذي تحب ،

وعند حدث بعد التحديث ، سيتم اختيار المربع الذي يحمل نفي الرقم ، بنفس لون الخلفية:

image.png.fe775500c5dcb948c86b780d75361a15.png

استعمل هذا الكود :

Private Sub Select_it(ctl As Control)

    For i = 1 To 32
    
        If Me("[" & i & "]") = Me(ctl.Name) Then
        
            Me("[" & i & "]").BackColor = Me(ctl.Name).BackColor
             
        End If
        
    Next i
    
End Sub

Private Sub C1_AfterUpdate()

    Call Select_it(C1)
End Sub

Private Sub C2_AfterUpdate()

    Call Select_it(C2)
End Sub

Private Sub C3_AfterUpdate()

    Call Select_it(C3)
End Sub

.

جعفر

 

1402.1.Random Numbers.accdb.zip

  • Like 3
قام بنشر

أتمنى من الله عز وجل أن يعطيكم الصحة والعافية، شكراً لكم على ما قدمتموه لي ودام الله عزّكم ودام عطائكم.

لي ولغيري 

نعم يستحق الموقع الشكر بالرجال القائمين عليه 

كل عام وانتم دائماً بخير بمناسبة عيد الأضحي وجعل الله عيدكم فرحة وسعادة.

 

قام بنشر
9 ساعات مضت, jjafferr said:

 

اسماء الحقول اصبحت C1 و C2 و C3 ،

واعمل خلفيتهم باللون الذي تحب ،

وعند حدث بعد التحديث ، سيتم اختيار المربع الذي يحمل نفي الرقم ، بنفس لون الخلفية:

image.png.fe775500c5dcb948c86b780d75361a15.png

استعمل هذا الكود :

Private Sub Select_it(ctl As Control)

    For i = 1 To 32
    
        If Me("[" & i & "]") = Me(ctl.Name) Then
        
            Me("[" & i & "]").BackColor = Me(ctl.Name).BackColor
             
        End If
        
    Next i
    
End Sub

Private Sub C1_AfterUpdate()

    Call Select_it(C1)
End Sub

Private Sub C2_AfterUpdate()

    Call Select_it(C2)
End Sub

Private Sub C3_AfterUpdate()

    Call Select_it(C3)
End Sub

.

جعفر

 

1402.1.Random Numbers.accdb.zip 57.38 kB · 2 downloads

 

سؤال هل هناك خلل!

image.png.fe775500c5dcb948c86b780d75361a15.png

ارى الرقم 52 باللون الأصفر والذي يقابله الرقم 40 باللون الأصفر، لماذا؟!

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