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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. وعليكم السلام اخي احمد 🙂 شكرا لك على جميل كلماتك ، وان شاء الله يتقبل الله منا هذا القليل 🙂 جعفر
  2. الكود صح 100% حسب شرحك 🙂 ما عدا المسافة الزائدة هنا : . 1. رجاء عرض رسالة الخطأ والسطر الذي به الخطأ ، 2. التأكد من نوع الحقول في الجدول ، 3. الحقلين : Forms!Fatora_be!Fat_num و Forms!Fatora_be!Kind_haraka يجب ان يكونوا : أ. اسماء الحقول في النموذج وليس ب. مصدر الحقول . جعفر
  3. وعليكم السلام 🙂 تفضل : بدل هذا السطر 'curPath = DTPath & "\salah- " & Format(Date, "dd-mm-yyyy") & ".xlsx" استعمل هذا curPath = DTPath & "\" & Me.ChooseTble & ".xlsx" وكذلك تم تغيير مكان هذه الاسطر في الكود ، ليصبح كود التصدير الى اكسل: Private Sub أمر26_Click() On Error Resume Next Dim curPath As String Dim xlApp1 As Object 'Excel.Application Dim xlWB1 As Object 'Excel.Workbook If IsNull(Me.ChooseTble) Then Beep MsgBox "اختر الجداول المراد تصديرهم" Exit Sub End If If Box.ItemsSelected.Count = 0 Then Beep MsgBox "اختر الحقول مراد تصديرهم" Exit Sub End If DTPath = CreateObject("WScript.Shell").SpecialFolders("Desktop") 'curPath = DTPath & "\salah- " & Format(Date, "dd-mm-yyyy") & ".xlsx" curPath = DTPath & "\" & Me.ChooseTble & ".xlsx" Dim Ssql As String For Each varItm In Box.ItemsSelected Ssql = Ssql & "[" & Box.ItemData(varItm) & "] ," Next varItm Ssql = Mid(Ssql, 1, Len(Ssql) - 1) Ssql = "select " & Ssql Ssql = Ssql & " from " & ChooseTble Set QFEx = CurrentDb.CreateQueryDef("Qtoexport", Ssql) DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "Qtoexport", curPath, , "Qtoexport" 'DoCmd.OutputTo acOutputQuery, "Qtoexport", acViewPreview DoCmd.DeleteObject acQuery, "Qtoexport" Set xlApp1 = CreateObject("Excel.Application") xlApp1.Visible = False 'True Set xlWB1 = xlApp1.Workbooks.Open(curPath) Set xlWs1 = xlWB1.Worksheets("Qtoexport") xlWs1.DisplayRightToLeft = True xlWB1.Save xlApp1.Quit Set xlWs1 = Nothing Set xlWB1 = Nothing Set xlApp1 = Nothing MsgBox "لقد تم تصدير البيانات بنجاح" End Sub جعفر
  4. وعليكم السلام 🙂 حسب معرفتي ، لا يمكن ، ولكن تستطيع استعمال تقرير في وضع المعاينه ، واذا اردت عمل تغيير ، فانقر على الحقل مرتين مثلا ، فإجعل نموذج آخر يفتح على الحقل الذي انت عليه ، لكي تقوم بتعديل بياناته 🙂 جعفر
  5. وكذلك اجابة السؤال الأول 🙂 وبدون عمل تغيير على اعدادات الحقل ، لما تريد تنزل للسطر التالي في الحقل ، امسك زر المفاتيح Ctrl ثم اضغط على الزر Enter 🙂 جعفر
  6. اخي الفاضل ، المعادلة التي وضعتها لك هي نفس طلبك هذا ، وخليني اشرحها لك: 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 جعفر
  7. اخي الفاضل ، في الاكسس ، تقدر تستعمل الطريقتين ، وخصوصا اذا اردت حفظ هذه القيمة في الجدول 🙂
  8. وعليكم السلام 🙂 الظاهر فيه خطأ في معادلتك ، فلما الصقتها في الاكسل اعطاني خطأ !! على العموم ، الظاهر معادلتك تكون هكذا في الاكسس: بطريقة 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 جعفر
  9. صبحك الله بالخير اخوي خالد 🙂 انا ضعت ، فرجاء التوضيح: انت قلت الطريقة صحيحة: ثم قلت الخبراء لا ينصحون: جعفر
  10. الرابط يعطيك طريقة الحل 🙂 وبما ان سؤال الموضوع "رسالة خطا فى ويندوز ١٠ نطام ٦٤" قد تمت الاجابة عليه ، فرجاء اتباع قوانين المنتدى بعدم وضع سؤال آخر فيه 🙂 جعفر
  11. اذن فنحن مجتاجين الى مرفق 🙂 جعفر
  12. وعليكم السلام 🙂 اذا اردت ان تجعل هذه القيمة الافتراضية في النموذج ، فيجب ان يكون النموذج في وضع التصميم ، ويمكن عمل كود يغلق النموذج ثم يفتحه بصورة مخفية ويضع الكود فيه ويحفظه ويغلق النموذج ، ولكنها طريقة غير محبذه ولا يمكن استعمالها في قواعد البيانات بصيغة accde و mde ، فالافضل ان يكون عندك جدول خاص لهذه الاعدادات ، تقدر تحفظ فيه اي قيمة ، ولما تفتح النموذج ، تطلب هذه القيمة من الجدول 🙂 جعفر
  13. من بحثي عن هذه المشكلة ، اليك ما قرأته ، ويمكن احدهم/كلهم يصلح المشكلة : 1. جرب البرنامج في الرابط : عندما يعطي برنامج الاكسس اخطاء - النسخة رقم 4 + عمل نسخ احتياطية - قسم الأكسيس Access - أوفيسنا (officena.net) فقد يكون عندك بقايا كود لم يحذفه الاكسس ، او مشكلة في جدول الاعدادات ، 2. عند عمل اي ربط مع قاعدة بيانات خارجية ، سواء عن طريق Recordset او غيرها ، يجب عليك في نهاية الكود ان تعمل له close ثم تجعله يساوي Nothing ، لأنك واقعا تكون فتحت قاعدة بيانات اخرى ، او سطر مثل DAO.DBEngine.SetOption dbMaxLocksPerFile, 100000 3. عند عمل Mail merge مع الوورد ، يجب التأكد بأنك اغلقت الربط في الكود ، 4. واسهل طريقة انك تعرف وين المشكلة في برنامجك ، افتح برنامجك حصريا لك : من اي قاعدة بيانات مفتوحه : او من برنامج الاكسس : . ثم . بهذه الطريقة ، اي جزء من الكود يحاول ان يفتح اتصال جديد ، سيعطيك الاكسس خطأ ، وهنا يجب ان تتبع الكود حتى تصل الى الجزئية/السطر الذي به المشكلة 🙂 جعفر
  14. انا راح اعطيك التورته بكل اشكالها ، وانت اختار اللي تحبها ، بس بشرط انك تأخذ قطعة واحدة من كل نوع 🙂 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) جعفر
  15. شكرا اخوي خالد 🙂 يعني يجب التأكد من وجود قيمة في الحقل قبل تنفيذ الامر !! جعفر
  16. الحمدلله 🙂 هذا الرابط سيفيدك : اجعل برنامجك يعمل على النواتين 32بت و 64بت - قسم الأكسيس Access - أوفيسنا (officena.net) جعفر
  17. 🙂 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
  18. كان المفروض تستخدمه هكذا : Me.txtFullNameAR = DLookup("[FullNameAR]", "qryPersons", "[txtEmployeeNumber]='" & Me.txtEmpNumber & "'") جعفر
  19. اذا كان نوع الحقل txtEmpNumber نص ، فيجب كتابة الكود هكذا: ='" & me.txtEmpNumber & "'") وبدل ان تطلب البيانات من الجدول/الاستعلام 3 مرات عن طريق الامر Dlookup ، يمكنك جلبهم مرة واحدة ، هكذا: جعفر
  20. وفي انتظار الاستاذ هاني ان يعطينا ملف بدون كلمة سر في الكود 🙂 جعفر
  21. السلام عليكم 🙂 حاول تصدر ملف pdf الى مجلد بارتيشن آخر غير \:C ، لأنه بعض الكمبيوترات ما تسمح لك الحفظ هناك !! جعفر
  22. وعليكم السلام 🙂 رجاء اعطائنا توضيح اكثر حول البرنامج ، و بيئة استخدامه ، وما هو التغيير الذي حصل عليه او على بيئته من يوم بدأت المشكلة 🙂 جعفر
  23. وعليكم السلام اخي بلال 🙂 نصيحة ، اذا لم تجد رد على سؤالك خلال يومين وكان عدد الذين قرأوا موضوعك كبير : . فتأكد ان معظم الذين قرأوا الموضوع لم يفهمون المطلوب !! لذا ، عليك إعادة كتابة سؤالك ، وبمثال من مرفقك يوضح المطلوب 🙂 جعفر
  24. السلام عليكم 🙂 اذا قصدك انك تريد تغيير النموذج الفرعي حسب اختيارك من الكومبوبوكس ، فهذا ممكن كذلك ، ولكن سنحتاج الى مرفق لوسمحت 🙂 جعفر
×
×
  • اضف...

Important Information