بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
9,756 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
396
Community Answers
-
jjafferr's post in تعديل في الكود was marked as the answer
جرب هاي :
بدل هذا السطر Set Rst1 = db1.OpenRecordset("temp", dbOpenSnapshot) اكتب هذا السطر Set Rst1 = db1.OpenRecordset("Select * FROM temp ORDER BY stuname", dbOpenSnapshot)
جعفر
-
jjafferr's post in تعديل في الكود was marked as the answer
جرب هاي :
بدل هذا السطر Set Rst1 = db1.OpenRecordset("temp", dbOpenSnapshot) اكتب هذا السطر Set Rst1 = db1.OpenRecordset("Select * FROM temp ORDER BY stuname", dbOpenSnapshot)
جعفر
-
jjafferr's post in تعديل في الكود was marked as the answer
جرب هاي :
بدل هذا السطر Set Rst1 = db1.OpenRecordset("temp", dbOpenSnapshot) اكتب هذا السطر Set Rst1 = db1.OpenRecordset("Select * FROM temp ORDER BY stuname", dbOpenSnapshot)
جعفر
-
jjafferr's post in معيار باسم مستعار فى الاستعلام لقاعدة IF was marked as the answer
ممكن عمل هذا الكود في الاستعلام ، ولكنك وبسبب اللغة العربية في الكود ، فلن تعرف ان تغير شيء لاحقا ،
لهذا السبب ، الافضل عمل وحدة نمطية ، ويمكنك تعديلها بكل بساطة ،
اسميتها qry_values ، ونرسل لها قيمة الحقل من الاستعلام (في المثال السابق ، اسم الحقل كان 2020 ) ، وفي الوحدة النمطية تسمية هذا المتغير هو H :
Public Function qry_values(H As Integer) As String If H = 0 Or Len(H & "") = 0 Then ' Zero and Null qry_values = "لا يوجد" ElseIf H = 7 Then ' any other value qry_values = "تم الانتهاء" Else ' return the original value qry_values = H End If End Function .
ثم نناديها من الاستعلام ، هكذا :
.
والنتيجة :
جعفر
1306.مثال.accdb.zip
-
jjafferr's post in اضافة كلمة لا يوجد فى حقل رقمى was marked as the answer
وعليكم السلام 🙂
تفضل :
R: IIf([2020]=0,"Nothing",[2020]) .
.
والنتيجة :
.
جعفر
-
jjafferr's post in انشاء اختصار للبرنامج على سطح المكتب was marked as the answer
وعليكم السلام 🙂
ما كنت ادري اني عملت هذا المثال 😁
بحثت ونزلت ايقونة هذا الدبدوب
.
ووضعتها في نفس مجلد البرنامج (انا كسلان ، ما اردت ان اغير مسار الايقونه في الكود 🙂 ) :
.
وعليه ، غيّرت السطرين في الكود ، علشان:
اشير الى اسم الايقونه الجديدة ، والاسم اللي اريده يظهر على سطح المكتب
.
وهذا كود الوحدة النمطية بالكامل :
Function Make_Desktop_Shortcut() 'With CreateObject("WScript.Shell") ' With .CreateShortcut(.SpecialFolders("Desktop") & "\Export_to_Excel.lnk") ' .TargetPath = "C:\Stuff\Test.mdb" ' .WindowStyle = 1 ' .Hotkey = "" ' .IconLocation = "C:\Test\Test.ico, 0" ' .Description = "Test Icon Substitution" ' .WorkingDirectory = "C:\Stuff\" ' .Save ' End With 'End With DB_Name = Application.CurrentProject.Name DB_Path = Application.CurrentProject.Path 'icon_Name = "Arc5.ico" icon_Name = "Gingerbread-Bear.ico" icon_Path = Application.CurrentProject.Path icon_Name_Path = icon_Path & "\" & icon_Name With CreateObject("WScript.Shell") 'With .CreateShortcut(.SpecialFolders("Desktop") & "\Export_to_Excel.lnk") With .CreateShortcut(.SpecialFolders("Desktop") & "\دبدوب.lnk") .TargetPath = DB_Path & "\" & DB_Name .WindowStyle = 1 .Hotkey = "" .IconLocation = icon_Name_Path .Description = "Done by jj" .WorkingDirectory = DB_Path & "\" .Save End With End With End Function .
وعلى سطح المكتب تشوف تجاربي :
جعفر
-
jjafferr's post in طريقة وضع الصورة في التقرير was marked as the answer
هناك طريقتين:
1. اذا كانت الاسطر في الصورة متساوية ، ويمكن عمل المربع حول السطر ، وهذا المربع ينزل بعدد معين لكل سطر ، فيمكن تحريكه برمجيا / مثلا :
نضبط المربع على السطر الاول ، ثم ننزله بالاسهم (Arrow keys down) الى ان يحتوي السطر الثاني (مثلا ضغطنا على السهم الاسفل 6 مرات) ، فيجب ان نضغط 6 مرات اخرى حتى نحتوي السطر الثالث ، وهكذا (ولكن وللأسف الاسطر في الصورة غير متساوية ، فلا يمكن استعمال هذه الطريقة ،
2. ان نعمل جدول خاص ، نكتب فيه رقم السطر (المثال على السطر 15) ، ونكتب قيمة TOP المربع ،
نضع التقرير في وضع التصميم ، ثم نحركة بواسطة الاسهم ، ولما يحتوي المربع السطر ، نكتب رقم السطر وقيمة TOP ، وهنا يمكننا استخدام هذه الطريقة :
.
وهذه نتيجة الضغظ على "رقم التسجيل" 4 (للعلم ، جربت اللون الاصفر ولا يبرز ، فاستعملت اللون الاحمر) :
.
ولأن الصورة في قسم Page Header ، فيجب ان نعمل حدث "عند التنسيق" به :
.
و الكود في التقرير يأخذ قيمة TOP رقم التسجيل من الجدول ،
ثم نضرب الرقم (رقمي بالبوصة * 1440 ، بينما لو كان رقمك بالسنتيمتر فيكون * 567 ) :
Private Sub PageHeaderSection_Format(Cancel As Integer, FormatCount As Integer) Dim rpt_Top As Double Dim rpt_Name As String Dim myWhere As String rpt_Top = DLookup("[rTop]", "tbl_rpt_Rows", "rRow=" & rpt_Row) Me.Box5.Top = rpt_Top * 1440 End Sub .
ونكون قد ارسلنا "رقم السجل" من النموذج الفرعي الى المتغير rpt_Row رقم سطر التسجيل :
Private Sub أمر180_Click() 'Call MENUFORMS1991 Dim rpt_Name As String Dim myWhere As String rpt_Row = Me.[رقم التسجيل] rpt_Name = "تقرير1" myWhere = "" DoCmd.OpenReport rpt_Name, acViewPreview, , myWhere End Sub .
جعفر
1298.سجل.accdb.zip
-
jjafferr's post in مشكلة الترقيم بعد توزيع ملف اكسس على الاجهزة على الشبكة was marked as the answer
السلام عليكم 🙂
اعتقد بأني توصلت لحل ، وبعد عدة محاولات على الشبكة ، على كمبيوترين 🙂
1. النموذج ، تم حذف الجدول CustomersT من استعلام النموذج :
.
2. الكومبوبوكس يقوم بإعطاء قيمة اسم الزبون CustomerName ،
3. تم حذف امر حفظ السجلات من الوحدة النمطية ، لأنها لم تكن على سجل النموذج ، فإنها لا تحفظ السجل المطلوب ،
4. تم استعمال هذا الكود لحفظ الترقيم :
Private Sub New_Invoice() On Error GoTo err_New_Invoice Try_Again: If Me.NewRecord Then Me.InvoiceNum = Next_Seq("A") DoCmd.RunCommand acCmdSaveRecord End If Exit_New_Invoice: Exit Sub err_New_Invoice: If Err.Number = 3022 Then Dim PauseTime, Start PauseTime = 0.5 ' Set duration. Start = Timer ' Set start time. Do While Timer < Start + PauseTime DoEvents ' Yield to other processes. Loop Resume Try_Again Else MsgBox Err.Number & vbCrLf & Err.Description End If Resume Exit_New_Invoice End Sub .
ولما البرنامج يلاحظ وجود تكرار في الرقم ، فإنه يذهب الى رقم الخطأ (3022 كما ذكره اخونا حسام) ، وهنا ينتظر 0.5 (نصف ثانية ، ويمكنك تقليلها ، وبالتجربة ستعرف الرقم الاصح ، والافضل ان تتركه كما هو) ، ثم يعاود المحاوله في الحصول على ترقيم جديد غير مكرر (وهذا الكود وضعته في حدثين) ، وتم تجربته عدة مرات واثبت جدارته 🙂
البرنامج بعده طازه وطالع من الشبكة ، فلازم تعمل له ربط للجداول قبل تشغيله ، فهو بدون جداول 🙂
جعفر
1282.1.InvoiceSale_6_FE.accdb.zip
-
jjafferr's post in مناداة المتغير في الاستعلام عن طريق موديول آخر was marked as the answer
وعليكم السلام 🙂
نعم ، جوابك ، هو قصدي مما قلته انا ،
اما TempVars فهو موجود في الاكسس 2007 فما فوق ، وهو جدا مفيد واستعماله جدا سهل ، ولا يحتاج الى موديول لمناداته .
جعفر
-
jjafferr's post in طلب كود تحديد موقع النموذ الفرعي وارتفاعه وعرضه was marked as the answer
الحمدلله 🙂
1. اذا الارقام في اعدادات الكائن فيه cm (ما اعرف بالاكسس العربي شو يكتب!! ) فانت بالسنتيمتر ، واذا فيه " فانتبنظام البوصة ، او انظر الى اعدادات النظام :
.
2. مالك شغل في الجهاز الآخر ، اشتغل على نظام جهازك ، والاكسس تلقائيا يغيره لأي نظام آخر 🙂
هذا نظامي:
.
مثال ، اريد ان اضع التقرير الفرعي هنا :
.
فاستعملت حدث الزر امر3 :
.
والنتيجة :
.
تفضل انت ، افتح المرفق وانقر على الزر واخبرنا النتيجة 🙂
جعفر
1295.mov.accdb.zip
-
jjafferr's post in السلام عليكم ..كيف يمكن فصل الارقام التي بعد / من اليمين في المثال المرفق was marked as the answer
وعليكم السلام 🙂
تفضلي 🙂
.
.
والاستعلام:
SELECT numbers.textnumbers, Mid([textnumbers],1,InStr([textnumbers],"/")-1) AS L, Mid([textnumbers],InStr([textnumbers],"/")+1) AS R FROM numbers;
جعفر
-
jjafferr's post in سؤال يخص التقرير was marked as the answer
وعليكم السلام بشمهندس 🙂
عملت لك برنامج خاص 🙂
جعفر
-
jjafferr's post in عمل عدة تقارير فى صفحة واحدة was marked as the answer
تفضل 🙂
التقرير مبني على اساس الاستعلام qry_Group ، والذي يمكنك وضع المعايير فيه ،
هكذا التقرير قي وضع التصميم :
.
وعلى حسب العرض المتوفر ، نعمل عدد الاعمدة :
.
والنتيجة :
.
جعفر
1290.السجل.accdb.zip
-
jjafferr's post in استعلام تاريخ متتالي was marked as the answer
السلام عليكم 🙂
ومثل ما قال الاخ Kanory ، وببعض التعديل على الكود ليتناسب مع اسماء الحقول 🙂
جعفر
1274.t_fdate.mdb.zip
-
jjafferr's post in استعلام تاريخ متتالي was marked as the answer
السلام عليكم 🙂
ومثل ما قال الاخ Kanory ، وببعض التعديل على الكود ليتناسب مع اسماء الحقول 🙂
جعفر
1274.t_fdate.mdb.zip
-
jjafferr's post in استعلام تاريخ متتالي was marked as the answer
السلام عليكم 🙂
ومثل ما قال الاخ Kanory ، وببعض التعديل على الكود ليتناسب مع اسماء الحقول 🙂
جعفر
1274.t_fdate.mdb.zip
-
jjafferr's post in تكبير النموذج بدون تغطية شريط قائمة إبدأ was marked as the answer
استعمل نماذج عادية بدون لمس هذه الاعدادات ، لأن الازرار التي تظهر في البرنامج هي ازرار البرنامج وليس النماذج ،
-
jjafferr's post in ماهو بديل الأمر Refresh was marked as the answer
السلام عليكم 🙂
تفضل 🙂
.
واستعمل الاستعلام qry_Group_Shifts_by_Dates كمصدر بيانات ، وتقدر تعمل به التقرير او النموذج الذي تشاء.
جعفر
1281.4.FRm_Refresh.accdb.zip
-
jjafferr's post in مساعدة فى تطبيق DCOUNT داخل استعلام was marked as the answer
السلام عليكم 🙂
اولا خليني ادافع عن نفسي واخبرك سبب التأخير 🙂
الجدول الاول مستحيل تكون نتائجة مثل ما هو موضح في الجدول الثاني ، لأن الفرع ليس نفسه في كل السجلات ، بينما الجمع في الجدول الثاني كان على اعتبار ان جميع الفروع هي نفسها (شوف اسم الفروع اللي عليها السهم ، فهي مختلفة) 🙂
وهذا اخذ مني بقية الشعر اللي على راسي ، من كثر ما حكيت رأسي بالمعادلات والنتائج الخطأ 😁
.
والان الى الحل:
1. عملت استعلام مجاميع لكل مجموعة ،المجموعة الاولى للتاريخ ، والثانية للشهر ، بينما الاستعلام الثالث هو لحقول الجدول :
.
والنتيجة
.
وعملنا استعلام اخير لجمع هذه الاستعلامات الثلاث:
.
والنتيجة
.
جعفر
1285.DCOUNT.mdb.zip
-
jjafferr's post in مساعدة فى تطبيق DCOUNT داخل استعلام was marked as the answer
السلام عليكم 🙂
اولا خليني ادافع عن نفسي واخبرك سبب التأخير 🙂
الجدول الاول مستحيل تكون نتائجة مثل ما هو موضح في الجدول الثاني ، لأن الفرع ليس نفسه في كل السجلات ، بينما الجمع في الجدول الثاني كان على اعتبار ان جميع الفروع هي نفسها (شوف اسم الفروع اللي عليها السهم ، فهي مختلفة) 🙂
وهذا اخذ مني بقية الشعر اللي على راسي ، من كثر ما حكيت رأسي بالمعادلات والنتائج الخطأ 😁
.
والان الى الحل:
1. عملت استعلام مجاميع لكل مجموعة ،المجموعة الاولى للتاريخ ، والثانية للشهر ، بينما الاستعلام الثالث هو لحقول الجدول :
.
والنتيجة
.
وعملنا استعلام اخير لجمع هذه الاستعلامات الثلاث:
.
والنتيجة
.
جعفر
1285.DCOUNT.mdb.zip
-
jjafferr's post in مساعدة فى تطبيق DCOUNT داخل استعلام was marked as the answer
السلام عليكم 🙂
اولا خليني ادافع عن نفسي واخبرك سبب التأخير 🙂
الجدول الاول مستحيل تكون نتائجة مثل ما هو موضح في الجدول الثاني ، لأن الفرع ليس نفسه في كل السجلات ، بينما الجمع في الجدول الثاني كان على اعتبار ان جميع الفروع هي نفسها (شوف اسم الفروع اللي عليها السهم ، فهي مختلفة) 🙂
وهذا اخذ مني بقية الشعر اللي على راسي ، من كثر ما حكيت رأسي بالمعادلات والنتائج الخطأ 😁
.
والان الى الحل:
1. عملت استعلام مجاميع لكل مجموعة ،المجموعة الاولى للتاريخ ، والثانية للشهر ، بينما الاستعلام الثالث هو لحقول الجدول :
.
والنتيجة
.
وعملنا استعلام اخير لجمع هذه الاستعلامات الثلاث:
.
والنتيجة
.
جعفر
1285.DCOUNT.mdb.zip
-
jjafferr's post in التعديل على كود مسار حفظ ملف بصيغة PDF الى سطح المكتب was marked as the answer
السلام عليكم 🙂
قمت بدمج دالة اخوي ابوخليل الى برنامجك 🙂
Private Sub Command44_Click() Dim reportName As String Dim fileName As String Dim criteria As String reportName = "r_buy" fileName = GetDesktop & "\" & "r_buy" & ".pdf" criteria = "masterid='" & masterid & "'" DoCmd.OpenReport reportName, acViewPreview, , criteria, acHidden DoCmd.OutputTo acOutputReport, reportName, acFormatPDF, fileName DoCmd.Close acReport, reportName, acSaveNo End Sub Function GetDesktop() As String Dim oWSHShell As Object Set oWSHShell = CreateObject("WScript.Shell") GetDesktop = oWSHShell.SpecialFolders("Desktop") Set oWSHShell = Nothing End Function .
جعفر
-
jjafferr's post in طلب طباعة على صفحة A4 was marked as the answer
وعليكم السلام 🙂
نعم ممكن ، ولكن ليس الطباعة من الاكسس ، ولكن بتصدير البيانات الى ملف pdf او اكسل ،
وهناك تستطيع ان تطبع على صفحة واحدة 🙂
جعفر
-
jjafferr's post in مطلوب كود فى قاعدة IF was marked as the answer
تفضل 🙂
1. اضفنا الزر ، وحقل آخر ، يأخذ استعلام الالحاقي بأخذ قيمته (اقرأ ملاحظات تفاصيل الكود ) :
.
2. هذا كود الحدث على الزر :
Private Sub cmd_Append_Click() 'نأخذ اكبر قيمة من الجدول B Me.Which_Invoice_no = DMax("[Invoice_no]", "A") 'نعمل مقارنة بين القيمتين ، ونأخذ الاكبر If Me.Invoice_no > Me.Which_Invoice_no Then Me.Which_Invoice_no = Me.Invoice_no End If DoCmd.SetWarnings False 'نضيف هذه القيمة والتاريخ الى الجدول A DoCmd.OpenQuery "qry_Append_to_tbl_A" 'نحذف هذا السجل من الجدول B DoCmd.OpenQuery "qry_Delete_from_tbl_B" DoCmd.SetWarnings True Me.Requery End Sub .
3. هذا استعلام الالحاقي الى الجدول A
.
4. وهذا استعلام الحذف من الجدول B
.
ولكن اذا تأخذ رأيي ، فلا داعي لوجود جدولين ، واستعلام الحاقي وآخر حذف ، وكود وووو ،
فقط استعمل جدول واحد ، مثلا الجدول A ، واضف اليه حقل جديد بإسم "هل تم التدقيق" ، نوع نعم/لا ،
بحيث المدقق يعمل اشارة صح على السجل ، بأنه تم تدقيقه ، وبهذه البساطة 🙂
جعفر
1283.New Microsoft Access.accdb.zip