اذهب الي المحتوي
أوفيسنا

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    406

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

  1. كان عندك بعض الدوال موجودة اكثر من مكان ، فهذا كان يسبب الخطأ ، حذفت كل شيء زائد من برنامجك 🙂 جعفر db8.zip
  2. ابحث في برنامجك اللي كنا نشتغل عليه ، عن دالة بإسم MakeFolder ، موجودة في وحدة نمطية مستقلة ، انسخ الدالة الى برنامجك 🙂 جعفر
  3. وعليكم السلام 🙂 عملت حقل اختيار صح/خطأ ، تسميته "اختيار الكل" ، فلما تختاره ، يختار القائمة كاملة ، ولما تشيل الاختيار عنه ، يلغي اختيار القائمة ، وهذا الكود يعمل اللازم : Private Sub chk_Select_All_AfterUpdate() Dim i As Integer If Me.chk_Select_All = -1 Then 'Selete All For i = 0 To Me.lst_invoices.ListCount - 1 Me.lst_invoices.Selected(i) = True Next i Else 'DeSelete All For i = 0 To Me.lst_invoices.ListCount - 1 Me.lst_invoices.Selected(i) = False Next i End If End Sub . وشفت عندك استعلام ما تريده يعرض عدد كبير من المعلومات ، فعملت لك جدول خاص بالمعلومات اللي ما نريدها ، واضفت لك اسم/رقم المجموعة iGroup حتى تقدر تضيف معلومات لإستعلامات اخرى . فأصبح الاستعلام . جعفر 1513.2.Not in final.accdb.zip
  4. هذا صحيح ، ولكن الاهم من هذا هو ، انك تسمح للمستخدم ان يغير الخطأ في اسم العميل (مثلا، او يعطيه اسم آخر) ، وتظل/تبقى جميع بيانات ارقام العميل في بقية الجداول كما هي ، ولا تحتاج انك تروح لجميع الجداول وتعمل تحديث من اسم العميل القديم الى اسم العميل الجديد : . جعفر
  5. في الواقع المبرمج يحتاج الى عمل نسخ احتياطية في كل مرحلة من عمله ، الرابط التالي فيه برنامج صرت ما استغني عنه في مراحل عملي لبرنامج ، يحتفظ بنسختي الحالية (نسخة واحدة فقط) ، ويقوم بتنظيف برنامجي من البيانات المحذوفة بعمل ضغط واصلاح Compact and Repair ، وتنظيف الكود بعمل Decompile/Compile ، ويخبرني اذا عندي مشاكل في الكود ، ثم يقوم بعمل نسخ احتياط ويعطيها تسلسل : . اما الزبون ، فتعطيه نسخة احتياطية ، اذا صارت له مشكلة ، يقوم بأخذ نسخة منها ، واستعمالها. جعفر
  6. السلام عليكم 🙂 تفضل : لما تنقر على رقم 1 ، يفتح لك النموذج الآخر ، تنقر على السجلات اللي تريد الحاقها (نقرة اخرى على السجلات لعدم اختياره) ، ثم النقر على الزر 3 ، ليعمل الحاق السجلات ، ويخرج من النموذج . هذا كود النموذج : Option Compare Database Option Explicit Private Sub cmd_close_Click() DoCmd.close acForm, Me.Name, acSaveNo End Sub Private Sub cmd_Select_Click() On Error GoTo err_cmd_Select_Click Dim items As Variant Dim myIN As String myIN = Empty For Each items In Me.lst_invoices.ItemsSelected myIN = myIN & "," & Me.lst_invoices.Column(0, items) Next items 'Debug.Print Mid(myIN, 2) If Len(myIN & "") = 0 Then MsgBox "رجاء اختيار رقم الفاتورة من القائمة" Exit Sub End If Dim qdf As DAO.QueryDef Dim Replace_With As String, sqlString As String, Query_Name As String Dim pos_1 As Integer, pos_2 As Integer Query_Name = "append query customer account sub dollar ListBox" Set qdf = CurrentDb.QueryDefs(Query_Name) pos_1 = InStr(qdf.SQL, "In (") - 1 pos_2 = InStr(pos_1, qdf.SQL, ")") Replace_With = "In (" & Mid(myIN, 2) & ")" sqlString = Mid(qdf.SQL, 1, pos_1) & _ Replace_With & _ Mid(qdf.SQL, pos_2 + 1) 'Debug.Print sqlString qdf.SQL = sqlString DoCmd.SetWarnings False DoCmd.OpenQuery Query_Name DoCmd.SetWarnings True Exit_cmd_Select_Click: Call cmd_close_Click Exit Sub err_cmd_Select_Click: If Err.Number = 1 Then Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_cmd_Select_Click End If End Sub . مع الاعتذار ، اني عملته بالنسخة الموجودة في آخر مشاركة ، ومو نسختك الاخيرة 🙂 جعفر 1513.1.Not in.accdb.zip
  7. . اذا فتحت اي من برامج الاكسس عن طريق احد برامج Hex (مثل: http://www.mh-nexus.de) سترى ان هناك معلومات في الملف ، ولكن لما تفتح برنامجك ، فلا يوجد به اي معلومات ، وهذا معناه انه لايوجد شيء في الملف يمكن استرجاعه ، مثل ما قلت لك ، لا تضيع وقت زيادة في محاولة استرجاع الملف ، وانما ضع جهدك في الرجوع الى النسخة السابقة الاحتياطية Backup وواصل الطريق من هناك. جعفر
  8. بس بشرط ، ان يتم هذا تلقائيا عن طريق دالة في وحدة نمطية ، مثل هاي المشاركة مثلا . يا الله ، قول بسم الله الرحمن الرخيم ، وخلي هذا المشروع على فائمتك ، وان شاء الله البرنامج يشوف النور قريبا 🙂 ايه ، بس لولا اقتراحك ، لو ما كنت انا في عالم افكاره اصلا 🙂 واليد الواحدة ما تصفق 🙂 جعفر
  9. رجاء مناقشة هذا الموضوع في الموضوع الآخر جعفر
  10. تم مناقشة هذا الخطأ في مجموعة مواضيع: . ولقد استخدمت احد برامج الاصلاح ، . ولم يستطع البرنامج حتى استرجاع الجداول ، فبرنامجك معطوب ، وارجع الى النسخ السابقة وواصل طريقك من هناك !! جعفر
  11. السلام عليكم 🙂 يا ريت نستفيد من حل ما وراء الستار 🙂 جعفر
  12. وعليكم السلام اخوي سلمان 🙂 تم جمع جميع مواضيع باركود QR هيئة الزكاة في هذا الرابط . جعفر
  13. وعليكم السلام 🙂 اولا ، الحمدلله انك قدرت تعمل تصدير لبيانات الاستعلام 🙂 ثانيا ، اليك طريقتي: هذا هو الاستعلام qry_Export_Text . استعمل هذا الكود لتصدير الاستعلام الى ملف نص ، ولا تغير شيء في الكود سوى المتغيرين: Query_Table_Name و File_Path Dim Temp As String, File_Path As String, Query_Table_Name As String Query_Table_Name = "qry_Export_text" File_Path = "D:\me.txt" DoCmd.TransferText acExportDelim, , Query_Table_Name, File_Path, False, , 65001 Open File_Path For Input As #1 Temp = Input(LOF(1), #1) Close #1 Temp = Replace(Temp, Chr(34), "") Open File_Path For Output As #1 Print #1, Temp Close #1 . وشرح الكود: تصدير نص ، اسم الجدول/الاستعلام ، اسم ومسار الملف التصدير ، لا تعرض اسماء الحقول ، 65001 معناه ان البيانات قد يكون بها حروف عربية Unicode لهذا فصيغة الحفظ يجب ان تراعي هذا DoCmd.TransferText acExportDelim, , Query_Table_Name, File_Path, False, , 65001 . لما عملت التصدير ، هكذا كان الملف : "02-May-22,1,74.29,0,,,,abu gehad,02-May-22,1,74.29,0,,,,abu gehad" "19-May-22,4,701.75,0,,,,sd investment,19-May-22,4,701.75,0,,,,sd investment" "19-May-22,10,32850,0,,,,sd investment,19-May-22,10,32850,0,,,,sd investment" . ولكني لا اريد علامة " في بداية ونهاية الاسطر ، وللعلم ، بلغة الكمبيوتر ، العلامة " = Chr(34) فقمت بقراءة ملف النص جملة/دفعة واحدة (لم اقرأ الملف سطر بسطر) ، وحفظه في المتغير Temp : Open File_Path For Input As #1 Temp = Input(LOF(1), #1) Close #1 . عملت امر بإستبدال العلامة " الى لا شيء ، وكما قلت اعلاه : بلغة الكمبيوتر ، العلامة " = Chr(34) فاصبح المتغير Temp يحتوي على نص الملف بدون العلامة " تحذير: اذا كان الملف يحتوي على علامة " في وسط الكلمات ، فيجب معالجة ملف النص بقراءته سطر بسطر ، ثم حذف اول وآخر " فيه ، ثم تجميع الاسطر. Temp = Replace(Temp, Chr(34), "") . الآن وقد اصبح النص نظيفا ، فنحفظه من المتغير الى الملف مرة اخرى (طبعا ملف النص يجب ان يكون مغلق) Open File_Path For Output As #1 Print #1, Temp Close #1 . والنتيجة 02-May-22,1,74.29,0,,,,abu gehad,02-May-22,1,74.29,0,,,,abu gehad 19-May-22,4,701.75,0,,,,sd investment,19-May-22,4,701.75,0,,,,sd investment 19-May-22,10,32850,0,,,,sd investment,19-May-22,10,32850,0,,,,sd investment جعفر
  14. . نعم يتم الترقيم من اول سجل ، اما اذا اردت التحديث يصير من السجل اللي انت عليه ، اوقف عمل هذا السطر : جعفر
  15. اذا كان الحقل منضم في الجدول ، فيجب ان تعمله من نوع مذكرة ، وفي اخر الاعدادات في الجدول ، اعمله Rich Text ، ولكن وقبل ان تعمل هذا التغيير جرب التالي: في التقرير ، اعمل حقل غير مضمن ، واعطيه برمجيا قيمة الحقل اللي تريد العمل عليه 🙂 جعفر
  16. هممم اذا عملنا جدول خاص فيه: "مصدر بياناته و مسمياته وبعض تنسيقاته وفق للقيمة المحمله" لكل نوع ، يكون اسهل في التعامل معه !! شكرا على الفكرة 🙂
  17. لا ما اشتغل ، يعطيني اخطاء !! على العموم ، ننتظر النسخة الاخيرة ونجربها ان شاء الله 🙂 جعفر
  18. الحمدلله 🙂 بس ياريت تخبرنا وين كانت المشكلة ، علشان نستفبد🙂 جعفر
  19. وعليكم السلام 🙂 انا عانيت الكثير مع الخط Al-Mohanad Extra Bold ، واضطررت الى تركه ، وانتهت مشاكلي 😁 مع العلم بأن مشاكل الخط موجودة في برنامج الوورد اكثر منها من مشاكله في الاكسس !! المشكلة تكون لما المؤسسة التي تتعامل معاها يقولون لك انه الخط المعتمد وما نقدر نغيره (فتأخر استعمالهم لاحد التقارير المهمة لمدة حوالي 5 سنوات ، ولما جاءت ادارة جديدة على طول وبدون اي مشكلة ، استعملو خط آخر واستعملو التقرير !!) . من وجهة نظري ، عندك حلين: 1. استعمال خط آخر قريب في الشكل لهذا الخط ، والحمدلله فيه خطوط قريبه منه ، 2. تستعمل الاكسس 2007 فما فوق (صيغة accdb ، لأن صيغة mdb لا تملك هذه الميزة) ، بحيث في التقرير ، تجعل تنسيق نص الحقل : . مما يجعله يقبل التنسيق وتغيير اي جزء فيه : . . وبما ان هذا التنسيق يعمل بلغة HTML ، فممكن ان نعمله برمجيا (بما اني لا اعرف لغة HTML ، فالطريقة اللي اعملها هي: اعمل التنسيق اللي اريده كما في الصورة ، وبعدين اعرض كود HTML اللي الاكسس عمله (debug.print me.text4) ، واضبط برمجتي على اساسه 🙂 ) ، وتظهر لي هذه النتيجة: . حسب ما يراه الكمبيوتر <div align=right><font face="Calibri (Detail)">نص وارقام </font><font face="Times New Roman" size=5 color=red>123456 </font><font face="Calibri (Detail)">ثم نص وارقام</font></div> بعد ان عملت عليه التعديل ليناسب برمجتي <div align=right> <font face="Calibri (Detail)">نص وارقام </font> <font face="Times New Roman" size=5 color=red>123456 </font> <font face="Calibri (Detail)">ثم نص وارقام</font> </div> . فالمطلوب الآن عمل كود ليعرف الارقام : . اما اذا كانت الارقام باللغة العربية ، فبدل Asc يجب ان نستعمل AscW ، لأن الارقام العربية لها ارقامها الخاصة برمجيا : . جعفر
  20. سيدي الفاضل ، ما اعرف وين المشكلة ، ولكن خلينا نحاول نصيدها ، بتجزئة الكود 🙂 شو نوع الحقل id_Ccallg ، نص او رقم ؟ 1. اوقف عمل الاسطر 1 و 2 و 3 (اعمل الاشارة ' على يسار السطر ، او كلمة Rem) ، والمفروض الكود يعطيك كل النتائج حسب Deletedrecord=1 ، 2. اسمح للاسطر 1 و 3 بالعمل ، والمفروض تحصل على نفس الخطأ السابق (هنا نتعامل مع الحقل id_Ccallg كنص) 2. اوقف السطر 1 ، واجعل السطر 2 يعمل (هنا نتعامل مع الحقل id_Ccallg كرقم) Dim x() As String, myWhere As String x = Split(Me.OpenArgs, "|") myWhere = "[id_Ccallg]='" & x(1) & "'" '1 'myWhere = "[id_Ccallg]=" & CInt(x(1)) '2 myWhere = myWhere & " And" '3 myWhere = myWhere & " [Deletrecord]=1" rs.Open "SELECT * FROM tbl_QualityEvaluation WHERE myWhere ORDER BY id_Ccallg DESC;", sqldb جعفر
  21. طيب ، 1. اذا كان التركيز على الحقل item او Quantity ، وادخلت الباركود فيه كذلك ، فتريد ان يتم ترك القيمة في الحقل كما كانت ، ثم تعمل سجل جديد ، وتضيف فيه قيمة الباركود. نأخذ مثال: ادخلت الباركود في حقل الباركود ، فينتقل التركيز الى حقل الصنف ، فتقوم انت بإدخال معلومة معينة ، مثل: "قميص بحري 2" ، ولم تنتقل الى الحقل التالي ، فتكون هذه القيمة لم تحفظ لا في السجل ولا في الحقل بعد ، وما تعمل اي شيء ، وتقرأ بالباركود (ومثلا رقمه 123456) ، فتصبح قيمة حقل الصنف: قميص بحري 2123456 ، فكيف تريد ان نفك معلومة الباركود من معلومة الصنف !! نفس السيناريو ممكن يكون لحقل الكمية !! هل ارقام الباركود مميزة ، يعني لها نفس طول العدد (مثلا دائما 5 ارقام) ، او انها دائما تبدأ بالرقم 9 ، او الحرف د ، او اي شيء خاص ؟ او انها موجودة في جدول؟ جعفر
  22. لي الشرف في انك تراجع معلوماتي القديمة ، واشوف انها لا تزال صحيحة 🙂
  23. من واقع خبرتي ، كنت استعمل متغير variant ، ولكن صادقتني مشاكل فيه ، فتحولت الى نص ، والحمدلله بدون مشاكل الى اليوم 🙂 طبعا لاحقا ، يمكننا تحويل كل جزء/قيمة الى اصلها عن طريق الاوامر CInt و Cdate . هل فيه اشكال في هذا الاستعمال؟ جعفر
  24. جميل ، اذن LisetViewData ليس اسم النموذج ، سوف نرسل قيمتين في المتغير OpenArgs ، يجب ان يكون الامر عندك هكذا ، نرسل اسم النموذج وقيمة حقل LisetViewData : DoCmd.OpenForm "frm_QualityEvaluation", , , , , acDialog, me.name & "|" & LisetViewData . عند اغلاق النموذج frm_QualityEvaluation ، اكتب : dim x() as string x=split(me.openargs,"|") Forms(x(0)).Visible = True او Forms(split(me.openargs,"|")(0)).Visible = True . وبالنسبة للسجل: dim x() as string x=split(me.openargs,"|") rs.Open "SELECT * FROM tbl_QualityEvaluation WHERE id_Ccallg = '" & x(1) & "' And Deletrecord =1 ORDER BY tbl_QualityEvaluation.id_Ccallg DESC;", sqldb او rs.Open "SELECT * FROM tbl_QualityEvaluation WHERE id_Ccallg = '" & split(me.openargs,"|")(1) & "' And Deletrecord =1 ORDER BY tbl_QualityEvaluation.id_Ccallg DESC;", sqldb . جعفر
  25. شو LisetViewData ، وشو القيمة اللي فيه
×
×
  • اضف...

Important Information