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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    408

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

  1. وعليكم السلام 🙂 مثلا اسم العميل هو A_Name ، و حقل رقم التسلسل هو A_No ، في الجدول tbl_A Next_Number = Nz(Dmax("A_No","tbl_A","A_Name='" & me.A_Name & "'")+1 ,1) فيصبح الكود: جعفر
  2. هذا الموضوع يتكلم عنها : جعفر
  3. السلام عليكم 🙂 زرت المشاركة البارحة ، وفتحت البرنامج عدة مرات ، وآخرها كان اليوم 🙂 التصميم رائع ، ويخبرنا ان الاكسس ليس السبب في قصور جمال نماذجنا وتقاريرنا ، وانما هو خيالنا 🙂 لم ادخل بيانات في البرنامج لمعرفة تفاصيل عمله ، ولكن لدي المبلحظات التاليه على الجداول: يجب عمل حقل تاريخ تلقائي ، وقيمته الافتراضية Now ، بحيث عند عمل اي سجل ، يتم تسجيل وقت عمل هذا السجل ، وستحتاج الى هذه الحقل عند الانتقال الى SQL Server ، الجدول tbl_Login ، بدل ان يكون افقي ، وتضطر الى اضافة حقل جديد ، إجعله عمودي ، بحيث تقدر تضيف اسماء النماذج كسجلات ، ويمكنك استعمال استعلام Crosstab لفرزه ، جميل استخدامك الحقل Deleted ، فانت تحفظ اي سجل تم كتابته ولا تحذف اي سجل تم كتابته 🙂 جميع الحقول اللي فيها معيار (سواء في الاستعلام او الكود) ، واللي فيها علاقة مع جدول آخر ، يجب ان يكون فيها فهرسة ، لسرعة عمل البرنامج ، طبعا تعديل المكتبات لكي تعمل على النواتين 32بت و 64بت ، لا تعبئ الشاشة كاملة ، فيجب ان يظل الجزء السفلي من الشاشة ، للوندوز ، سواء لفتح برامج اخرى او اي سبب آخر ، او يكون عندك زر لهذا الخيار 🙂 وأسأل الله سبحانه وتعالى ان يوفقك 🙂 جعفر
  4. نعم ممكن ، وبهذه الصورة : جعفر AniGIF.zip
  5. هذا الكود لا يوجد به متغيرات 😁 وهذا الكود لفتح الاستعلام في وضع التصميم ، وكود تشغيل الاستعلام يكون: DoCmd.OpenQuery "Sale" جعفر
  6. لا ، فقط الملفات بصيغة bmp 🙂 ويمكنك تحويل اي من ملفات الصور الى صيغة bmp ، سواء عن طريق برامج الصور او مواقع الانترنت 🙂 جعفر
  7. جمل تعريف المتغيرات Dim او Private او Public او Global او Static تحفظ جزء من الذاكرة لهذا المتغير ، وهي تخبر البرنامج عن نوع المتغير (نص او رقم او تاريخ او .. ) ، ولكن الافضل ان تستعمل Dim بـ : Option Compare Database Option Explicit dim int_B as integer Private Sub cmd_frm_m1_Click() Dim str_A as string بهذه الطريقة ، الاكسس يساعدك ويخبرك عن مكان الخطأ في المتغير ، قبل بدء تشغيل البرنامج ، اذا استعملت ويكون البرنامج اسرع في العمل 🙂 جعفر
  8. وكما قال اخوي ابوخليل ، الموضوع يخص ماكرو الامان ، وهنا تفصيل للموضوع: جعفر
  9. التجربة لن تكلفك ، إلا تنزيل الملف ذو 1x1 بكسل ، ثم اعطائه نفس اسم قاعدة البيانات ، ثم تشغيل البرنامج وملاحظة وجود صورة الاكسس من عدمها 🙂 جعفر
  10. شكرا جزيلا يا باشا 🙂 جعفر
  11. وعليكم السلام 🙂 حسب علمي كمبرمج (والمحاسب سيعطي اجابة ادق🙂) ، يكون فيه جدول لقيمة المواد ، وكلما جبت بضاعة جديدة ، يتم اضافتها لهذا الجدول ، وقت البيع ، وهنا تختلف طرق الحساب: 1. تقدر تأخذ آخر قيمة للمادة ، دائما ، وتستعملها في كسعر المادة للبيع ، 2. تقدر تأخذ معدل قيمة المادة ، وهذه القيمة لها علاقة بكمية المادة التي بيعها بالفعل ، والكمية الجديدة ، وهنا قد تأخذ معدل القيمة من جدول القيم فقط ، او تأخذ المعدل بإستخدام المواد ايضا 🙂 ولكن في جميع الاحوال ، القيم القديمة تظل كما هي ، وبدون عمل اي تغيير عليها 🙂 جعفر
  12. وعليكم السلام اخوي حسين 🙂 شكرا جزيلا على هذه الطريقة 🙂 هناك طريقة اخرى سهلة وقد تكون اكثر فائدة: على افتراض ان اسم البرنامج myDB.mdb : 1. عمل صورة بحجم 1x1 بكسل (مرفق نسخة) ، وتسميتها بنفس اسم البرنامج ولكن بصيغة bmp هكذا : myDB.bmp ، ووضعها في نفس مجلد الملف myDB.mdb ، بهذه الطريقة لن تشاهد اي شيء الى ان يفتح البرنامج (إلا اذا كنت شديد الملاحظة ورأيت الصورة بهذا الحجم 🙂 ) . 2. عمل صورة فيها اسم الشركة وشعارها وارقامها ، واسم البرنامج ، بالحجم المناسب ، وتسميتها بنفس اسم البرنامج ولكن بصيغة bmp هكذا : myDB.bmp ، ووضعها في نفس مجلد الملف myDB.mdb ، بهذه الطريقة يفتح البرنامج بهذه الصورة (ويفرح المدير 🙂) بدلا عن شاشة الاكسس Splash screen 🙂 . جعفر 1x1_For_Hiding_Splash_Screen.bmp
  13. ياريت تخبرنا وين كانت المشكلة 🙂 جعفر
  14. الطريقة الصحيحة في قاعدة البيانات ان: تضيف حقل للسنة ، ولنسميه iYear ، عادة يكون هناك نموذج رئيسي دائما مفتوح ولنسميه frm_Main مثلا ، قم بعمل مربع تحرير Combobox للسنوات الموجودة في حقل السنه ، وعند فتح النموذج ، اجعل القيمة التلقائية التي يأخذها هذا المربع : me.iYear.value= year(Date) . وتكون نماذجك مصدر بياناتها استعلامات ، وفي الاستعلام في حقل السنه ، اجعل المعيار: Forms!frm_Main!iYear . بهذه الطريقة يمكنك الاحتفاظ ببيانات جميع السنوات السابقة ، ولن يحصل اي خلط بين بيانات السنين 🙂 كيف عرفت انا هذه الطريقة ؟ لأني طبقتها على برامج المخازن والمحاسبة للعديد والعديد من المؤسسات ، والطريقة ناجحة وبإمتياز 🙂 جعفر
  15. شكرا جزيلا اخوي ابوالحسن 🙂 جعفر
  16. رجاء تعطينا فكرة عن العملية ، فانا ما فهمت 😞 جعفر
  17. بل طبقته على تقرير ، لاحظ اسم التقرير : . . كلما في الامر اني حفظت النموذج بضيغة تقرير ، فانا وضحت لك في مشاركتي السابقة ، واليك توضيح آخر: الاكسس فيه خاصية تحويل كائن النموذج الى كائن تقرير ، يعني اذا كان عندك نموذج ، واردت ان تعمل تقرير شبيه له ، فيمكنك تحويل النموذج الى تقرير ، والتعديل عليه وحذف الكود والازرار التي به ، هكذ : . اذا وضعت مؤشر الفأرة على كلمة acOutputReport في الكود ، ثم ضغطت على زر F1 ، فسترى البدائل الاخرى التي يمكنك تصديرها ، فقط تأكد بمطابقة نوع الكائن الذي تريد تصديره (مثلا acOutputForm) ، بوضع اسمه الصحيح (fform) : . جعفر
  18. وعليكم السلام اخي احمد 🙂 شكرا لك على جميل كلماتك ، وان شاء الله يتقبل الله منا هذا القليل 🙂 جعفر
  19. الكود صح 100% حسب شرحك 🙂 ما عدا المسافة الزائدة هنا : . 1. رجاء عرض رسالة الخطأ والسطر الذي به الخطأ ، 2. التأكد من نوع الحقول في الجدول ، 3. الحقلين : Forms!Fatora_be!Fat_num و Forms!Fatora_be!Kind_haraka يجب ان يكونوا : أ. اسماء الحقول في النموذج وليس ب. مصدر الحقول . جعفر
  20. وعليكم السلام 🙂 تفضل : بدل هذا السطر '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 جعفر
  21. وعليكم السلام 🙂 حسب معرفتي ، لا يمكن ، ولكن تستطيع استعمال تقرير في وضع المعاينه ، واذا اردت عمل تغيير ، فانقر على الحقل مرتين مثلا ، فإجعل نموذج آخر يفتح على الحقل الذي انت عليه ، لكي تقوم بتعديل بياناته 🙂 جعفر
  22. وكذلك اجابة السؤال الأول 🙂 وبدون عمل تغيير على اعدادات الحقل ، لما تريد تنزل للسطر التالي في الحقل ، امسك زر المفاتيح Ctrl ثم اضغط على الزر Enter 🙂 جعفر
  23. اخي الفاضل ، المعادلة التي وضعتها لك هي نفس طلبك هذا ، وخليني اشرحها لك: 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 جعفر
×
×
  • اضف...

Important Information