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

jjafferr

أوفيسنا
  • Posts

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

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

  • Days Won

    408

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

  1. الحمدلله قوانين المنتدى لا تسمح باكثر من سؤال واحد في الموضوع ، فاعمل سؤال جديد ، وان شاء الله تلقى الرد فيه جعفر
  2. يا فنان انت ، سهلت علي الموضوع كنت اريد اقول لك تعملها ، لكني استحيت ، ولأن عندنا مثل يقول: اكلت الثور وما باقي غير الذيل ، يعني ما نقدر ناكله ليش؟؟ مو انا سحبت لك بيانات اكثر من المطلوبة ، والسبب هو علشان تقدر تستخدم هذه الحقول الزائدة في عملية الفرز والتصفية (مثل الفصل والسنة الدراسية) ، والتي تستطيع لاحقا ان تتبع عمل الطالب لعدة سنوات ، مثلا ايش رايك ، موافق على هالكلام ، وإلا حاب تجرب طعم الذيل جعفر
  3. حيا الله الاستاذ عفوا على الخطأ ، رجاء جرب هذا الملف ثم نتكلم عن الباقي جعفر 275.1.ImportDegrees.accdb.zip
  4. وعليكم السلام جوابي هنا على الجزء الثاني من سؤالك ، على الرابط التالي: http://www.officena.net/ib/topic/61730-كيفية-ترقيم-القيد-بعد-حذف-القيد/#comment-398739 جعفر
  5. حياك الله نعم تستطيع بنفس الطريقة ان تغير الاستعلام الى استعلام حذف ، ولكن انتبه ، فالاستعلام عندك مربوط بجدولين وليس جدول واحد جعفر
  6. وعليكم السلام أخي ابورحيل ، في المرة القادمة ياريت تخبرنا بالضبط وين المشكلة ، لأن الحل يكون اسرع على كل حال ، فالمشكلة عند تجربتي لبرنامجك لم تقتصر على رسالة طلب ID ، وانما المشكلة كانت في رفض الاكسس قبول المعلومة اصلا ، لأنها تتعارض مع تضبيطات الجداول. نرجع الى الرسالة: لو نظرت في الصورة الاولى اللي ارفقتها انا ، من الاستعلام UP ، سترى انك طلبت ان يأخذ الاستعلام قيمة ID من النموذج EMP1 ، وعلشان يأخذ الاستعلام هذه القيمة من النموذج EMP1 ، فالنموذج EMP1 يجب ان يكون مفتوح اما اذا ان اردت ان تأخذ قيمته من نموذج آخر ، فقم بتغيير اسم النموذج في الاستعلام جعفر
  7. حياك الله وعلى راسي بس لو تعرف ، ترى القائمين على هذا الصرح والمنتدى العظيم ، هم اللي شرفوني بهذا الوسام وهذه التسمية ، بينما انا لا املك اي شهادة في الكمبيوتر ولا حتى شهادة الرخصة الدولية لقيادة الحاسب الآلي ICDL في الرابط التالي كان في سؤال شبيه ، ولكن لطباعة التقرير ، وتم حله بطريقة اخرى كذلك: http://www.officena.net/ib/topic/64830-مشكلة-طباعة-مع-النموذج-الفرعي/?do=findComment&comment=421820 جعفر
  8. وعليكم السلام ورحمة الله وبركاته 1. هذا الكلام صحيح 2. وهذا كذلك ، ولكن عندي بديل: في النموذج mmm ، اعمل حدث بعد التحديث للحقلين d1 و d2: Private Sub d1_AfterUpdate() d_F = Me.d1 End Sub Private Sub d2_AfterUpdate() d_T = Me.d2 End Sub ثم نعمل الوحدة النمطية: Option Compare Database Public d_F As Date Public d_T As Date ' Function d_From() d_From = d_F End Function Function d_To() d_To = d_T End Function وعليه نجعل الاستعلام يأخذ القيم من الوحدة النمطية بدلا عن النموذج مباشرة (لاحظ ان لدينا وحدتين نمطيتين ، لذلك نأخذ القيم من الاثنين): وصلى الله وبارك جعفر 279.مثال استعلام.accdb.zip
  9. وعليكم السلام تفضل 1. 2. 3. 4. جعفر 278.mouwazaf11.accdb.zip
  10. السلام عليكم اذا كنت لازلت تريد المساعدة في هذا الموضوع ، رجاء تشرح لي وبالتفصيل الممل عن كيفية استخدامك للبرنامج، ورجاء تعمل صورة لصفحة الكود وترفقها اللي سطرها يكون باللون الاصفر ، علشان اعرف وين الكود يتوقف. جعفر
  11. الحمدلله كنت في الزيارة جرب المرفق لوسمحت رحم الله والديك أخي سعيد ، انت وفرت علي اكثر من نصف الطريق جعفر 231.1.New .accdb.zip
  12. السلام عليكم لاحظت تكرار بعض البيانات ، فاليك النسخة المعدلة 275.1.ImportDegrees.accdb.zip
  13. السلام عليكم شباب في الرابط التالي http://www.officena.net/ib/topic/61847-تعديل-على-كود-حفظ-مكان-الصورة/?do=findComment&comment=399928 استعملت الكود التالي: Dim Image_Path As String '1 Image_Path = Application.currentProject.Path '2 Image_Path = Image_Path & "\photo\" 'if the photo Dir dose not exist, creat it If Dir(Image_Path, vbDirectory) = "" Then MkDir Image_Path End If '3 Image_Path = Image_Path & "\" & [ID] & "\" 'if the [id] Dir dose not exist, creat it If Dir(Image_Path, vbDirectory) = "" Then MkDir Image_Path End If وهنا قبل ان أنشأ المجلد الجديد ، يتأكد الكود بوجوده ، فان لم يكن موجودأ ، فانه يستحدثه ، وإن كان موجودا لا يفعل شئ (طبعا لم اكن اريد المستخدم ان يرى اي رسالة هنا) ، وتلاحظ ان عمل المجلدات هو بالتسلسل ، ومن خلال نفس مجلد البرنامج ، هكذا: -1- مجلد البرنامج (الموجود ، لذلك لم اقم بعمل شئ له) ، -2- مجلد الصور photo (واذا لم يكن موجودا ، فسيستحدثه البرنامج) ، والذي هو بداخل مجلد البرنامج ، ومجلد الصور photo هذا سيُستحدث مرة واحدة فقط ، -3- مجلد ID (واذا لم يكن موجودا ، فسيستحدثه البرنامج) ، والذي هو بداخل مجلد الصور photo ، وهناك عدة مجلدات بحسب قيمة ID ، داخل مجلد الصور photo. جعفر
  14. تقدر تضغط بالفأرة اليمين على الزر ابو 3 نقاط في حدث على النقر ، ثم اختار الاختيار الثالث code builder جعفر
  15. حيا الله من يانا وهذه طريقة اخرى ، اذا كانت ملفاتك تنزلها من موقع النور ، التابع لوزارة التعليم في المملكة العربية السعودية جعفر 275.1.ImportDegrees.accdb.zip
  16. انا آسف أخي حسين ، فا لاقتراح الوحيد المتبقى عندي هو ان تعمل تقرير جدولي مرة اخرى ، بحيث تستطيع ان ترى جميع الحقول فيه. جعفر
  17. وعليكم السلام أخي حسين الكود والطريقة صحيحة ، ولكني عدلت على التقرير قليلا ، فما ادري اذا بيصلح الوضع ملئت الجدول ببعض البيانات . وشغلت التقرير يدويا . والنتيجة . هذا معناه ان التقرير يشتغل بصورة صحيحة ، ويمكن طباعته مباشرة بكل البيانات مرة واحدة!! جرب المرفق واخبرني جعفر 272.2.BARCODE22.accdb.zip
  18. وعليكم السلام انا قلت . انت قلت . عليه ، اصبحت المعادلة: . والان الى برنامجك: . . والطريقة الوحيدة للتأكد 100% هو الرجوع للجدول ومعرفة نوع الحقل: . يعني fsl نص وليس رقم يالله نرجع نصلح المعادلة في النموذج ، ونخلي fsl نص بدل مايكون رقم: . والنتيجة . جعفر 277.sart.accdb.zip
  19. هل يوجد سجل بهذه المعلومات؟ هذه الرسالة عادة تظهر إذا ما في بيانات في التقرير. جعفر واذا كانت المعلومات موجودة ، فرجاء إرفاق برنامجك للنظر فيه. جعفر
  20. وعليكم السلام أخي طارق عملت وحدة نمطية fget_User_ID : Option Compare Database Public u_ID As Integer ' Function get_User_ID() get_User_ID = u_ID End Function . في نموذج دخول المستخدمين ، ارسلت قيمة u_ID الى الوحدة النمطية اعلاه: Private Sub Command5_Click() If [n2] = [كلمة السر] Then 'assign this value to a Global variable in module fget_User_ID u_ID = Me.iduser DoCmd.OpenForm "واجهة البرنامج", acNormal [Forms]![واجهة البرنامج]![n1] = [Forms]![دخول المستخدمين]![الاسم الكامل] DoCmd.Close acForm, "دخول المستخدمين" Else ms$ = "كلمة السر غير مطابقة" ti$ = "كلمة السر خطأ" re = MsgBox(ms$, 0, ti$) End If End Sub . فمن الآن وصاعدا ، كلما اردنا قيمة createuser ، فما علينا إلا ان ننادي الوحدة النمطية الاولى ، لهذا وفي نموذج الادخال barcodeir ، اصبح حقل createuser هكذا: . وفي حدث الحقل barcode ، الحدث On Lost Focus ، استدعيت قيمة createuser من الوحدة النمطية fget_Used_ID ، هكذا: Private Sub barcode_LostFocus() 'only split is nfous is empty If Len(Me.nfousi & "") <> 0 Then Exit Sub Dim x() As String Dim p As Integer If Me.barcode <> "" Then 'get the userID Me.createuser = get_User_ID() x1 = Replace(Me.barcode, "*", "") Debug.Print x1 x = Split(x1, "-") Debug.Print x(2) Me.nfousi = DLookup("[NoufousName]", "NoufousTable", "[Field]='" & x(0) & "'") ' Me.nfous_ID = DLookup("[NoufousID]", "NoufousTable", "[Field1]='" & x(0) & "'") Me.irsalieh = x(2) Me.createdate = Date Me.[a1] = x(1) ' Me.[000000] = x(2) ' Me.[000] = x(3) Me.[101] = x(3) End If End Sub . جعفر 276.tito.accdb.zip
  21. وعليكم السلام الرابط التالي يشرح لك الطريقة: http://www.officena.net/ib/topic/5106-ت-فتح-تقرير-مع-شرط/#comment-26881 http://access.mvps.org/access/reports/rpt0006.htm جعفر
  22. وعليكم السلام فكرة: ادخل اسم الكاشير مع كل عملية جعفر
  23. تفضل عملنا جدول جديد مؤقت للطباعة tbl_Temp وفيه الحقول المطلوبة لطباعة الباركود: . فاصبح علينا في الكود ان نحذف جميع سجلات هذا الجدول ، ثم نضيف بيانات الباركود الجديد ، على حسب عدد السجلات المطلوبة ، وبعدها نفتح التقرير ، والذي عملنا مصدره tbl_Temp . والكود اصبح: Private Sub PRENT_Click() If Me.t3 = 0 Then MsgBox ("لابد ان يكون حقل عدد الملصقات اكبر من صفر") End If 'delete the tbl_Temp Records mySQL = "Delete * From tbl_Temp" CurrentDb.Execute (mySQL) 'add the number of Records Dim rst As DAO.Recordset Set rst = CurrentDb.OpenRecordset("Select * From tbl_Temp") For i = 1 To Me.t3 rst.AddNew rst!SMALL_UNIT_PRICE = Me.SMALL_UNIT_PRICE rst!uuu = Me.uuu rst!uun = Me.uun rst!ITEM_CODE = Me.ITEM_CODE rst!ITEM_BARCODE = Me.ITEM_BARCODE rst!FACTOR = Me.FACTOR rst!ITEM_NAME2 = Me.ITEM_NAME2 rst!SUPP_CODE = Me.SUPP_CODE rst.Update Next i rst.Close: Set rst = Nothing 'now print the Report DoCmd.OpenReport "medicine" End Sub . السبب ان هذه الطريقة اسرع في الطباعة ، لأننا نرسل جميع السجلات الى التقرير مرة واحدة ، فالى الطابعة ، بينما في الطريقة السابقة ، كان هناك سجل واحد فقط في التقرير ، وكنا نفتح ونغلق التقرير عدة مرات لطباعة الباركود الواحد. وهنا اود ان ارفع الى اختنا الفاضلة الدكتورة أم عهود كل تحية واجلال واحترام لبُعد نظرها وبراعتها ، لأني اتذكر في منتدى الفريق العربي للبرمجة ، في موضوع طباعة الباركود ، انها عملت الكود لتحفظ سجلات الباركود في جدول مؤقت ، وانا وبسبب قلة خبرتي قلت انه من الافضل عدم عمل الجدول ، والطلب من التقرير الطباعة مباشرة (مثل ما عملنا سابقا) ، والآن فقط عرفت السبب ، وهو سرعة/بطئ الطباعة جعفر 272.BARCODE.accdb.zip
×
×
  • اضف...

Important Information