-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
استيعاب سجلات التقرير كلها فى صفحة واحدة مهما اختلف عددها
jjafferr replied to عبد الفتاح كيرة's topic in قسم الأكسيس Access
اولا ، الصق الحقول بالقسم العلوي من قسم Detail ، ثانيا ، اذا كنت تستخدم خاصية الاكسس 2010 في تجميع الحقول ، فتأكد ان تجعل المسافات حول الحقول = صفر ، ثالثا ، اجعل ارتفاع الحقول نفس ارتفاع قسم Detail جعفر -
الحمدلله وبعدين ، وين قلت لي !! جعفر
-
وعليكم السلام نعم يمكن ، وهناك العديد من الامثلة على الانترنت ، مثل: http://www.accessribbon.de/en/?Welcome جعفر
-
استيعاب سجلات التقرير كلها فى صفحة واحدة مهما اختلف عددها
jjafferr replied to عبد الفتاح كيرة's topic in قسم الأكسيس Access
كانت حتى تركز على ارتفاع القسم فقط ، وبعدها تستطيع انت ترجع للحقول وتعطيها الحجم الصحيح تفضل وانزل المرفق من هنا : http://www.lebans.com/autosizefont.htm بس حسب تجربتي مع الكود ، فتستطيع ان تضيف الى الحجم النهائي (في الكود) نقطة او نقطتين ، بالتجربة سترى قصدي ، ولا داعي لـ len جعفر -
تفضل 623.1.stu new.accdb.zip
-
استعمال خاصية SuggestAppend في مربع النص كما في متصفح google
jjafferr replied to sandanet's topic in قسم الأكسيس Access
السلام عليكم سيدي الفاضل ، عاشت ايدك ، اكواد بسيطة ونتائج رائعة التغييرات اللي انا عملتها: 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 -
استيعاب سجلات التقرير كلها فى صفحة واحدة مهما اختلف عددها
jjafferr replied to عبد الفتاح كيرة's topic in قسم الأكسيس Access
هلا والله ، مو قلت لك سهله اتوقع ان حجم الحقول انتهيت منها؟ بس ايش عملت في حجم حروف الحقول؟ اذا تسمح لي ، تقدر تستخدم نفس النسبة وتضيفها/تنقصها على حجم الخط (يعني تبدأ بحجم خط صغير مثلا يناسب الحقول الاقصر) ، او نقدر نستخدم كود تصغير/تكبير الخط ليتلائم مع ارتفاع الحقل جعفر -
في نموذج_المواد حقل Sum_Total
-
استيعاب سجلات التقرير كلها فى صفحة واحدة مهما اختلف عددها
jjafferr replied to عبد الفتاح كيرة's topic in قسم الأكسيس Access
جميل وحدة القياس هي Twips وتساوي 576 سنتيمتر ، ومثل ما قلت لك ، في البدايه خلينا نشتغل على ارتفاع القسم ، ثم نرجع للحقول ، فالمعادلة لقسم Detail هي: Me.Section(0).Height= 23.9 * 576 / Number_of_Records جعفر -
حياك الله اخوي حسين جعفر
-
شو يا ابوعبدالله ، كيف تتوقع اني اعرف هذا النموذج هو طلبك؟؟ انا يا اشتغل مبرمج ويا ساحر ، بس ما يصير الاثنين مع بعض المبرمج يقول: استعمل هذه المعادلة: =Sum(Nz([حد الرسوب]+[حد النجاح],0)) جعفر
-
1. ما فهمت قصدك ، اعطني تفصيل بالارقام واسماء الحقول لوسمحت والمرفق اللي انت ارفقته هو نفس اللي انا ارفقته!! 2. تم حذف هذا الحقل اصلا ، ولا يوجد في المرفق ، فكيف طبقت عليه !! جعفر
-
استيعاب سجلات التقرير كلها فى صفحة واحدة مهما اختلف عددها
jjafferr replied to عبد الفتاح كيرة's topic in قسم الأكسيس Access
وعليكم السلام سهلة المحاولة التالية للتغلب على هذه المعادلة ، والحصول على معادلة صحيحة: If Me.mycount <= 39 Then Me.StuName.Height = Me.StuName.Height * 1.33 ابدأ بالتالي: اجعل حقول قسم التفصيل Detail قصيرة جدا ، شوي اكبر من خط مستقيم ، في التقرير عندك مجموعة اقسام ، وجميع الاقسام ارتفاعاتها ثابته وغير متغيرة ، القسم الوحيد الذي يتغير هو قسم التفصيل Detail ، عندك ارتفاع التقرير النهائي على حجم A4 مثلا ، واحسب ارتفاعات جميع الاقسام ، واطرح هذا من ذاك وبتحصل على المسافة المتبقية للقسم Detail ، تقدر تحسب عدد السجلات اللي بتكون في كل فصل ، وفي حدث فتح التقرير اقسم المسافة المتبقية من التقرير على عدد السجلات ، وتحصل على ارتفاع قسم Detail ، وهو المطلب الاول الاصل (والتغييرات تصير عليه بعدين) ، وبعد عدة تجارب ستصل الى الارتفاع الصحيح ، وعليه تغير ارتفاع الحقول الى نفس ارتفاع قسم Detail قلت لك سهلة جعفر -
هلا والله أخوي ابوعبدالله 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
-
السلام عليكم أخي ابا جودي ، الكود التالي سيعطيك النتيجه الصحيحه ، اذا عدد السجلات صفر : ولكن اذا اردت حساب عدد السجلات ، فلن يعطيك النتيجة الصحيحة ، وذلك ان نتيجة حساب عدد السجلات RecordCount يكون قبل ان يكتمل جلب جميع السجلات ، لذلك يجب عليك ان تأمر البرنامج للذهاب لآخر سجل ، وعليه سيعرف البرنامج عدد السجلات ، هكذا: Me.RecordsetClone.movelast Me.RecordsetClone.movefirst For i = 1 to Me.RecordsetClone.RecordCount جعفر
-
وعليكم السلام امر 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
-
كيف اجعل جدول النموذج الفرعى غير قابل للتوسعه اوالضيق (ثابت)
jjafferr replied to اسلام سيد's topic in قسم الأكسيس Access
السلام عليكم طريقة العرض اللي انا اتبعها في برامجي بوجه عام: وفي حالات: فالطريقة اللي اتبعها علشان المستخدم يشوف كل البيانات ، او حتى اذا اراد ادخال بيانات واراد ان يرى المعلومة كامله ، فأعمل على حدث النقر المزدوج لذلك الحقل الكود التالي: DoCmd.RunCommand acCmdZoomBox والذي يفتح نافذة ZoomBox (كما يمكنك فتحها يدويا ، فلما تكون على اي حقل ، استخدم الزرين Shift + F2) ، وسيرى كامل البيانات جعفر -
اهديكم هذا البرنامج المتواضع (برنامج ديوني)
jjafferr replied to النجاشي's topic in قسم الأكسيس Access
السلام عليكم أخوي ابو زاهر شكرا على الهدية ، ونسأل الله سبحانه وتعالى ان يسهل عليكم دنيا وآخره ، وان يشافي ولدكم وان يرعاه بعينه التي لا تنام ، وقد قمت بتغيير اسم الموضوع قليلا ، وذلك بإضافة اسم البرنامج فيه جعفر -
استعمال خاصية SuggestAppend في مربع النص كما في متصفح google
jjafferr replied to sandanet's topic in قسم الأكسيس Access
1. الحمدلله 2. هذه اعمل حدث على "نقر" الحقل الموجود في النموذج الفرعي ، ويكون الكود هكذا : (مثلا ، اسم حقل نص النموذج الرئيسي TextBox_Name ، واسم الحقل الموجود في النموذج الفرعي SubForm_Field ): me.parent.TextBox_Name = me.SubForm_Filed 3. ان شاء الله سأتطلع عليه لاحقا جعفر -
وعليكم السلام ابا جودي سؤال قبل ان ندخل للكود: هل قمت بتنصيب 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) مع مراعاة كتابة المسار والمسميات الصحيحة في السطر الاخير من الكود اعلاه جعفر
-
هلا والله أخوي وائل حل مشكلتك بسيط ، بس بيكلفك عشاء ، لا ومب عشاء واحد ، وانما عشاء عن توفير وقت كل تقرير وإلا خليني اسهل الموضوع ، عشاء واحد بس اجيب معاي كل الحبايب و أولهم أخونا العود @ابو خليل اذا اتفقنا ، شوف الحل التالي: مشكلتك في طريقة طباعتك للتقرير انك تجلب وتفرز وتصفي 34 الف سجل 3 مرات ، بينما الطريقة التالية تخليك تجلب وتفرز وتصفي 34 الف سجل مرة واحدة فقط ، ولكن تطبع التقرير 3 مرات: DoCmd.OpenReport "Rreceipt", acViewPreview, , , acHidden DoCmd.PrintOut acPrintAll, , , , 3 DoCmd.Close acReport, "Rreceipt", acSaveNo جعفر
-
وعليكم السلام رجعنا مرة ثانية لنفس الموضوع ، سؤالك غير واضح هل زر اختيار الكل معناه: 1. عرض كل الغرف ، بغض النظر عليها صح او لا (وهذا هو المتبع الآن) ، ولكن اجمع لي في الحقل الجديد عدد الغرف اللي عليها صح فقط ، 2. عرض كل الغرف ، اللي عليها صح فقط ، وايش تريد تعمل للحقل الجديد لعدد الغرف. جعفر
-
هــــدية : تغيير دقة الشاشة ChangeAndGetScreenResolution
jjafferr replied to Shivan Rekany's topic in قسم الأكسيس Access
السلام عليكم شكرا للتنبيه ، فقد استعملت طريقة me.combo.rowsource = me.combo.rowsource & "," & "1200 x 1024" والتي اضيف فاصلة بين البيانات ، وهذه الطريقة تشتغل تمام للكمبيوترات ذات التنصيب الانجليزي ، ولكن الكمبيوترات ذات التنصيب العربي تستعمل الفاصلة المنقوطة!! اما الآن فقد تم استعمال طريقة AddItem. الان me.combo.AddItem "1200 x 1024" وقد قمت بتغيير المرفق في مشاركتي السابقة جعفر -
استعمال خاصية SuggestAppend في مربع النص كما في متصفح google
jjafferr replied to sandanet's topic in قسم الأكسيس Access
عفوا أوس ، بس مافهمت اللي تريده ايش دخل هذه الوحدة النمطية بالرابط اللي اعطيتك!! كود البرنامج اللي في الرابط جدا بسيط ، وفيه شرح عن كل سطر: 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 جعفر -
تفضل مجموع جميع الغرف صحيح وهو 10 ، وذلك لأنه عندك الغرفة رقم 5 ، واللي ما موجودة في الازرار . جعفر 621.Test.accdb.zip