اذهب الي المحتوي
أوفيسنا

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

قام بنشر

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

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

 

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
قام بنشر

استخدام DoEvents لمنع التزاحم ، جربوا هذه الطريقة ربما تفلح:
 

DoEvents: cmdButton1_Click
DoEvents: cmdButton2_Click
DoEvents: cmdButton3_Click

 

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