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

مطلوب كود أو ماكرو لضغط عدد من الأزرار بترتيب معين في النموذج


omarahmed1424

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

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

لدي نموذج لإظهار مجموعة من احصائيات البرنامج في مربع نص و يتم تخزين القيم في جدول مقت يتم بناء تقرير منه ولكني أريد كود أو ماكرو يقوم بعمل الضغط بترتيب معين لأزرار النموذج ليتم الإلحاق بالجدول دفعة واحدة بدون تدخل المستخدم والكود الموضوع لكل زر يشبه الكود التالي 

 

Private Sub أمر 55_Click()
zx = DCount("[student_name]", "[student]", "[state_code]<3")
dv = "عدد طلاب المدارس"
Dim mytbl As Recordset
Set mytbl = CurrentDb.OpenRecordset("test2")
mytbl.AddNew
mytbl![t1] = Me.dv
mytbl![t2] = Me.zx
mytbl.Update
mytbl.Close
End Sub

image.png.ddf6f02945fe0376acdf52d03a3a45c2.png

وجزاكم الله خيرا

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

عليكم السلام،

بشكل عام قم بنداء جميع الازرار من خلال زر واحد:

Private Sub cmdButton1_Click()

    'مثلا هنا أكواد الزر الأول
	MsgBox "Hi I'm Button 1"

End Sub

Private Sub cmdButton2_Click()

    'مثلا هنا أكواد الزر الثاني
	MsgBox "Hi I'm Button 2"

End Sub

Private Sub cmdButton3_Click()

    'مثلا هنا أكواد الزر الثالث
	MsgBox "Hi I'm Button 3"

End Sub


'نأتي للزر الشامل الذي عند الضغط عليه سيقوم بالضغط على جميع الازرار دفعة واحدة
Private Sub ClickAll_Click()

	cmdButton1_Click
	cmdButton2_Click
	cmdButton3_Click

End Sub

ارفق برنامجك لكي نتمكن من مساعدتك.

تم تعديل بواسطه SEMO.Pa3x
  • Like 2
رابط هذا التعليق
شارك

21 ساعات مضت, SEMO.Pa3x said:

عليكم السلام،

بشكل عام قم بنداء جميع الازرار من خلال زر واحد:


Private Sub cmdButton1_Click()

    'مثلا هنا أكواد الزر الأول
	MsgBox "Hi I'm Button 1"

End Sub

Private Sub cmdButton2_Click()

    'مثلا هنا أكواد الزر الثاني
	MsgBox "Hi I'm Button 2"

End Sub

Private Sub cmdButton3_Click()

    'مثلا هنا أكواد الزر الثالث
	MsgBox "Hi I'm Button 3"

End Sub


'نأتي للزر الشامل الذي عند الضغط عليه سيقوم بالضغط على جميع الازرار دفعة واحدة
Private Sub ClickAll_Click()

	cmdButton1_Click
	cmdButton2_Click
	cmdButton3_Click

End Sub

ارفق برنامجك لكي نتمكن من مساعدتك.

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

أعتذر لم ينجح التطبيق ومرفق لكم البرنامج برجاء المحاولة و جزاكم الله خيرا 

إحصاء.accdb

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

منذ ساعه, ابوخليل said:

Call cmdButton1_Click Call cmdButton2_Click Call cmdButton3_Click

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

جربت ولم تفلح و جزاكم الله خيرا على محاولة المساعدة ولو تفضلت هل يمكنكم التعديل على المرفق لي و جزاكم اللله خيرا

 

 

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

20 دقائق مضت, ابوخليل said:

هذا تطبيق بالضبط وبدون زيادة لما تفضل به اخونا الدكتور حسنين

 

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

تم التطبيق ونجحت الفكرة  و جزاكم الله خيرا 

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

الحمدلله على انقضاء الحاجات

علما اني كنت اعمل على مثالك

طبعا نقلته على جهاز اخر  وحولته الى mdb

وللفائدة يوجد طرق كثيرة لاخراج اعداد الطلاب منها :

بدلا من الحاق نتيجة المجاميع في جدول جديد

1 - استخدام استعلام تجميعي 

2- عمل دوال عامة تحمل النتيجة ويمكن اظهارها في اي جزء من البرنامج

 

إحصاء.mdb

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

السلام عليكم

مشاركه مع اخوانى واساتذتى @ابوخليل و @SEMO.Pa3x جزاهم الله خيرا

حاجه بسيطه على قدى

Function CheekCommandButton()

    Const cTIME = 1000 'in MilliSeconds
    Dim ctl As Control
    
    For Each ctl In Me.Controls
    If ctl.ControlType = acCommandButton Then
        If ctl.Name <> "RunC" Then
            DoCmd.GoToControl ctl.Name
            SendKeys "{enter}", True
'           MsgBox Me.zx
            Me.zx = ""
            Call sSleep(cTIME)
        End If
    End If
    Next ctl
    DoCmd.OpenTable "test2"

End Function

وقمت باستعمال دوال لاعطاء ثوانى لمشاهده التنفيذ يمكنك الاستغناء عنها والكود من الرابط التالى للاطلاع

http://access.mvps.org/access/api/api0021.htm

Private Declare Sub sapiSleep Lib "kernel32" _
        Alias "Sleep" _
        (ByVal dwMilliseconds As Long)

Sub sSleep(lngMilliSec As Long)
    If lngMilliSec > 0 Then
        Call sapiSleep(lngMilliSec)
    End If
End Sub

image.gif.589520b54084dfa2b37b9f4024bacf76.gif

بالتوفيق

إحصاء_2003.mdb إحصاء_1.rar

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

اعتقد فكرة اخونا عمر هي استخراج المجاميع في جدول جديد لاظهارها في التقرير  وطبعا يتم حذف بيانات الجدول بمجرد غلق النموذج ، بمعنى ان الفكرة هي اظهار البيانات لحظية مؤقتة قابلة للتغيير والتحديث بالزيادة او النقص .

10 ساعات مضت, ابوخليل said:

2- عمل دوال عامة تحمل النتيجة ويمكن اظهارها في اي جزء من البرنامج

وهنا نستغني عن الجدول وايضا النموذج والأزرار والأكواد المصاحبة

هذه الدالة المصنوعة تحقق المطلوب

Public Function studentscount(ByVal i As Byte)
Dim z As Integer
If i = 0 Then
z = DCount("[student_name]", "[student]", "[state_code]<3")
ElseIf i = 1 Then
z = DCount("[student_name]", "[student]", "[state_code]<3 and [school_code]=1")
ElseIf i = 2 Then
z = DCount("[student_name]", "[student]", "[state_code]<3 and [school_code]=2")
ElseIf i = 3 Then
z = DCount("[student_name]", "[student]", "[state_code]<3 and [school_code]=3")
Else
End If
studentscount = z
End Function

ويتم نداءها داخل الحقل سواء في النماذج او التقارير  هكذا :

للمجموع الكلي = studentscount(0)
الابتدائي = studentscount(1) 
المتوسط = studentscount(2) 
الثانوي = studentscount(3) 

وهذا المرفق :
 

 

إحصاء2_2003.rar

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

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



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

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

Important Information