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

jjafferr

أوفيسنا
  • Posts

    9903
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    404

كل منشورات العضو jjafferr

  1. اولا ، الصق الحقول بالقسم العلوي من قسم Detail ، ثانيا ، اذا كنت تستخدم خاصية الاكسس 2010 في تجميع الحقول ، فتأكد ان تجعل المسافات حول الحقول = صفر ، ثالثا ، اجعل ارتفاع الحقول نفس ارتفاع قسم Detail جعفر
  2. الحمدلله وبعدين ، وين قلت لي !! جعفر
  3. وعليكم السلام نعم يمكن ، وهناك العديد من الامثلة على الانترنت ، مثل: http://www.accessribbon.de/en/?Welcome جعفر
  4. كانت حتى تركز على ارتفاع القسم فقط ، وبعدها تستطيع انت ترجع للحقول وتعطيها الحجم الصحيح تفضل وانزل المرفق من هنا : http://www.lebans.com/autosizefont.htm بس حسب تجربتي مع الكود ، فتستطيع ان تضيف الى الحجم النهائي (في الكود) نقطة او نقطتين ، بالتجربة سترى قصدي ، ولا داعي لـ len جعفر
  5. تفضل 623.1.stu new.accdb.zip
  6. السلام عليكم سيدي الفاضل ، عاشت ايدك ، اكواد بسيطة ونتائج رائعة التغييرات اللي انا عملتها: 1. اذا كتبت شيء ، وغيرت رأيك ، فتستطيع ان تضغط على الزر Esc (Escape) ، وسوف يختفي النموذج الفرعي ، Private Sub text76_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyEscape Then SubFrm.Visible = False Else SubFrm.Visible = True End If End Sub 2. اذا كتبت شيء ، فارتفاع النموذج الفرعي يطول ويقصر مع عدد السجلات الموجودة ، اكثر عدد هو 3 ، Private Sub text76_Change() On Error Resume Next Dim x As String SubFrm.Visible = True x = Me.text76.Text Me.Text11.Value = x Me.SubFrm.Requery 'تغيير ارتفاع النموذج الفرعي حسب عدد سجلاته Dim rst As DAO.Recordset Set rst = Me.SubFrm.Form.RecordsetClone rst.MoveLast RC = rst.RecordCount If RC > 3 Then Me.SubFrm.Height = Me.SubFrm!FldText.Height * 3 Else Me.SubFrm.Height = Me.SubFrm!FldText.Height * RC End If rst.Close: Set rst = Nothing End Sub 3. اذا كتبت شيء ، ونقرت على الاسم في النموذج الفرعي ، فسيتغير سجل النموذج الرئيسي حسب الاسم المختار ، وهنا فانت لست بحاجة الى زر البحث Private Sub FldText_Click() 'Forms!formS1.ITEM_NEM = Me.FldText Me.Parent.text76 = Forms!formS1!SubFrm.Form.FldText.Text 'اظهر نتيجة البحث Me.Parent.Form.Requery 'Me.Parent.text76.SetFocus Forms!formS1!SubFrm.Form.Visible = False End Sub جعفر 624.test.mdb.zip
  7. هلا والله ، مو قلت لك سهله اتوقع ان حجم الحقول انتهيت منها؟ بس ايش عملت في حجم حروف الحقول؟ اذا تسمح لي ، تقدر تستخدم نفس النسبة وتضيفها/تنقصها على حجم الخط (يعني تبدأ بحجم خط صغير مثلا يناسب الحقول الاقصر) ، او نقدر نستخدم كود تصغير/تكبير الخط ليتلائم مع ارتفاع الحقل جعفر
  8. في نموذج_المواد حقل Sum_Total
  9. جميل وحدة القياس هي Twips وتساوي 576 سنتيمتر ، ومثل ما قلت لك ، في البدايه خلينا نشتغل على ارتفاع القسم ، ثم نرجع للحقول ، فالمعادلة لقسم Detail هي: Me.Section(0).Height= 23.9 * 576 / Number_of_Records جعفر
  10. حياك الله اخوي حسين جعفر
  11. شو يا ابوعبدالله ، كيف تتوقع اني اعرف هذا النموذج هو طلبك؟؟ انا يا اشتغل مبرمج ويا ساحر ، بس ما يصير الاثنين مع بعض المبرمج يقول: استعمل هذه المعادلة: =Sum(Nz([حد الرسوب]+[حد النجاح],0)) جعفر
  12. 1. ما فهمت قصدك ، اعطني تفصيل بالارقام واسماء الحقول لوسمحت والمرفق اللي انت ارفقته هو نفس اللي انا ارفقته!! 2. تم حذف هذا الحقل اصلا ، ولا يوجد في المرفق ، فكيف طبقت عليه !! جعفر
  13. وعليكم السلام سهلة المحاولة التالية للتغلب على هذه المعادلة ، والحصول على معادلة صحيحة: If Me.mycount <= 39 Then Me.StuName.Height = Me.StuName.Height * 1.33 ابدأ بالتالي: اجعل حقول قسم التفصيل Detail قصيرة جدا ، شوي اكبر من خط مستقيم ، في التقرير عندك مجموعة اقسام ، وجميع الاقسام ارتفاعاتها ثابته وغير متغيرة ، القسم الوحيد الذي يتغير هو قسم التفصيل Detail ، عندك ارتفاع التقرير النهائي على حجم A4 مثلا ، واحسب ارتفاعات جميع الاقسام ، واطرح هذا من ذاك وبتحصل على المسافة المتبقية للقسم Detail ، تقدر تحسب عدد السجلات اللي بتكون في كل فصل ، وفي حدث فتح التقرير اقسم المسافة المتبقية من التقرير على عدد السجلات ، وتحصل على ارتفاع قسم Detail ، وهو المطلب الاول الاصل (والتغييرات تصير عليه بعدين) ، وبعد عدة تجارب ستصل الى الارتفاع الصحيح ، وعليه تغير ارتفاع الحقول الى نفس ارتفاع قسم Detail قلت لك سهلة جعفر
  14. هلا والله أخوي ابوعبدالله 1. هذا الكلام الزين ، تجربتك للبرنامج وجوابك كان على طول عملنا تغيير ، ووصلنا الى: النموذج الرئيسي: - عملت وحدة مستقله للجمع ، اسميته sTotal ، ولاحظ انه مب Private ، وإنما Public ، مما يعني اقدر اناديه من اي كائن (نموذج/تقرير/وحدة نمطية) في البرنامج ، - الحدث "في الحالي" يرسل طلب للوحدة sTotal بأن تقوم بالعمل ، والسبب اني اخرجت كود الحساب الى وحدة مستقلة هو ، لاحقا في البرنامج قد تضيف مجموعة اوامر اخرى في حدث الحالي ، وعندما تريد ان تقوم بعملية الجمع ، فلن تستطيع القيام بعملية الجمع بدون القيام بالاوامر الاخرى (ما عليه ، الموضوع بيتضح لك بعديييين ان شاء الله ، هذه خطوة استباقية) : Private Sub Form_Current() Call sTotal End Sub Public Sub sTotal() Me.Sum_Total = DSum("[الدرجة]+[حد الرسوب]", "qry_sfrm", "[رقم الطالب]=" & Me.[رقم الطالب]) End Sub والآن لما تضيف او تعدل الدرجة في النموذج الفرعي ، نريد ان نقوم بالعملية الحسابية ، فنقوم بحفظ السجل ، ثم مناداة الوحدة sTotal : Private Sub الدرجة_AfterUpdate() DoCmd.RunCommand acCmdSaveRecord Call Form_نموذج_الطالب.sTotal End Sub جعفر 623.stu new.accdb.zip
  15. السلام عليكم أخي ابا جودي ، الكود التالي سيعطيك النتيجه الصحيحه ، اذا عدد السجلات صفر : ولكن اذا اردت حساب عدد السجلات ، فلن يعطيك النتيجة الصحيحة ، وذلك ان نتيجة حساب عدد السجلات RecordCount يكون قبل ان يكتمل جلب جميع السجلات ، لذلك يجب عليك ان تأمر البرنامج للذهاب لآخر سجل ، وعليه سيعرف البرنامج عدد السجلات ، هكذا: Me.RecordsetClone.movelast Me.RecordsetClone.movefirst For i = 1 to Me.RecordsetClone.RecordCount جعفر
  16. وعليكم السلام امر NZ لا يُكتب هكذا: =Nz(Sum([sum0])) وانما هكذا =Sum(NZ([sum0],0)) ولكنه لا فائدة له في كون النموذج الفرعي جدولي. طريقة العمل: 1. نأخذ مصدر بيانات النموذج الفرعي ، والذي هو عبارة عن استعلام لجدولين ، ونحفظ هذا الاستعلام كإستعلام خارجي مستقل ، انا اسميته qry_sfrm ، 2. في حدث "الحالي" للنموذج الرئيسي ، عملت هذا الكود لحساب المجموع: Me.Sum_Total = DSum("[الدرجة]+[حد الرسوب]", "qry_sfrm", "[رقم الطالب]=" & Me.[رقم الطالب]) لا يمكن عمل الجمع من جدول واحد ، وذلك لأن الحقلين [الدرجة] و [حد الرسوب] موجودين في جدولين مستقلين ، لذا عملنا الجمع من الاستعلام الذي ربط الجدولين، والسبب الذي عملنا Dsum للحقلين [الدرجة]+[حد الرسوب] ، وذلك لأنك لا يوجد لديك حقل في الاستعلام يجمع [الدرجة]+[حد الرسوب] جعفر 623.stu new.accdb.zip
  17. السلام عليكم طريقة العرض اللي انا اتبعها في برامجي بوجه عام: وفي حالات: فالطريقة اللي اتبعها علشان المستخدم يشوف كل البيانات ، او حتى اذا اراد ادخال بيانات واراد ان يرى المعلومة كامله ، فأعمل على حدث النقر المزدوج لذلك الحقل الكود التالي: DoCmd.RunCommand acCmdZoomBox والذي يفتح نافذة ZoomBox (كما يمكنك فتحها يدويا ، فلما تكون على اي حقل ، استخدم الزرين Shift + F2) ، وسيرى كامل البيانات جعفر
  18. السلام عليكم أخوي ابو زاهر شكرا على الهدية ، ونسأل الله سبحانه وتعالى ان يسهل عليكم دنيا وآخره ، وان يشافي ولدكم وان يرعاه بعينه التي لا تنام ، وقد قمت بتغيير اسم الموضوع قليلا ، وذلك بإضافة اسم البرنامج فيه جعفر
  19. 1. الحمدلله 2. هذه اعمل حدث على "نقر" الحقل الموجود في النموذج الفرعي ، ويكون الكود هكذا : (مثلا ، اسم حقل نص النموذج الرئيسي TextBox_Name ، واسم الحقل الموجود في النموذج الفرعي SubForm_Field ): me.parent.TextBox_Name = me.SubForm_Filed 3. ان شاء الله سأتطلع عليه لاحقا جعفر
  20. وعليكم السلام ابا جودي سؤال قبل ان ندخل للكود: هل قمت بتنصيب Plug-ins البرنامج ، لأن خاصية pdf ليست اساسية في البرنامج وانما هي من plug-in !! سؤالك لم يكن عن جلب الصور عن طريق السكانر ثم تحويلهم الى pdf ، وانما كان عن تحويل مجموعة الصور الى pdf ، وعليه كان جوابي!! وانت لم تستعمل الكود الاصل اللي انا اعطيتك في مشاركتي الاولى ، وانما اخذت طريقا آخر!! على العموم ، بعد ان تنشأ ملف tif ، استخدم الكود التالي لتغيير ملف tif الى pdf Dim temp_scan_path temp_scan_path = db_path() & "tempscan" If Dir(temp_scan_path, vbDirectory) = "" Then MkDir temp_scan_path End If Shell ("c:\program files\irfanview\i_view32.exe /batchscan=(scanfile,1,1,2,0," & Trim(db_path) & "tempscan,tif,1) /scanhidden") i_view32.exe /multipdf=(zzzzz.tif) مع مراعاة كتابة المسار والمسميات الصحيحة في السطر الاخير من الكود اعلاه جعفر
  21. هلا والله أخوي وائل حل مشكلتك بسيط ، بس بيكلفك عشاء ، لا ومب عشاء واحد ، وانما عشاء عن توفير وقت كل تقرير وإلا خليني اسهل الموضوع ، عشاء واحد بس اجيب معاي كل الحبايب و أولهم أخونا العود @ابو خليل اذا اتفقنا ، شوف الحل التالي: مشكلتك في طريقة طباعتك للتقرير انك تجلب وتفرز وتصفي 34 الف سجل 3 مرات ، بينما الطريقة التالية تخليك تجلب وتفرز وتصفي 34 الف سجل مرة واحدة فقط ، ولكن تطبع التقرير 3 مرات: DoCmd.OpenReport "Rreceipt", acViewPreview, , , acHidden DoCmd.PrintOut acPrintAll, , , , 3 DoCmd.Close acReport, "Rreceipt", acSaveNo جعفر
  22. وعليكم السلام رجعنا مرة ثانية لنفس الموضوع ، سؤالك غير واضح هل زر اختيار الكل معناه: 1. عرض كل الغرف ، بغض النظر عليها صح او لا (وهذا هو المتبع الآن) ، ولكن اجمع لي في الحقل الجديد عدد الغرف اللي عليها صح فقط ، 2. عرض كل الغرف ، اللي عليها صح فقط ، وايش تريد تعمل للحقل الجديد لعدد الغرف. جعفر
  23. السلام عليكم شكرا للتنبيه ، فقد استعملت طريقة me.combo.rowsource = me.combo.rowsource & "," & "1200 x 1024" والتي اضيف فاصلة بين البيانات ، وهذه الطريقة تشتغل تمام للكمبيوترات ذات التنصيب الانجليزي ، ولكن الكمبيوترات ذات التنصيب العربي تستعمل الفاصلة المنقوطة!! اما الآن فقد تم استعمال طريقة AddItem. الان me.combo.AddItem "1200 x 1024" وقد قمت بتغيير المرفق في مشاركتي السابقة جعفر
  24. عفوا أوس ، بس مافهمت اللي تريده ايش دخل هذه الوحدة النمطية بالرابط اللي اعطيتك!! كود البرنامج اللي في الرابط جدا بسيط ، وفيه شرح عن كل سطر: Private Sub n2_Change() Dim fld As String Dim x() As String Dim A As String '1 'add the 1st field to search in fld = "[كلمات ارشادية]" '** Add additional fields to search in as well, 'so everytime you want to add additional fields, copy the FULL next line, and add the field name fld = fld & " & ' ' & " & "[موضوع الخطاب]" 'fld = fld & " & ' ' & " & "[my other field]" '1 '2 'do the initial subform Record Source mySQL1 = "Select * From [المستندات]" mySQL = mySQL1 & " Where " 'now we want to split the search code into smaller bits, 'if seperate by / \ * or space, then change this seperator to | (a unique letter), 'this way we will have more than ONE word to search for Me.n2.SetFocus A = Me.n2.Text A = Replace(A, "/", "|") A = Replace(A, "\", "|") A = Replace(A, " ", "|") A = Replace(A, "*", "|") 'the words are split and ready x = Split(A, "|") If UBound(x) = 0 Then 'Still one word, search for it mySQL = mySQL & fld mySQL = mySQL & " Like '*" & x(i) & "*'" Else 'it is ONE word and a seperate by / \ * or space, 'so lets make a Where statement for each seperate word For i = LBound(x) To UBound(x) If i = 0 Then 'its a word and a seperator, the NEXT word is NOT added yet mySQL = mySQL & fld mySQL = mySQL & " Like '*" & x(i) & "*'" Else 'its multiple words, add the AND command between each word mySQL = mySQL & " AND " & fld mySQL = mySQL & " Like '*" & x(i) & "*'" End If Next i End If 'if the Search field is Empty, use the initial mySQL1 If Len(Me.n2.Text & "") = 0 Then mySQL = mySQL1 End If 'Debug.Print mySQL Me.sfrm_Search.Form.RecordSource = mySQL '2 End Sub جعفر
  25. تفضل مجموع جميع الغرف صحيح وهو 10 ، وذلك لأنه عندك الغرفة رقم 5 ، واللي ما موجودة في الازرار . جعفر 621.Test.accdb.zip
×
×
  • اضف...

Important Information