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

ابوخليل

أوفيسنا
  • Posts

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

  • Days Won

    235

كل منشورات العضو ابوخليل

  1. جزاكم الله خيرا احبتي طرحت المسألة لعل هناك حلا سهلا بعيدا عن انشاء جدول وسيط .. وهو آخر ما توصلت اليه وتفاجأت بهذا الموضوع .. نفس ما كنت افكر به .. لذا اعتبر نفسي مخالفا لقواعد المشاركة .. ومنها اجراء البحث قبل طرح السؤال 😶 آخر العلاج الكي 🙈 تصدق اني ابتعد كثيرا عن الاستعلامات واستخدمها كمصادر فرعية في النماذج والتقارير .. ومن باب اولى الجداول الاسعافية هذا هو الظاهر لنا ولكل من حاول حتى استخدام الاستعلام الفرعي داخل جملة التحديث لم يعط نتيجة لذا عدلت عن الفكرة واستبدلتها بالتحديث المباشر من النموذج .. حسب السجل الظاهر اكرر شكري وامتناني لكم احبتي
  2. السلام عليكم في المرفق جدولان واستعلامان افتح استعلام التحديث على التصميم وستعرف المطلوب اريد تحديث حقل في جدول بناء على قيمة في استعلام تجميعي حاولت ولكني لم انجح .. منطقيا يجب ان يعمل لأني استخدم الاستعلام التجميعي كدليل فقط Database1.rar
  3. السلام عليكم مشاركة مع اخي خليفة كود لتكرار السجل في الجدول نفسه في المثال : فقط انقر نقرا مزدوجا على حقل الاسم الذي تريد تكراره DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdCopy DoCmd.RunCommand acCmdRecordsGoToNew DoCmd.RunCommand acCmdSelectRecord DoCmd.RunCommand acCmdPaste Test2.rar
  4. ههههه الله يكون بعون الجميع يمكن للمكتبات دور عندك جرب هذا .. اضفت مكتبة رئيسية علما انه يعمل عندي بدونها Data3.rar
  5. انا شغال عندي اول مثال للاستاذ قاسم يحتاج فقط ضغط زر التحديث فانا الغيت الزر جرب كذا Data2.rar
  6. تمت التجربة .. ظهر المجلد والملف داخله
  7. رائع وجميل .. وفكرة متعوب عليها سؤال : عن الدائرة في مربع التسمية هل تم تصميمه خارج اكسس ؟
  8. حاشاك استاذنا المسألة كلها تعليم لطريقة تخصيص المداخل وملاحظتك وهذه المعلومة جميلة ومفيدة جدا ولكنها سوف تضيع في خضم آلاف المواضيع في هذا المنتدى فلو كتبت لنا تكرما منك وتفضلا موضوعا خاصا يحمل عنوانا يتم الاهتداء اليه بسهولة .. حول الحماية وكلمات المرور
  9. انظر الفرق والتغيير بين الكودين الكود الأول يزيل كلمة New folder المثبتة ضمن الكود وعدد الأحرف = 12 الثاني : لا يوجد كلمة محددة .. فقط يكتفى بعدد الحروف التي = 6
  10. هذا يحقق طلبك فقط احذف الجملة الظاهرة المراد ازالتها .. وغير في العدد مع زيادة حرف بمعنى تريد حذف 5 اجعل الرقم = 6 هكذا يصبح الكود Private Sub cmd1_Click() RenameSubFolders (CurrentProject.Path & "\New folder") End Sub Sub RenameSubFolders(ByVal MainFolder As String) Dim sSubFolder As String sSubFolder = Dir(MainFolder & "\?*", vbDirectory) Do While sSubFolder <> "" If GetAttr(MainFolder & "\" & sSubFolder) = vbDirectory Then Name MainFolder & "\" & sSubFolder As MainFolder & "\" & Mid$(sSubFolder, 6) End If sSubFolder = Dir() Loop End Sub
  11. اخي الكريم يجب التقيد بقواعد المشاركة ومنها : فضلا افتح موضوعا وعنوانا جديدا بطلبك
  12. من الجماليات في البرامج .. توحيد الشكل العام من حيث الألوان .. بحيث تكون بلون واحد .. سواء كانت الخلفيات او التسميات او الازار اماكن الأزار .. والعناوين تكون متشابهة تماما . المصمم المحترف لا يتعب كثيرا .. فقط يتعب على النموذج الأول وبقية النماذج تكون نسخة طبق الأصل منه
  13. نعم بنفس الطريقة تعمل نموذج لعرض البيانات فقط اعمل نسخة طبق الأصل من نموذج الماستر ونموذجه الفرعي .. واجعل خصائص النموذج الفرعي عرض بيانات بدلا من ادخال بيانات
  14. تفضل هكذا سيصبح مشروعك رقم الوظيفة للمستخدم محمد = 123 رقم الوظيفة للمستخدم صلاح = 456 inv4.rar
  15. طيب سوف اعالج طلبك ولكن فضلا لا ترفع مرفقات .. لأن ما اعمل عليه سيختلف
  16. تفضل تم التعديل لم انتبه بسبب ان المعرف تم اخفاؤه inv3.rar
  17. مشاركة مع اخي فادي ضع المرفق بجانب المجلد ونفذ ملحوظة مهمة : خذ نسخة من مجلدك قبل التنفيذ Private Sub cmd1_Click() RenameSubFolders (CurrentProject.Path & "\New folder") End Sub Sub RenameSubFolders(ByVal MainFolder As String) Dim sSubFolder As String sSubFolder = Dir(MainFolder & "\New folder?*", vbDirectory) Do While sSubFolder <> "" If GetAttr(MainFolder & "\" & sSubFolder) = vbDirectory Then Name MainFolder & "\" & sSubFolder As MainFolder & "\" & Mid$(sSubFolder, 12) End If sSubFolder = Dir() Loop End Sub changeSomeFolderName.rar
  18. السلام عليكم من اجل تجد المساعدة السريعة اعمل دوما على اني يحتوي المرفق فقط على الكائنات الضرورية فقط حتى لا تشتت فكر من يتصدى للاجابة تم التعديل حسب فهمي لطلبك مع ملاحظة التالي : في اي مشروع يكون هناك واجهات خاصة بادخال البيانات فقط .. ولا يسمح من خلالها بعرض البيانات وهذا ما عملته معك الآن في المرفق ادناه العرض والتعديل والبحث يكون في مكان آخر تفضل جرب وادخل بيانات ووافنا بنتيجة التجربة inv2.rar
  19. هذا الموضوع اعتبره فريد من نوعه وخاصة بتفاصيله لو بحث احد عن مثله لن يجد بغيته الا هنا في هذا المنتدى وهذا الموضوع بالذات تنوع الأفكار وتنوع الحلول مطلب برمجي بارك الله في الجميع
  20. ما شاء الله لا قوة الا بالله .. اخي فادي ولا اجمل .. سلمت أناملك سبحان الذي منحك الصبر والتمكن.. على هذا العمل الرائع والدقيق الحقيقة هذه الجمل البرمجية الجميلة تدرس وتحفظ كمرجع مهم للغاية لذا تم السطو على كم سطر منها .. فأعتذر .. زادك الله علما انا كنت اعمل على طلب الأخ سلمان وقت طلب مني ذلك ولكني توقفت لمشكلات ظهرت امامي وقد تمت معالجتها بفضل الله الفكرة التي يجب ان يكون تصميم الجداول قائم عليه كالتالي : 1- وجود حقل غير قابل للتكرار في جميع الجداول خاصة الجدول الفرعي الخارجي 2- خصائص العلاقة بين الجدول الرئيس والفرعي ( في القاعدة الحالية لاباس من توالي التحديث والحذف وهو جيد لاختصار عملية الحذف .. اما في القاعدة الخارجية فممنوع ويكفي التكامل فقط) 3- اضافة حقل نعم لا من اجل تأكيد التصدير وايضا الحذف 4- عمل تصفية بين تاريخين لحصر السجلات المراد اجراء العمليات عليها 5- لا يلزم الانتظار لشهر او غيره في عملية الحذف وانما تتم مباشرة بعد الترحيل تم العمل على النحو التالي وهي وجهة نظر تخصني وتحقيقا لما تفضل السائل بتأكيده : ((( وكما ذكرت ان هذه الفواتير خاصه بالزكاة والدخل ولاتحتمل الخطاء ))) لذا : لا يسمح باختيار قاعدة الببانات الخارجية من قبل المستخدم وانما توضع بجانب قاعدة البيانات الاساسية تم الضبط ولا خوف من اي خطأ مقصود او غير مقصود هذا للترحيل والحذف : Dim strPath As String strPath = CurrentProject.Path & "\Zakat2.accdb" DoCmd.SetWarnings False DoCmd.RunSQL "INSERT INTO [;DATABASE=" & strPath & "].TBInvoiceMain2 " & _ "SELECT TBInvoiceMain.* FROM TBInvoiceMain " & _ "WHERE TBInvoiceMain.chekForDel=True" DoCmd.RunSQL "INSERT INTO [;DATABASE=" & strPath & "].TBInvoiceSub2 " & _ "SELECT TBInvoiceSub.* FROM TBInvoiceMain " & _ "INNER JOIN TBInvoiceSub ON TBInvoiceMain.ID = TBInvoiceSub.ID " & _ "WHERE TBInvoiceMain.chekForDel=True" DoCmd.RunSQL "DELETE TBInvoiceMain.*, TBInvoiceMain.chekForDel FROM TBInvoiceMain " & _ "WHERE TBInvoiceMain.chekForDel=True" DoCmd.SetWarnings True وهذا للاسترجاع : lngInvoiceNumber = CLng(Trim(Me.Text1)) DoCmd.SetWarnings False DoCmd.RunSQL "INSERT INTO TBInvoiceMain " & _ "SELECT * FROM [;DATABASE=" & strPath & "].TBInvoiceMain2 " & _ "WHERE InvoiceNumber = " & lngInvoiceNumber DoCmd.RunSQL "INSERT INTO TBInvoiceSub " & _ "SELECT * FROM [;DATABASE=" & strPath & "].TBInvoiceSub2 " & _ "WHERE InvoiceNumber = " & lngInvoiceNumber DoCmd.SetWarnings True MsgBox "تم الاسترجاع", , "" Zakat.rar
  21. كل ترحيل عبارة عن مجموعة من السجلات .. يتم لاحقا حذفها جملة بزر بامر واحد .. راجع مشاركتي السابقة جيدا من اجل هذا كتبت رؤيتي حول العملية .. حول نقطتين او اجرائين في فكرتك الأصلية : 1- المقارنة بين السجلات في قاعدتين متباعدتين 1- الحذف الآلي
  22. المفهوم لشرحك انك تريد التالي : المستخدم سامي .. يحق له البحث في سجلاته التي ادخلها وسجلها هو .. سواء محمية او مفتوحة + سجلات زملائه المفتوحة فقط ومثله احمد وجميع المستخدمين اذا صح انت بحاجة ايضا الى يوزر مدير يبحث في الكل .. لأن هذا شيء منطقي
  23. قصدي انها لا يتم حذفها مباشرة .. وهذا الذي ذكرته انت ان يتم حذفها بعد شهر الحذف الآلي لا انصح به ما المانع ان يكون هناك زر للحذف وحقل يبين عدد السجلات وتاريخ ترحيلها .. بل حقول .. لنفترض ان الترحيل يتم كل 10 ايام .. يتم عرض نموذج مستمر كل سجل امامه زر للحذف وفي السجل حقلين واحد بعدد السجلات والآخر تاريخ الترحيل .
  24. شكرا اخي موسى .. الملف رائع وجميل .. وأجر نقلك على الله واعتب على اخونا السائل في تجهيزه لمثال سيء في التسميات رغم انه من الاعضاء المتميزين وغالبا امثلته رصينة بالنسبة لادخال المعايير هذه محاولة مني UsingTransactionNoClass_2.rar
  25. عليكم السلام .. اهلا ابا حاتم رأيي ان تستغني عن عملية البحث هذه .. لتجنب بعض المحاذير التي قد تحدث والطريقة الآمنة ان تعمل استعلام في البرنامج الأول يظهر السجلات التي مضى عليها اكثر من شهر .. لكي تلحقها بالقاعدة الثانية . ثم تحذفها اما عملية الحذف فهي ايضا خطيرة لأننا نضع في اعتبارنا جميع الاحتمالات ( قد لا تصل السجلات الى القاعدة الثانية لأسباب عدة يعرفها غالب المبرمجين ) فأرى ان تكون عملية الحذف وهمية لفترة محددة ( من اجل زيادة الأمان) وتتم لاحقا على فترات الحذف الوهمي هي اضافة حقل نعم/لا للتحكم في ظهور السجلات من عدمه
×
×
  • اضف...

Important Information