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

Foksh

الخبراء
  • Posts

    2,155
  • تاريخ الانضمام

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

  • Days Won

    78

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

  1. هل التقرير مغلق عند تحويل التقرير الى PDF ؟ وفي اي زر تقوم بتحويل الى PDF ؟
  2. تفضل صديقي العزيز .. هل هذا طلبك قاعدة بيانات.accdb ؟ تم انشاء استعلام فرعي مبني على الاستعلام الرئيسي والذي هو مصدر بيانات التقرير ، لعد السجلات دون تكرار باعتماد الحقل No ، كما في الكود التالي :- Dim db As DAO.Database Dim rs As DAO.Recordset Dim recordCount As Long Set db = CurrentDb Set rs = db.OpenRecordset("SELECT COUNT(*) AS RecordCount FROM (SELECT DISTINCT [No] FROM Query1);") If Not rs.EOF Then recordCount = rs!recordCount Me.Text13 = recordCount End If rs.Close Set rs = Nothing Set db = Nothing
  3. جدول الأصناف لا يمكنك ربطه بالفاتورة إلا بوجود وسيط ولنفرض أنه جدول الحركات .
  4. جزاك الله خيراً أستاذنا ومعلمنا @ابوخليل ، هو فعلاً تم التعديل للمتغير Dbl . وأيضاً هذه النقطة أخذت في الحسبان . هذه النقطة الصحيح انها فاتتني ولم انتبه لها
  5. اخي الكريم اسعدك الله ،، في مثالك كتبت الرقم 400 وهو فعلاً أصغر من الرقم 4920000 التنسيق الرقمي للخانة هو مشكلتك 😊 جرب تكون قيمة القرض 4920001 😅
  6. تأكد من ربط المفتاح الاساسي بين الرئيسي والفرعي
  7. اخي الكريم ، إما أنك لم تتفقد جميع المشاركات والمرفقات ، أو أنك لم تقم بتوصيل المطلوب بشكل واضح
  8. اخي الكريم ، أشكر لك صبرك على اسئلتي . عند التفكير في عملية النسخ للنصوص فإنه لا بد لك من مصدر وهدف لتحقيق الغاية ( المصدر النص المراد نسخه ، والهدف المكان المراد اللصق فيه ) هذا متفق عليه لا جدال فيه . من خلال الكود ما الذي يختلف عن هذا الحديث ؟؟؟؟؟
  9. تفضل اخي محاولتي المتواضعة 123.accdb
  10. اخي العزيز الخطأ ان اللأمر SetFocus ليس له اجراءات شرطية كما في الكود الذي كتبته انت ، فقط كما في التعديل التالي :-
  11. شكراً لك أخي على التوضيح ، وصلتني الإجابة هنا . وعليه فأن DoCmd.RunCommand acCmdCopy DoCmd.RunCommand acCmdPaste يقومان بالمهمة التي اريدها ، ومن جهة الوسيط ، فهل لك أن توضح المقصود به
  12. الخطأ في كود التركيز على الحقل الفارغ Me.Comb_User.SetFocus
  13. يبدو أن المشكلة كانت في تنسيق الحقول التي ترغب في اجراء المقارنة عليها ، قمت ببعض التغييرات ، وتفضل الكود Private Sub Command14_Click() Dim i As Double Dim x As Double If IsNull(Me.Tmaden) Then MsgBox "قيمة Me.Tmaden فارغة!", vbExclamation Exit Sub End If If IsNull(Me.ts) Then MsgBox "قيمة Me.ts فارغة!", vbExclamation Exit Sub End If i = CDbl(Replace(Me.Tmaden, ",", "")) x = CDbl(Replace(Me.ts, ",", "")) If i < x Then MsgBox "لا يمكنك الحفظ !! فرصيد الصندوق غير كاف", vbExclamation Me.Undo Else Dim mySQL As String mySQL = "SELECT * FROM karz" Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset(mySQL) rst.AddNew rst!no = tid rst!nam = Comn rst!datee = tdate rst!maden = Tmaden rst!gehat = comg rst!harkt = th rst!kfl = Tkl rst!fonl = Tfl rst!worl = Comkl rst!kf2 = Tk2 rst!fon2 = Tf2 rst!wor2 = Comk2 rst!notesm = notm rst!noteskl = notkl rst!notesk2 = notk2 rst.Update rst.Close Set rst = Nothing End If End Sub الملف المرفق قروض التجربة الحالية.accdb
  14. من الواضح أنه لا يعتمد القيمة الفارغة للحقل TS و الحقل Tmaden ، جرب هذا التعديل Private Sub Command14_Click() Dim i As Variant Dim x As Variant If IsNull(Me.Tmaden) Then MsgBox "قيمة فارغة!", vbExclamation Exit Sub End If If IsNull(Me.ts) Then MsgBox "قيمة فارغة!", vbExclamation Exit Sub End If i = Me.Tmaden x = Me.ts If i < x Then MsgBox "لا يمكنك الحفظ !! فرصيد الصندوق غير كاف", vbExclamation Me.Undo Else Dim mySQL As String mySQL = "SELECT * FROM karz" Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset(mySQL) rst.AddNew rst!no = tid rst!nam = Comn rst!datee = tdate rst!maden = Tmaden rst!gehat = comg rst!harkt = th rst!kfl = Tkl rst!fonl = Tfl rst!worl = Comkl rst!kf2 = Tk2 rst!fon2 = Tf2 rst!wor2 = Comk2 rst!notesm = notm rst!noteskl = notkl rst!notesk2 = notk2 rst.Update rst.Close Set rst = Nothing End If End Sub
  15. وضعت لك الحل أخي الكريم ، في المشاركة القبل الأخيرة لي
  16. اخي الكريم التغييرات ستحدث حسب موقع الحدث في التقرير ، وانت قمت باستدعاء الكود عند تحميل التقرير ، ولكن هنا انت لم تقم بفتح التقرير حتى يتم استدعاء الأمر أو الدالة . صح ؟؟ لذا عليك أولاً بفتح التقرير قبل كود تصدير التقرير الى PDF ، ثم اغلاقه اذا لم تكن بحاجة اليه . تفضل الكود Badge_Output = Application.CurrentProject.Path & "\Badges.PDF" stDocName = size DoCmd.OpenReport stDocName, acViewPreview DoCmd.OutputTo acOutputReport, stDocName, acFormatPDF, Badge_Output, True, , , acExportQualityPrint DoCmd.Close acReport, stDocName
  17. وجب تحديد نوع المتغير بنوعه لكل متغير منفصل Dim i As Integer, x As Integer
  18. اعتذر منك أخي الخطأ في المتغير الذي حجزته Private Sub Command14_Click() Dim i As Integer Dim x As Integer i = Me.Tmaden x = Me.ts If i < x Then MsgBox "لا يمكنك الحفظ !! فرصيد الصندوق غير كاف", vbExclamation Me.Undo Else Dim mySQL As String mySQL = "SELECT * FROM karz" Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset(mySQL) rst.AddNew rst!no = tid rst!nam = Comn rst!datee = tdate rst!maden = Tmaden rst!gehat = comg rst!harkt = th rst!kfl = Tkl rst!fonl = Tfl rst!worl = Comkl rst!kf2 = Tk2 rst!fon2 = Tf2 rst!wor2 = Comk2 rst!notesm = notm rst!noteskl = notkl rst!notesk2 = notk2 rst.Update rst.Close Set rst = Nothing End If End Sub
  19. من خلال الكود الواضح انه سيقوم بالترحيل في كل الحالات ، لانك في الجملة الشرطية جعلت الشرط فقط التراجع وبعدها تم انهاء الجملة الشرطية ، واستكمل الكود وظيفته بجملة التحديث . جرب بعد Undo اكتب Else وانقل السطر End If لما بعد استعلام التحديث . بحيث اذا كان مبلغ القرض اكبر من الرصيد لايمكن ترحيل .. وإلا (Else) قم بترحيل البيانات .
  20. اخونا العزيز @Ahmos ، ما شاء الله عليك ، لا تقلل من شأن نفسك 🤗 مقصدي هو ان clipboard في الكود الذي ادرجته في مشاركتك ، هل يقوم بعمل نسخ لأكثر من نص والاحتفاظ بهذه النصوص التي تم نسخها في الحافظة ؟ وعند عملية اللصق تستطيع ان تختار النص الذي تريده من النصوص التي تم نسخها في الحافظة ؟؟ توضح السؤال ولا لأ !! 😅
  21. بسم الله ،، ما شاء الله تربت يداك على هذا الطرح الجميل ، اسمح لي بسؤال صغير ، هل الحافظة Clipboard متعدد القيم في الحفظ مثل الحافظة مثلاً اللي في الجوال ؟؟ بمعنى آخر انه عند اللصق تستطيع اختيار احد النصوص التي تم نسخها إلى الحافظة !!! وهل الفكرة شبيهة بكود النسخ DoCmd.RunCommand acCmdCopy وكود اللصق DoCmd.RunCommand acCmdPaste
  22. تفضل أخي الكريم @السنجري ، مرفق يحتوي مديولين لنفس الوظيفة ، متوافقين مع الإصدار للنواتين 32 و 64 . في أحدهما كود لإخفاء آكسيس و كود لإعادة إظهار آكسيس مرة أخرى . Hide & Show.accdb
  23. مشاركة الأستاذ @ابوخليل كانت بنفس الفكرة التي ترغب بها ، يبدو أنك لم تنتبه للسطر 🤗 mytxt = rs!HRA حيث HRA هو اسم الحقل في الجدول .
  24. سنشرح الفكرة والأكواد .. بداية قمت بإنشاء متغيرين في أول الأكواد ، هما :- Private Const TimeoutMinutes As Integer = 1 قمت بإنشاء متغير ثابت ( Const ) يسمى ( TimeoutMinutes ) ، ويتم تعيين قيمته إلى 1 تعبيراً عن دقيقة واحدة. ( وطبعاً تستطيع تغييره كما تريد ) سنستخدم هذا المتغير لتحديد المدة الزمنية (بالدقائق) التي يجب أن يمر ولا توجد فيها حركة للماوس حتى يتم اعتبار النموذج في وضع الخمول . Private LastMouseMoveTime As Date هنا سنقوم بإنشاء متغير خاص (Private) يسمى ( LastMouseMoveTime ) ويتم تحديده كنوع ( Date ) لأنه سيتم تخزين قيمة بصيغة وقت . يُستخدم هذا المتغير لتخزين الوقت الأخير الذي حدثت فيه حركة الماوس على النموذج. الآن بدأت في حدث عند التحميل لتثبيت قيمتين ، هما :- أولاً المتغير الخاص لتكون قيمته كمتغير الوقت الذي تم فتح النموذج فيه LastMouseMoveTime = Now ثانياً قمت بتشغيل الأمر كل دقيقة بالسطر التالي Me.TimerInterval = 60000 وفي حدث تحريك الماوس ، قمت بجعله يأخذ قيمة الوقت الحالي مرة أخرى كحدث عند التحميل LastMouseMoveTime = Now وفي حدث الوقت سيتم التحقق من أن الماوس لم يتم تحريكه منذ آخر قيمة تم تسجيلها في المتغير آخر حركة للماوس سابقاً ، بالكود التالي تخطي الخطأ لأنه سيتقوم بمهمة تغيير في النموذج عند مرور الوقت ، فوجب تلافي الخطأ لأنه لن يؤثر على النموذج On Error Resume Next سيتم التحقق من آخر مدة زمنية لتحريك الماوس ما إذا تخطيناها أم لا. If Now - LastMouseMoveTime > TimeValue("00:00:" & TimeoutMinutes * 60) Then اذا تحقق الشرط وكان الوقت المسجل في المتغير أقل بدقيقة من الوقت الحالي فستظهر رسالة ولك حرية حذفها بالمهمة التي تريدها . MsgBox "تم تسجيل الخروج بسبب عدم تحريك الماوس", vbInformation بعد الرسالة سيتم اغلاق آكسيس . طبعاً تستطيع هنا أن تعدل الأحداث كما ترغب . DoCmd.Quit End If
×
×
  • اضف...

Important Information