بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
مشكلة في تحويل الماكرو الى كود فجول بيسك ...
jjafferr replied to كرار صبري _ أبو جنى's topic in قسم الأكسيس Access
السلام عليكم لما تعمل تنصيب للاوفيس ، يعطيك اختيارين ، اختار اللى عليه السهم (طبعا الصور للتوضيح فقط): . ثم اختار: . بس قبل ان تعمل هذا ، رجاء انزال المرفق ، وتجربة تحويل الماكرو للنموذجين ، واخبرنا النتيجة لوسمحت جعفر 327.New.accdb.zip -
حياك الله
-
وعليكم السلام وكيف نعرف في اي اسبوع نحن الان؟ جعفر
-
وعليكم السلام اخي نبيل ارفق البرنامج اللي عملته ، وخلينا نتواصل من هناك خطوة بخطوة واذا لم تبدا ، فالرجاء تبدا جعفر
-
مشكلة في تحويل الماكرو الى كود فجول بيسك ...
jjafferr replied to كرار صبري _ أبو جنى's topic in قسم الأكسيس Access
السلام عليكم انا كنت متابع وبصمت لأن اخي الاستاذ رمهان متخصص في التحليل ، فالافضل كان ان نرى النتائج وقبل ان تقوم بتنصيب اوفيس 2010 32بت (ويجب ان تختار "تخصيص" وتختار وتنصب جميع الخيارات) ، غيّر اسماء الحقول في النموذج الى انجليزي ، وجرب تحويل الماكرو الى كود جعفر -
وعليكم السلام الافتراض انك تريد ملاحظة واحدة فقط في النموذج Form1 ، تفضل 1. في الحدث "عند تحميل" النموذج Form1 ، نعمل الكود التالي ، والذي يجعل النموذج Form1 يفتح على يمين النموذج frm_Patient_Drugs : Private Sub Form_Load() r = Forms!frm_Patient_Drugs.Width + 0.6 * 576 D = 0 'Forms!frm_Patient_Drugs.Section(acDetail).Height + 1.2 * 576 '0.6 * 576 'w = Forms!frm_Patient_Drugs.Width 'H = Forms!frm_Patient_Drugs.WindowHeight - Forms!frm_Patient_Drugs.Section(acDetail).Height - 1.5 * 576 'docmd.MoveSize Right, Down, Width, Height DoCmd.MoveSize r, D ', w , H ' Me.Text0 = Forms.frm_Medication.ListDosing.Column(6) End Sub 2. النموذج Form1 يأخذ بياناته من حقل Comments من السجل الحالي للنموذج الفرعي sfrm_Patient_Drugs ، لذا نضيف الكود التالي على حدث "الحالي" ، وقبل ارسال المعلومة للنموذج Form1 ، الكود يتأكد ان النموذج Form1 مفتوح ، وإلا فإنه يفتحه: Private Sub Form_Current() If CurrentProject.AllForms("Form1").IsLoaded = False Then DoCmd.OpenForm "Form1" End If Forms!Form1!Text0 = Me.Comment End Sub 3. طيب ، واذا اضفنا دواء جديد ، فاننا نريد ان نرى الملاحظة في النموذج Form1 كذلك ، لذلك ، وعلى حدث Private Sub ListDosing_DblClick للنموذج frm_Medication ، نضيف الكود التالي: وقبل ارسال المعلومة للنموذج Form1 ، الكود يتأكد ان النموذج Form1 مفتوح ، وإلا فإنه يفتحه: 'now lets pass the comments to Form1 'if Form1 is not open, then open it If CurrentProject.AllForms("Form1").IsLoaded = False Then DoCmd.OpenForm "Form1" End If Forms!Form1!Text0 = Me.ListDosing.Column(6) جعفر 298.2.Medication.accdb.zip
-
هل يمكن عمل باسورد لملف pdf عن طريق النموذج
jjafferr replied to محمد سلامة's topic in قسم الأكسيس Access
في هذه الحالة ، استخدم هذا السطر: Path1 = me.parent.pate & "\" بدلا عن Path1 = Application.CurrentProject.Path & "\" جعفر -
استاذ عبدالفتاح احنا الاثنين نعمل بطرق مختلفة وقد واجهت الكثير من الصعوبات في هذه المسألة بالذات ، لهذا السبب قدمت هذا الاقتراح جعفر
- 47 replies
-
- 2
-
-
- حضور وانصراف
- احتساب الاجازات
-
(و2 أكثر)
موسوم بكلمه :
-
نعم هذا صحيح ، عندما نريد ان نرى اسم الدرجة وليس كود الدرجة ، وربط الجداول في الاستعلام سهل ولن تُخطئ او تحتار فيه ، ولكن ، خلينا نعمل مثال اشرح فيه السبب في طلبي ، وعلشان المسألة تكون واضحة: اسم الحقل: Level_ID ، نوع الحقل: رقم ، القيمة الحقيقة للحقل: 3 ، القيمة الظاهرة: الثانية-واحد (حيث اننا عن طريق Dlookup جعلناها القيمة الظاهرة في مربع التحرير والسرد ComboBox) : . والنتيجة التى سيراها المستخدم/المبرمج: . ولأنه لا يرى إلا هذا المسمى ، فالكود التالي سيكون خطأ (لأننا اعتبرنا ان الحقل نص وليس رقم): A = DCount("[Level_ID]", "tbl_Levels", "[Level_ID]='الثانية-واحد'") . والادهى من هذا ، انه لا توجد طريقة لدينا لمعرفة رقم هذه الدرجة ، إلا اذا جئنا الى الجدول ، ووضعناه بوضع التصميم ، ثم تعال واحسب الفوارز لمعرفة رقم الدرجة (والله يكون في عونك اذا المسميات فيها عربي وانجليزي مثل اللي في مثالي) جعفر
- 47 replies
-
- 1
-
-
- حضور وانصراف
- احتساب الاجازات
-
(و2 أكثر)
موسوم بكلمه :
-
السلام عليكم انا سوف انظر الى ملاحظاتكم ، واعلّق عليها ، اما البرنامج فاترك لكم النظر فيه 1. ياريت يُكتب هذا الكلام بحروف من ذهب ، ويُعلق في منتدى الاكسس تسلم ايدك أخوي ابو خليل على التبسيط وللأسف ، هناك من المبرمجين من يبدأ بالعلاقات ، و وايلاه ، يتعقد الموضوع عنده وووو ، وهو في الاصل ليس بحاجة الى علاقة بين الجداول اصلا 2. طبعا هذا من الشروط الاساسية لعمل قاعدة البيانات ، فعن طريق النموذج ، تسيطر على بيانات الادخال ، ورجاء ، رجاء ، لا تعمل Dlookup في الجدول لأي من الحقول ، وانما اعملها في النموذج ، بحيث تكون البيانات في الجدول واضحة ، دون اللجوء الى جدول آخر 3. وهذه هي الطريقة الصحيحة وأخي كرار له وجهة نظر صحيحة في بعض البرامج ، إلا انه لا يُفضل عمله لمثل هذا البرنامج واعطيك سببين لأهمية هذه الجداول من تجربتي: أ. وبعد استعمال احد البرامج في احد المؤسسات بفترة ، اخبرني المستخدم بأن احد المسميات تم تغييرها رسميا !! فاذا كانت الجداول مثل ما اقترح اخوي ابو خليل ، فما كان عليّ إلا ان اغير المسمى في سجل واحد في جدول الخدمية فقط ، وإلا ، فيجب تغيير المسميات في جميع السجلات في الجدول ، واذا كانت هذه المسميات في جداول اخرى فنعمل نفس الشئ ، والمشكلة الكبرى تكون في الكود ، بحيث يجب ان يتم تغييرها هناك ايضا ، وفي الاستعلامات والتقارير وووو ، إن وُجدت ب. من السهل عمل اكثر من لغة للمسمى ، كذلك في جدول الخدمية ، وبدون تغيير اي شئ في الجدول الاصل جعفر
- 47 replies
-
- 2
-
-
- حضور وانصراف
- احتساب الاجازات
-
(و2 أكثر)
موسوم بكلمه :
-
حياك الله
-
السلام عليكم أخي حسام رجاء اخبرني ماذا افعل في النموذج/السجل حتى اوصل للذي تريده. انا لا افهم شئ من برنامجك ، فلا استطيع العمل بدون توجيهك جعفر
-
السلام عليكم هذه الطريقة طبق الاصل من طريقة أخي الاستاذ عبدالرحمن ، ولكنها اسرع ، حيث لا يقوم الاكسس بالتركيز على اي حقل يريد النتيجة منه ، وانما يقوم بتصفية السجلات حسب المعطيات = DCount("*", "sdad", "[تم]=-1 and [رقم]=forms![a]![رقم]") جعفر
-
تعديل قيم بين جدولين وعدم فتح سجل مستمر قبل اتمام الحالي ؟؟
jjafferr replied to ابو عبدلله's topic in قسم الأكسيس Access
1. هاي بسيطة: غير هذا السطر If Me.m_sum < Me.com_name.Column(2) Then بهذا السطر If Me.m_sum > Me.com_name.Column(2) Then . 2. إزاي راح اعمل دي!! ممكن ، بحيث نعمل جدول خاص (او حقل خاص) للقيم التي يجب ان لا تتغير ، اي لا نطرح القيمة من الحقل m_full وانما من حقل آخر ، وتظل قيمة m_full غير متغيرة ، بحيث نرجع لها في حال تغيير/حذف القيمة ، ولكن هذه الطريقة غير متعارف عليها ، وغير مُتّبعة في قواعد البيانات ، لأنك لا تعرف الوقت الذي يجب ان تحفظ القيمة ، من الوقت الذي تسجل قيمة جديدة ، وقد تعمل لك مشاكل في المستقبل جعفر -
-
وعليكم السلام أخي كرار رجاء ارفاق عدة نماذج من برنامجك ، وخليني اشوف الموضوع عن قرب ولكني لاحظت في الصورة اعلاة ، انه حدث "حدثت مشكلة اثناء فتح الماكرو" ، فطبيعي ما يحول الماكرو الى كود جعفر
-
هل يمكن عمل باسورد لملف pdf عن طريق النموذج
jjafferr replied to محمد سلامة's topic in قسم الأكسيس Access
وعليكم السلام أخي محمد ، وعذرا على التأخير 1. الزرين عندك بنفس الاسم ، فما عرفت ايهم يعمل ماذا 2. في كود الزرين ، انت قلت ان ملفات الـ pdf موجودة في Path1 = Application.CurrentProject.Path & "\" file1 = Path1 & Me.name_morfke بينما في الصورة التي ارفقتها ، فعندك "مسار فولدر الحفظ" ، فهل الاثنان نفس الشئ ، وإلا ، فرجاء تغيير مسار الملفات في الكود اعلاه ، جعفر -
ان شاء الله
-
السلام عليكم تذكرت اني في يوم من الايام ساعدت احد الشركات في مشكلة تختلف قليلا عن هذ المشكلة ، وقد عملت كود لهم ، فالرجاء النظر في الكود (سهل) ، ثم عمل شئ مماثل لمشكلتنا التي تنكلم عنها في هذا الموضوع ، والموضوع بإختصار ، هو إعادة محاولة حفظ السجل كل نصف ثانية (ولمدة 20 ثانية) (والمفروض ان قطع الاتصال يأخذ أقل من هذا): Private Sub Form_BeforeUpdate(cancel As Integer) On Error GoTo err_Form_BeforeUpdate Dim a, msg As String Dim mTries, nTries As Integer Dim PauseTime, Start As Double 'MsgBox "Before update" TryAgain3: DoCmd.RunCommand acCmdSaveRecord Exit Sub err_Form_BeforeUpdate: If Err.Number = 3218 Or Err.Number = 3261 Then 'Could not update; currently locked 'show the user a busy mouse cursor, which indicates the system is busy DoCmd.Hourglass True 'Maximum allowed tries (seconds) mTries = 20 'how many times did we try nTries = nTries + 1 'give up if the number of tries equals the maximum allowable tries If mTries = nTries + 1 Then msg = "The table Phone_Data seems to be busy," & vbCrLf & _ "Do you want to try again?" If MsgBox(msg, vbYesNo + vbDefaultButton1, "Process taking too long") = vbYes Then nTries = 1 Else DoCmd.Hourglass False a = SysCmd(acSysCmdSetStatus, "Ready") Exit Sub End If End If 'pause 1 second 'PauseTime = 1 ' Set duration. PauseTime = 0.5 ' Set duration. Start = Timer ' Set start time. Do While Timer < Start + PauseTime DoEvents ' Yield to other processes. Loop a = SysCmd(acSysCmdSetStatus, "Table is busy, number of tries = " & nTries & " of " & mTries) 'ignore the error this time, and start again Resume TryAgain3 ElseIf Err.Number = 2115 Then 'complaints about the SaveRecord command, ignor 'version 5: 'We have to know the error number of the error message 'commented the line below, 'added 4 lines 'commented the endif 'Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If Resume Next 'End If End Sub جعفر
-
وعليكم السلام أخي أوس نعم هذه نقطة هامة ايضا ، لذلك ، وفي تنسيق حقل التاريخ في الجدول ، يجب ان يكون التنسيق dd/mm/yyyy او اي تنسيق رقمي آخر ، فهذا سيحل المشكلة من البداية اسمح لي أخي أبو عبدالله ان اقول ، انه لا يُفضل الكتابة باللغة العربية في اي من كائنات البرنامج ، إلا كبيانات في جدول ، لأني يوم من الايام صادفت مشكلة في هذه النقطة كذلك جعفر
-
وعليكم السلام نعم هناك خلل في الاكسس (تجربتي مع اكسس 2010) مع هذه الاعدادات ، وثقيل لما ينتقل من حقل الى آخر ، ولكن بعد تحديثات الاكسس ، كل شئ تمام الان هذا رابط حزم تحديثات الاكسس: http://pcsupport.about.com/od/keepingupwithupdates/a/office-service-pack.htm جعفر
-
السلام عليكم اذا كان هذا الذي تريد: . فالكود اصبح: Option Compare Database Dim rst As DAO.Recordset Function Get_Dates(ID) mySQL = "Select * From tbl_Loans" mySQL = mySQL & " Where [EmployeeID]=" & ID mySQL = mySQL & " And Year([Payment_Month])= " & [Forms]![FrmOtherDiscountReport]![txtYear] mySQL = mySQL & " Order by Payment_Month" Set rst = CurrentDb.OpenRecordset(mySQL) rst.MoveLast: rst.MoveFirst RC = rst.RecordCount For I = 1 To RC Get_Dates = Get_Dates & vbCrLf & rst!Remarks rst.MoveNext Next I Get_Dates = Mid(Get_Dates, 3) ' If RC = 1 Then ' ' Get_Dates = "Discount for the month " & Format(rst!Payment_Month, "m/yyyy") ' Else ' ' For I = 1 To RC ' ' If I <> RC Then ' ' Get_Dates = Get_Dates & " and " & Month(rst!Payment_Month) ' Else ' ' Get_Dates = Get_Dates & " AND " & Format(rst!Payment_Month, "m/yyyy") ' End If ' ' rst.MoveNext ' ' Next I ' ' Get_Dates = "Discount for the months " & Mid(Get_Dates, Len(" and ")) ' ' End If End Function جعفر
-
تعديل قيم بين جدولين وعدم فتح سجل مستمر قبل اتمام الحالي ؟؟
jjafferr replied to ابو عبدلله's topic in قسم الأكسيس Access
سيدي الفاضل لما تنقص رقم صغير من رقم كبير ، فلابد وان تكون النتيجة بالسالب ، وهذا ما يظهر لك بإشارة - وجربت المرفق ، ولم يحذف السجل ، ولكني لاحظت ان ترتيب الانتقال من حقل الى آخر غير صحيح ، لاحظ الصورة ، فالارقام الحمراء هي التسلسل ، والحقل m_id مثلا ، بدل ان تكون قيمته 1 ، فانها 3 !! . اذا لم افهم طلبك ، رجاء التوضيح اكثر جعفر -
البركة في سعيد :) جعفر