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

jjafferr

أوفيسنا
  • Posts

    9,752
  • تاريخ الانضمام

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

  • Days Won

    396

Community Answers

  1. jjafferr's post in كيف نتعامل مع نواة الحاسوب ( 64 بت أو 32 بت ) ؟ was marked as the answer   
    وعليكم السلام 🙂
     
    1. لم اصادف او اسمع مثل هذه المشكلة ، ولكن المعتاد هو عمل البرنامج على النسخة الاقدم من اكسس ، حتى تعمل على النسخ الاحدث ،
    بمعنى ، اذا اردت استعمال برنامجك على جميع نسخ الاكسس ، فاعمل برنامجك بصيغة MDB ،
    اما اذا اردت الاستفادة من مزايا صيغة ACCDB ، فاستعمل نسخة 2007 (او حتى اذا اردت استعمال صيغة 2010 ، فلا تستعمل مزايا 2010 ، لأن هناك مستخدمين عندهم النسخة الاولى من 2007 وبدون تحديثات ، فلن تعمل معهم.
     
    2. كذلك لم اصادف او اسمع مثل هذه المشكلة !!
    نعم ، اذا عندك مكتبات 32بت فلن تعمل في الاكسس 64بت ، وفي الرابط طريقتين لحل المشكلة
     
    .
    جعفر
  2. jjafferr's post in فتح اخر صفحة في التقرير was marked as the answer   
    وعليكم السلام 🙂
     
    بحثت ووجدت هذا الكود
    DoCmd.OpenReport "rpt_SalesReportBO_Ar", acViewPreview 'goto last page Dim WshShell As Object Set WshShell = CreateObject("WScript.Shell") WshShell.SendKeys "{End}", True  
    جعفر
  3. jjafferr's post in استعلام تحديث بشروط حسب القيمة was marked as the answer   
    سيدي الفاضل 🙂
    الرابط اللي اعطيتك ، فيه الطريقة اللي انا شخصيا استخدمها في برامجي ، وها انا ذا استخدمها هنا كذلك :
     
    في VBE او Notepad او الوورد او اي برنامج ، قم بتفكيك الامر iif الى سطور ، حتى يكون الامر سهل لك في فهم ما تقوم به ، وحتى الكلمات العربية ما تتداخل وسط الكود ويصبح الكود غير مفهوم :

    .
    IIf([ff] = "نجاح", 1, _ IIf([ff] = "فشل", 2, _ IIf([ff] = "Na", 3, _ IIf([ff] <> "نجاح" And [ff] <> "فشل" And [ff] <> "Na", 3, "")))) IIf([ff] = "نجاح", 1, IIf([ff] = "فشل", 2, IIf([ff] = "Na", 3, IIf([ff] <> "نجاح" And [ff] <> "فشل" And [ff] <> "Na", 3, "")))) .
    وفي النهاية ، احذف العلامة _ وضع الكود في سطر واحد (اوقف على نهاية السطر الاول ، واحذف العلامة _ ، ثم انقر على زر Del على لوحة المفاتيح حتى يأتي السطر الثاني في نهاية السطر الاول ، ويبقى لدينا سطر واحد فقط ، والذي سنأخذ نسخة منه الى الاستعلام مباشرة)

    .
    لاحظ في الاستعلام انه بالفعل قلب لنا المتغيرات والحقول ، بسبب اللغة العربية :

    .

    .
    رجاء احتفظ بملف النص ZZ.txt ، فكلما اردن ان تعمل تعديل على معادلة الاستعلام ، اعملها في ملف النص ، ثم انسخها الى الاستعلام 🙂
    اما انا ، فبدل ان يكون عندي ملف اضافي في هذا المشروع ، فأقوم بعمل هذه الخطوات في VBE (طبعا ما اناديها برمجيا ولا استعملها) ، واللي تكون جزء من البرنامج 🙂
     
    جعفر
    ZZ.zip fr.zip
  4. jjafferr's post in تحويل دالة IF بشروط الى وحدة نمطية و تشغيلها فى استعلام was marked as the answer   
    وعليكم السلام 🙂
     
    هذه هي الدالة في الوحدة النمطية :
    Function Get_Results(D2 As Date, i2 As Integer) As Integer If D2 >= #1/1/1990# And D2 <= #1/9/2016# Then If i2 = "4" Then Get_Results = 10 Else Get_Results = 12 End If Else Get_Results = 0 End If End Function .
    وفي الاستعلام نناديها ، ونرسل لها القيمتين اللي تحتاجهم في التقييم ، هكذا:

    .
    ونتائج الحقلين يتساون ، ما عدا ان حقلك السابق نتيجته "نص" (لاحظ تنسيق الاكسس للحقل الى اليسار) ، بينما نتيجة حقلي "رقم" (لاحظ تنسيق الاكسس للحقل الى اليمين)

    .
    جعفر
    2003.zip
  5. jjafferr's post in زر التصغير في شريط القوائم was marked as the answer   
    .
    انت تخفي خلفية الاكسس ، وهذا يجعل العمل غير المألوف ، ويجعل بعض الاوامر لا تتواءم معه !!
    تجربة اخرى وباستعمال الدالة التي تستخدمها في اخفاء الاكسس ، بدل الاختيارات فوق ، جرب:
    Call fAccessWindow("minimize") .
    جعفر
  6. jjafferr's post in بخصوص شريط القوائم was marked as the answer   
    السلام عليكم 🙂
     
    قائمة المواضيع طويلة ، ولكني سأطرح بعضها ، فرجاء رجاء قراءة المواضيع بالكامل
     
    .
    .
    .
    .
    .
    .
    جعفر
  7. jjafferr's post in المساعدة بتحويل مايكرو الى كود was marked as the answer   
    وعليكم السلام 🙂

     
    هذه طريقتي لكود اخي السيد حسام 🙂
    Private Sub Form_BeforeUpdate(Cancel As Integer) If MsgBox("Do You Want To Save Data", vbYesNo, "Confirm Save") <> vbYes Then me.Undo Cancel=true End If End Sub .
    ولكن
    وش لك في البحر واهواله و رزق الله على السيف 🙂
    الاكسس يعمل لك هذا التغيير مباشرة من الزر الذي حوله دائرة حمراء :

    .
    جعفر
  8. jjafferr's post in اخر سجل بعد الفلتر was marked as the answer   
    وعليكم السلام 🙂
     
    ضع هذا الكود في احداث النموذج  وسيؤدي العمل :
    Option Compare Database Option Explicit Dim Goto_L As Boolean ' Private Sub Form_ApplyFilter(Cancel As Integer, ApplyType As Integer) If ApplyType = 1 Then Goto_L = True End If End Sub Private Sub Form_Current() If Goto_L = True Then DoCmd.GoToRecord , , acLast Goto_L = False End If End Sub .

    .
    جعفر
    New Microsoft Access Database.zip
  9. jjafferr's post in تغيير اسم ملف was marked as the answer   
    طريقة العمل :
    1. اعمل الدوال التالية في وحدة نمطية باسم (مثلا) mod_Rename_and_Delete
    function Rename_a_File() Dim OldName, NewName OldName = "C:\MYDIR\OLDFILE": NewName = "D:\YOURDIR\NEWFILE" Name OldName As NewName ' Move and rename file. end function function Delete_a_File() Kill "D:\YOURDIR\NEWFILE.mdb" end function .
    2. في الماكرو AutoExec ، لتنفيذ الدالتين اعلاه:

    .
    ولا تنسى ، ان الاكسس اول ما يقول بسم الله ، وقبل ان يفتح اي كائن آخر ، فهو ينفذ اوامر الماكرو AutoExec ، 
    فإذا اردت ان تشير الى اسم حقل في نموذج ، فيجب عليك فتح هذا النموذج من هذا الماكرو ، وامر فتح النموذج يجب ان يكون قبل تشغيل الدوال اعلاه (طبعا اذا اردت ان تأخذ قيمة من النموذج، اما اذا فتح النموذج لا علاقة له بالدوال اعلاه ، فتقدر تفتح النموذج بين اي من اوامر الماكرو) 🙂
     
    انا من الناس اللي اعتمد على هذا الماكرو في جميع برامجي 🙂
     
    جعفر
  10. jjafferr's post in كيفية وضع رقم او نص بين قوسين فى التقرير was marked as the answer   
    السلام عليكم أخي محمد
     
    لاحظ اننا غيرنا الاسم ، حتى لا يكون نفس اسم المصدر

    .

    .
    .
    جعفر
     
  11. jjafferr's post in تصفية البيانات من الموذج الفرعى للنموذج الرئيسى was marked as the answer   
    حياك الله
    الظاهر ان العلم بنفسه لا ينفع ، لذا كان لازم أحضّر الشيوخ بالبخور علشان يخبروني هذه المعلومة اللي ما كانت موجودة
    هذا الكود الجديد
    Forms!test1!ID.SetFocus [Forms]![test1]![مربع_تحرير_وسرد15] = Me.ID DoCmd.FindRecord [Forms]![test1]![مربع_تحرير_وسرد15] Me.Requery ولكني عملت تغيير في استعلام النموذج الفرعي ، وكذلك استعلام مربع التحرير والسرد.
     
    جعفر
     
     
    620.testx.mdb.zip
  12. jjafferr's post in طلب جمع عدد الحقول التي تحتوي على بيانات  بالاستعلام was marked as the answer   
    تفضل
    534.Test.mdb.zip
  13. jjafferr's post in دمج خليتين الصفر لا يظهر was marked as the answer   
    في نسخة الاكسس الانجليزية (التي استعملها انا) ، نستخدم الفاصلة ،
    بينما في النسخة العربية يجب استخدام الفاصلة المنقطة (;) ، فتصبح المعادلة:
    Expr1: Format([number1];"00") & " " & Format([number2];"00")  
    جعفر
  14. jjafferr's post in ظهور يوم الاسبوع للتاريخ فى الاستعلام was marked as the answer   
    وعليكم السلام
     
    بسبب اني اشتغل على جهاز وندوز انجليزي ، والكثير من زبائني عندهم وندوز عربي ،
    لهذا السبب انا استخدم جدول خاص فيني اسمه tbl_Months ، حاط فيه الاشهر الانجليزية بالعربي ، والاشهر العربية ، والاشهر الشامية/العراقية ، والايام العربية والانجليزية ،
    وبهذه الطريقة اضمن ان الكل يرى ما اريد سواء على وندوز عربي وانجليزي

    .
    واذا كل شغلك على وندوز عربي ، فانت ما محتاج الى هذا الجدول
    نعمل استعلام نستخرج منه رقم اليوم

    .

    .
    الآن نربط جدول الاشهر tbl_Months مع الاستعلام السابق (هذا اذا تريد العمل على وندوز عربي وانجليزي) ،
    وفي الاستعلام عدة طرق للحصول على اليوم

    .

    .
    جعفر
    557.test20.mdb.zip
  15. jjafferr's post in المساعدة في طباعة التقارير was marked as the answer   
    وعليكم السلام 🙂
     
    ومشاركة مع اخي kanory 🙂
     
    1. اعمل حقل نص في التقرير لكتابة كلمة جزاءات و ماهيات

    .
    2. اعمل الحقل myText في النموذج الذي سيتم منه الطباعة :

    .
    وهذا الكود على حدث زر الطباعة:
    Private Sub cmd_print_3_Copies_Click() Me.myText = "جزاءات" DoCmd.OpenReport "Report1" Call Pause_Time Me.myText = "ماهيات" DoCmd.OpenReport "Report1" Call Pause_Time Me.myText = "جزاءات + ماهيات" DoCmd.OpenReport "Report1" Call Pause_Time End Sub Sub Pause_Time() Dim PauseTime, Start PauseTime = 2 ' Set duration. Start = Timer ' Set start time. Do While Timer < Start + PauseTime DoEvents ' Yield to other processes. Loop End Sub .
    قد لا تكون بحاجة الى الدالة Pause_Time ، فهي تجعل الكمبيوتر ينتظر ثانيتين قبل ان يطبع التقرير التالي.
     
    جعفر
    1527.Report_Label.mdb.zip
  16. jjafferr's post in عند الضغط على الزر يتم تحديد الكل was marked as the answer   
    وعليكم السلام اخي بلال 🙂
     
    المنتدى مليان بالامثلة ، ومنها :
     
    .
    .
    جعفر
  17. jjafferr's post in اختيار عشوائي للحروف دون تكرار was marked as the answer   
    وعليكم السلام 🙂
     
    وهذه طريقتي :

    .
    وهذه محركات العمل :
    Option Compare Database Dim Number_Exists As String Dim i As Long ' Sub Rnd_Number() Dim Max_Number As Long, Rnd_Number As Long Max_Number = DCount("*", "Char") For i = 1 To 5 Start_Over: Randomize Rnd_Number = Int((Max_Number * Rnd) + 1) 'check if this number was used If InStr(Number_Exists, Rnd_Number) > 0 Then 'this number exists, get another one GoTo Start_Over Else 'its a new number, add it Number_Exists = Number_Exists & Rnd_Number End If 'use the number, get the Char Me("T" & i - 1) = DLookup("Cha1", "Char", "IDW=" & Rnd_Number) Next i End Sub Private Sub cmd_Fresh_Sart_Click() Number_Exists = "" Call Clear_Fields Call Rnd_Number End Sub Private Sub Form_Load() Call Clear_Fields Call Rnd_Number End Sub Sub Clear_Fields() 'clear the lower fields For i = 1 To 5 Me("ch" & i) = "" Next i Me.Word0 = "" End Sub  
    جعفر
    1525.GAME WORD.accdb.zip
  18. jjafferr's post in اهمال الخانة الثانية من الكسر (معدل) was marked as the answer   
    طلعت النتيجة عندي صحيحة من المعادلة اعلاه !!
     
    طيب جرب
    Mid([total],1,Len([total])-1) & 0  
  19. jjafferr's post in تحديث ترقيم ارقام بطائق منتسبين دفعة واحدة حسب تاريخ الانتساب وقيمة اولية عبر تكست بوكس was marked as the answer   
    وعليكم السلام ورحمة الله وبركاته 🙂
     
    اهلا وسهلا بك في المنتدى 🙂
    للإستفادة القصوى من المنتدى ، رجاء قراءة قوانين المنتدى : اضغط هنـــــــــامن فضلك لقراءة القواعد كاملة
     
    بالنسبة الى سؤالك:
    جرب هذا الكود (الغير مجرب) :
    'ID = "رقم البطاقة" 'iDate = "تاريخ الانتساب" 'tbl = اسم الجدول dim rst as dao.recordset dim inc as long set rst=currentdb.openrecordset("Select ID, iDate From tbl Order By iDate") rst.movefirst inc= 450000 'Forms!frm123!initial_Number do until rst.eof inc = inc + 1 rst.edit rst!ID = inc rst.update rst.movenext loop rst.close: set rst=nothing msgbox "Done" .
    ولكن رجاء اعمل نسخة من جدولك قبل تجربة الكود 🙂
     
    جعفر
  20. jjafferr's post in هل في امكانية للتحكم في اتجاه النص من الشمال لليمين في الـ "List box" (معدل) was marked as the answer   
    وعليكم السلام 🙂
     
    رجاء مراعاة كتابة اسم صحيح للموضوع ، يدل على محتواه 🙂
     
    تفضل طلبك:
     
    .
    جعفر
  21. jjafferr's post in طلب كيفية ربط بيانات النموذج الفرعي مع ملفات PDF was marked as the answer   
    وعليكم السلام 🙂
     
    تفضل:

    .
    وهذا يحدث بهذا الكود:
    Private Sub Form_Current() Dim rst As DAO.Recordset Dim strFile As String Set rst = Me.tabl2.Form.RecordsetClone rst.MoveFirst Me.lst_Files.RowSource = "" Do Until rst.EOF Debug.Print rst!noid Me.lst_Files.AddItem ">" & rst!noid 'Now lets find how many files we have strFile = Dir(Application.CurrentProject.Path & "\Datapdfx\*" & rst!noid & "*.pdf") Do Until strFile = "" Debug.Print strFile Me.lst_Files.AddItem strFile strFile = Dir() Loop Me.lst_Files.AddItem "" rst.MoveNext Loop End Sub Private Sub lst_Files_DblClick(Cancel As Integer) Dim pdfPath As String If Left(Me.lst_Files, 1) = ">" Then Exit Sub pdfPath = CurrentProject.Path & "\Datapdfx\" & Me.lst_Files Shell "explorer.exe " & pdfPath, vbNormalFocus End Sub  
    جعفر
    dataPdf.zip
  22. jjafferr's post in ❓ سؤال ❓ : كيف أجعل تصميم التقرير (يظهر) دائما خصوصا ( في حال عدم وجود بيانات ) 🤔 was marked as the answer   
    وعليكم السلام 🙂
     
    ان شاء الله طريقتي تعجبك 🙂
    .

    .
    Private Sub VeiwReportBtn_Click() On Error GoTo Err_VeiwReportBtn_Click Dim qry_0 As String, qry_1 As String qry_0 = "Select * From qry_Table2_Empty_One_Record" qry_1 = "Select * From qry_Table2" DoCmd.DeleteObject acQuery, "tqry_SubReport" If DCount("*", "Table2", "T1ID=" & Me.IdCbo) = 0 Then CurrentDb.CreateQueryDef "tqry_SubReport", qry_0 Else CurrentDb.CreateQueryDef "tqry_SubReport", qry_1 End If Dim stDocName As String stDocName = "Report1" DoCmd.OpenReport stDocName, acViewPreview, , "[ID]=" & Me.IdCbo Exit_VeiwReportBtn_Click: Exit Sub Err_VeiwReportBtn_Click: If Err.Number = 7874 Then 'query tqry_SubReport does not exist, ignore Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If Resume Exit_VeiwReportBtn_Click End Sub  
    جعفر
    1523.ShowReportInNoDate.accdb.zip
  23. jjafferr's post in توقف البرنامج اليوم وظهور رسالة من ميكروسوفت مخاطر الامان was marked as the answer   
    للأسف احي احمد ، ما نقدر نعطيك جواب ، لأنه (والحمدلله)  لم تحصل لنا المشكلة فنخبرك عن طريقة الحل ، وإنما نبحث ونقرأ عن الموضوع في الانترنت ، ونخبرك بالنصائح الموجودة ، وعليك التجربة 🙂
     
    في هذه المحاولة ، ادخل مسار الشبكة في الرقم 7 (و اعد تشغيل الكمبيوتر) :

    .
     
  24. jjafferr's post in مشكله في عرض الصور و ملفات pdf was marked as the answer   
    وعليكم السلام 🙂
     
    إذا ما عندك برنامج قراءة pdf على كمبيوترك (مثل Adobe Acrobat Reader او Fox it pdf Reader او ... ) ،
    فالاكسس لن يعرض ملف الـ pdf في النموذج ، وانما يُخرج لك هذه الرسالة !!
     
    تابع هذا الموضوع:
     
    فعندك حلين:
    1. تنصب احد برامج قراءة pdf على كمبيوترك ،
    2. او تفتح ملف pdf باليرنامح الافتراضي والذي قد يكون المتصفح Chrome او Edge.
     
    جعفر
×
×
  • اضف...

Important Information