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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. وعليكم السلام 🙂 حسب معرفتي ، لا يمكن ، ولكن تستطيع استعمال تقرير في وضع المعاينه ، واذا اردت عمل تغيير ، فانقر على الحقل مرتين مثلا ، فإجعل نموذج آخر يفتح على الحقل الذي انت عليه ، لكي تقوم بتعديل بياناته 🙂 جعفر
  2. وكذلك اجابة السؤال الأول 🙂 وبدون عمل تغيير على اعدادات الحقل ، لما تريد تنزل للسطر التالي في الحقل ، امسك زر المفاتيح Ctrl ثم اضغط على الزر Enter 🙂 جعفر
  3. اخي الفاضل ، المعادلة التي وضعتها لك هي نفس طلبك هذا ، وخليني اشرحها لك: myDate = تاريخ احالة المعاش D2 = خ = تاريخ اليوم / او تاريخ المقارنة = 2021 Dim myDate As Date If D2 >= DateSerial(Year(D2), 1, 1) And D2 <= DateSerial(Year(D2), 6, 30) Then اذا خ بين 1/1/2021 و 30/6/2021 اذن تاريخ احالة المعاش = 30/6/2021 myDate = DateSerial(Year(D2), 6, 30) ElseIf D2 >= DateSerial(Year(D2), 7, 1) And D2 <= DateSerial(Year(D2), 9, 30) Then اذا خ بين 1/7/2021 و 30/9/2021 اذن تاريخ احالة المعاش = خ myDate = D2 Else اذا خ غير عن الشروط اعلاه اذن تاريخ احالة المعاش = 30/6/2022 وهي السنة التالي myDate = DateSerial(Year(D2) + 1, 6, 30) End If جعفر
  4. اخي الفاضل ، في الاكسس ، تقدر تستعمل الطريقتين ، وخصوصا اذا اردت حفظ هذه القيمة في الجدول 🙂
  5. وعليكم السلام 🙂 الظاهر فيه خطأ في معادلتك ، فلما الصقتها في الاكسل اعطاني خطأ !! على العموم ، الظاهر معادلتك تكون هكذا في الاكسس: بطريقة iif والتي لا انصحك بها ، لأنك ما بتعرف كوعك من بوعك ، ولا بتقدر تعمل تعديل عليها : dim myDate as date myDate = IIf(D2 >= DateSerial(Year(D2), 1, 1) And D2 <= DateSerial(Year(D2), 6, 30), DateSerial(Year(D2), 6, 30), IIf(D2 >= DateSerial(Year(D2), 7, 1) And D2 <= DateSerial(Year(D2), 9, 30)), D2, DateSerial(Year(D2) + 1, 6, 30)) وبطريقة if السهلة الفهم والتعديل : Dim myDate As Date If D2 >= DateSerial(Year(D2), 1, 1) And D2 <= DateSerial(Year(D2), 6, 30) Then myDate = DateSerial(Year(D2), 6, 30) ElseIf D2 >= DateSerial(Year(D2), 7, 1) And D2 <= DateSerial(Year(D2), 9, 30) Then myDate = D2 Else myDate = DateSerial(Year(D2) + 1, 6, 30) End If جعفر
  6. صبحك الله بالخير اخوي خالد 🙂 انا ضعت ، فرجاء التوضيح: انت قلت الطريقة صحيحة: ثم قلت الخبراء لا ينصحون: جعفر
  7. الرابط يعطيك طريقة الحل 🙂 وبما ان سؤال الموضوع "رسالة خطا فى ويندوز ١٠ نطام ٦٤" قد تمت الاجابة عليه ، فرجاء اتباع قوانين المنتدى بعدم وضع سؤال آخر فيه 🙂 جعفر
  8. اذن فنحن مجتاجين الى مرفق 🙂 جعفر
  9. وعليكم السلام 🙂 اذا اردت ان تجعل هذه القيمة الافتراضية في النموذج ، فيجب ان يكون النموذج في وضع التصميم ، ويمكن عمل كود يغلق النموذج ثم يفتحه بصورة مخفية ويضع الكود فيه ويحفظه ويغلق النموذج ، ولكنها طريقة غير محبذه ولا يمكن استعمالها في قواعد البيانات بصيغة accde و mde ، فالافضل ان يكون عندك جدول خاص لهذه الاعدادات ، تقدر تحفظ فيه اي قيمة ، ولما تفتح النموذج ، تطلب هذه القيمة من الجدول 🙂 جعفر
  10. من بحثي عن هذه المشكلة ، اليك ما قرأته ، ويمكن احدهم/كلهم يصلح المشكلة : 1. جرب البرنامج في الرابط : عندما يعطي برنامج الاكسس اخطاء - النسخة رقم 4 + عمل نسخ احتياطية - قسم الأكسيس Access - أوفيسنا (officena.net) فقد يكون عندك بقايا كود لم يحذفه الاكسس ، او مشكلة في جدول الاعدادات ، 2. عند عمل اي ربط مع قاعدة بيانات خارجية ، سواء عن طريق Recordset او غيرها ، يجب عليك في نهاية الكود ان تعمل له close ثم تجعله يساوي Nothing ، لأنك واقعا تكون فتحت قاعدة بيانات اخرى ، او سطر مثل DAO.DBEngine.SetOption dbMaxLocksPerFile, 100000 3. عند عمل Mail merge مع الوورد ، يجب التأكد بأنك اغلقت الربط في الكود ، 4. واسهل طريقة انك تعرف وين المشكلة في برنامجك ، افتح برنامجك حصريا لك : من اي قاعدة بيانات مفتوحه : او من برنامج الاكسس : . ثم . بهذه الطريقة ، اي جزء من الكود يحاول ان يفتح اتصال جديد ، سيعطيك الاكسس خطأ ، وهنا يجب ان تتبع الكود حتى تصل الى الجزئية/السطر الذي به المشكلة 🙂 جعفر
  11. انا راح اعطيك التورته بكل اشكالها ، وانت اختار اللي تحبها ، بس بشرط انك تأخذ قطعة واحدة من كل نوع 🙂 Dim myWhere As String myWhere = "fat_num = " & Forms!Fatora_be!Fat_num 'اذا رقم myWhere = "fat_num = '" & Forms!Fatora_be!Fat_num & "'" 'اذا نص myWhere = "fat_num = #" & Forms!Fatora_be!Fat_num & "#" 'اذا تاريخ myWhere = myWhere & " And " myWhere = myWhere & "kind_haraka = " & Forms!Fatora_be!Kind_haraka 'اذا رقم myWhere = myWhere & "kind_haraka = '" & Forms!Fatora_be!Kind_haraka & "'" 'اذا نص myWhere = myWhere & "kind_haraka = #" & Forms!Fatora_be!Kind_haraka & "#" 'اذا تاريخ Me.total_fatora = Nz(DSum("total", "Haraka", myWhere), 0) جعفر
  12. شكرا اخوي خالد 🙂 يعني يجب التأكد من وجود قيمة في الحقل قبل تنفيذ الامر !! جعفر
  13. الحمدلله 🙂 هذا الرابط سيفيدك : اجعل برنامجك يعمل على النواتين 32بت و 64بت - قسم الأكسيس Access - أوفيسنا (officena.net) جعفر
  14. 🙂 1. عملت استعلام علشان احصل على مجاميع اسماء المدارس ، بدون تكرار: . 2. ثم استعلام آخر ، حتى يعطينا جميع سجلات المدرسة ، حسب قيمة الحقل cbo_schoole في النموذج tsform ، والذي سنغيره برمجيا : . 3. ثم فتحت النموذج fform ، وحفظت نسخة منه الى تقرير : . 4. تم حفظ التقرير باسم rpt ، ومصدر بياناته كان الاستعلام 2 اعلاه ، وعدلت على ارتفاعه ليكون نصف صفحة تقريبا ، حتى نضع تقريرين في كل صفحة pdf : . 5. وعملت هذه الدالة على زر "بيان درجات الطالب" ، لكي يتم تصدير التقارير لمفات pdf ، لكل مدرسة ملفها الخاص: Private Sub أمر26_Click() 'On Error Resume Next 'DoCmd.OpenReport "استيكر لغات", acViewPreview 'Me.Visible = False On Error GoTo err_Handle Dim rstG As DAO.Recordset Dim File_Name As String 'get the Group school names Set rstG = CurrentDb.OpenRecordset("Select * From qry_1_School_Name_Group") rstG.MoveFirst 'always start from the begining 'loop through the Group school names Do Until rstG.EOF 'assign the school name to the field, and apply its event, for visual looks Me.cbo_schoole = rstG!School_name Call cbo_schoole_AfterUpdate 'output pdf file name File_Name = Application.CurrentProject.Path & "\" & Me.cbo_schoole & ".pdf" Kill File_Name 'Delete old file, if any 'output the Reports as pdf file DoCmd.OutputTo acOutputReport, "rpt", acFormatPDF, File_Name, False, , , acExportQualityPrint 'next school rstG.MoveNext Loop Exit_err_Handle: 'cleaning up rstG.Close: Set rstG = Nothing Exit Sub err_Handle: If Err.Number = 53 Then 'no file to delete Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If Resume Exit_err_Handle End Sub جعفر 1394.تصدير بي دي اف لكل مدرسة على حدى.mdb.zip
  15. كان المفروض تستخدمه هكذا : Me.txtFullNameAR = DLookup("[FullNameAR]", "qryPersons", "[txtEmployeeNumber]='" & Me.txtEmpNumber & "'") جعفر
  16. اذا كان نوع الحقل txtEmpNumber نص ، فيجب كتابة الكود هكذا: ='" & me.txtEmpNumber & "'") وبدل ان تطلب البيانات من الجدول/الاستعلام 3 مرات عن طريق الامر Dlookup ، يمكنك جلبهم مرة واحدة ، هكذا: جعفر
  17. وفي انتظار الاستاذ هاني ان يعطينا ملف بدون كلمة سر في الكود 🙂 جعفر
  18. السلام عليكم 🙂 حاول تصدر ملف pdf الى مجلد بارتيشن آخر غير \:C ، لأنه بعض الكمبيوترات ما تسمح لك الحفظ هناك !! جعفر
  19. وعليكم السلام 🙂 رجاء اعطائنا توضيح اكثر حول البرنامج ، و بيئة استخدامه ، وما هو التغيير الذي حصل عليه او على بيئته من يوم بدأت المشكلة 🙂 جعفر
  20. وعليكم السلام اخي بلال 🙂 نصيحة ، اذا لم تجد رد على سؤالك خلال يومين وكان عدد الذين قرأوا موضوعك كبير : . فتأكد ان معظم الذين قرأوا الموضوع لم يفهمون المطلوب !! لذا ، عليك إعادة كتابة سؤالك ، وبمثال من مرفقك يوضح المطلوب 🙂 جعفر
  21. السلام عليكم 🙂 اذا قصدك انك تريد تغيير النموذج الفرعي حسب اختيارك من الكومبوبوكس ، فهذا ممكن كذلك ، ولكن سنحتاج الى مرفق لوسمحت 🙂 جعفر
  22. اخي محمد ، الاوفيس لا علاقة له بالموضوع ، هي فقط اعدادات الوندوز ، الصورة رقم 4 من الرابط اعلاه ، واختيار دولة عربية في اختيارات Unicode ، والتأكد من عدم اختيار المربع Beta. ثم يجب اعادة تشغيل الكمبيوتر 🙂 جعفر
  23. وعليكم السلام 🙂 تفضل : Private Sub yars_AfterUpdate() '1 Dim ys as Date ys = DateAdd("yyyy", Me.WARRNTY, Me.BDATE) + DateAdd("yyyy", 0, Me.BDATE) - BDATE Me.EDATE = DateAdd("D", -1, ys) 'Or '2 Dim ys As Date ys = Me.BDATE - 1 Me.EDATE = DateAdd("yyyy", Me.WARRNTY, ys) + DateAdd("yyyy", 0, ys) - ys End Sub جعفر
  24. وعليكم السلام 🙂 اي رسالة من رسائل الاكسس تحتوي على كلمة خادم و OLE ، فمعناها ان اعدادات الوندوز (وليس الاكسس) يحتاج تغييرها لتدعم اللغة العربية ، هكذا: . جعفر
×
×
  • اضف...

Important Information