بحث مخصص من جوجل فى أوفيسنا
![]()
Custom Search
|
-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
وعليكم السلام 🙂 الباركود الاحادي 1D الابعاد: Code 39 ، Code 128 ، UPC ، EAN ، وغيرها : . . . فيه قيمة احادية واحدة فقط ، وهو الرقم الموجود في الباركود ، هذا معناه انك محتاج الى حقل واحد في الاكسس ، يكون التركيز عليه ، وتستعمل قارئ الباركود ليقرأ المعلومة 🙂 بينما الباركود الثنائي 2D الابعاد: QR ، PDF417 ، وغيرها : . . . فيه اكثر من قيمة ، ولمعرفة القيم ، وطريقة ترتيب القيم ، فالافضل ان تكون فاتح ملف txt عادي ، ويكون فيه التركيز ، ثم تستعمل قارئ البركود ، لترى القيمة في الملف ، وبعد ان تعرف طريقة برمجة الباركود ، فتستطيع ان تبرمجه في برنامجك في الاكسس 🙂 رجاء مراجعة هذا الرابط حتى ترى كم البيانات التي يمكنك حفظها في الباركود : . جعفر
-
السلام عليكم اخي المسافر 🙂 اذا كان هذا السؤال لا علاقة له بسؤال الموضوع ، فقوانين المنتدى تطلب منك فتح موضوع جديد للسؤال الجديد ، لوسمحت 🙂 جعفر
-
قراءة كود MRZ من الجواز والهوية والبطاقة الشخصية
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
وعليكم السلام 🙂 هذه المعلومة غير دقيقة ، انظر اول سطر من بيانات MRZ . 1. نعم 2. نعم ، ولكن اذا لم تكن بحاجة الى بقية البيانات ، فيجب عليك قراءة البيانات كما الموجود بالكود اعلاه ، فقط تحتاج الى تقليص بيانات الحفظ 🙂 جعفر -
تفضل جرب: 1. ادخل التاريخ 2. يعطيك نتيجة اذا كان التاريخ 1 موجود في الجدول او فارغ جعفر 1405.Need_DateFormat.accdb.zip
-
اقرا الموضوع الذي ارفقت لك رابطه ، وسترى ان الدالة هي الحل 🙂 جعفر
-
طيب ايش رأيك بهذه النتيجة : 2س/1ش/0ي = 2 سنه/1 شهر/ 0 يوم : وهذه هي الدالة: Public Function YMDDif4(sDate1, sDate2) On Error GoTo err_YMDDif4 'sDate1 earliest date 'sDate2 later date Dim D As Integer, m As Integer, y As Integer Dim iYear As Integer Dim iMonth As Integer Dim iDay As Integer Dim dInterim1 As Date iMonth = DateDiff("m", sDate1, sDate2) If Day(sDate1) > Day(sDate2) Then iMonth = iMonth - 1 End If dInterim1 = DateAdd("m", iMonth, sDate1) iDay = DateDiff("d", dInterim1, sDate2) D = iDay m = iMonth Mod 12 y = iMonth \ 12 'YMDDif2 = CStr(Y) & " Years " & CStr(M) & " months " & CStr(D) & " days" YMDDif4 = CStr(y) & " س/" & CStr(m) & " ش/" & CStr(D) & " ي" Exit Function err_YMDDif4: If Err.Number = 94 Then 'ignor, null Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description End If End Function جعفر
-
🙂
-
وعليكم السلام 🙂 تحتاج الى دالة التاريخ ، وحتى @ابا جودى صار يستعملها ، وتقدر تشوف المشاركة : جعفر
-
بتغيير بسيط على كود اخوي موسى ، ليتماشى مع الاستعلام : DD: Calcdiffy([vdate1], [vdate2]) جعفر
-
جرب هاي: ListBoxEnhancedVer15.accdb
-
افتح النموذج في وضع التصميم ، ثم في وضع العرض 🙂
-
واقعا هي الطريقة المثلى والاكثر مرونه 🙂 ويمكنك استخدام مثال هذا المرفق: http://lebans.com/DownloadFiles/ListBoxEnhanced.zip جعفر
-
كارنيهات باستخدام باركود ماتركس - QR code
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
وعليكم السلام 🙂 اهلا وسهلا بك في المنتدى 🙂 تفضل واخبرنا مشكلتك هنا حتى يستفيد الجميع ، فالمنتدى لفائدة الجميع 🙂 جعفر- 119 replies
-
- 2
-
-
- pdf417
- باركود ماتركس
-
(و1 أكثر)
موسوم بكلمه :
-
استفسار في جملة Option Explicit محرر الاكواد (معدل)
jjafferr replied to السبيل1's topic in قسم الأكسيس Access
اخي الفاضل ، قوانين المنتدى لا تسمح بـ : 11. ممنوع طرح أكثر من سؤال في موضوع واحد ليسهل البحث عن المواضيع لاحقا. 12. يمنع وضع سؤال لا علاقة له بالموضوع الموضوع فيه التساؤل أو ليس له مناسبة في وضعه معه. فرجاء متابعة الموضوع ، منه 🙂 جعفر -
استفسار في جملة Option Explicit محرر الاكواد (معدل)
jjafferr replied to السبيل1's topic in قسم الأكسيس Access
اذا استخدمت عبارة Option Explicit في صفحة الكود ، ولم تقم بتعرييف المتغير ، فلما تشغل البرنامج ، تلقائيا سيعطيك رسالة خطأ ، على المتغير الذي لم يتم تعرييفه (حتى وان كان هذا المتغير في نموذج/تقرير/وحدة نمطية لا تخص النموذج الذ تم فتحه ، هو خطأ ويحذرك الاكسس عنه) ، ولتجنب الحصول على الخطأ من البداية ، ومعرفة هذه المتغيرات الغير معرّفه ، استعمل Debug < Compile . جعفر -
استفسار في جملة Option Explicit محرر الاكواد (معدل)
jjafferr replied to السبيل1's topic in قسم الأكسيس Access
حتى اذا محترف آخر يشوف الكود اللي انا عملته ، يمكن يكون عنده ملاحظه عليه ، فلا تهتم ، فاذا الكود شغال ، انتهيت من اول واهم خطوة ، والباقي تحصل عليه بالتجربة 🙂 نضع فيه هذه العبارة Option Explicit في جميع صفحات الكود ، ولكن ، ضعه في صفخة ، ثم Debug < Compile ، فتظهر لك المتغيرات التي تحتاج الى عمل Dim لها ، وتنتقل للصفحة التالية ، وهكذا . جعفر -
استفسار في جملة Option Explicit محرر الاكواد (معدل)
jjafferr replied to السبيل1's topic in قسم الأكسيس Access
اليك هذا الموضوع البسيط ، وبدون ان ترى المشاركات ، حل السؤال على ورقة ، سطر بسطر ، واكتب النتائج ، والآن ، ترجم نفس الخطوات الى اسطر برنامج ، اكتب سطر ، وشوف النتيجة ، ثم اكتب السطر التالي ، وشوف النتيجة ، وهكذا تضيف اسطر الكود 🙂 وبعد ان يعمل برنامجك نوعا ما ، تقدر تستفيد من المشاركات ، وطبعا مو لازم كودك يكون مثل المشاركات ، هناك الف طريقة للبرمجة 🙂 المبرمج مثل الطباخ ، عنده طرق واساليب لاستعمال نفس المكونات ، واعطاء طبخات مختلفه لها 🙂 بس يعني اذا تعلمت تطبخ بيض عيون ، تسمي نفسك طباخ ، وتكون عارف كل الطبخ ، لا طبعا !! رحلة الالف ميل تبدأ بطبق بيض العيون 🙂 جعفر -
وعليكم السلام 🙂 انا اختلف مع اخوي ابو جودي ، والجواب: نعم تقدر 🙂 ولكن بسبب التصميم ، فما جميع الانواع يكون عرض بياناتها تكون مقبولة 🙂 جعفر
-
انا تعمّدت وعملت التصدير من استعلام ، فعندك مرونه في زيادة الحقول ، او ربط مجموعة جداول مع بعض في الاستعلام 🙂 اذا ما قدرت تعمل المطلوب ، اخبرنا بالتفاصيل ، وان شاء الله تحصل على الجواب 🙂 جعفر
-
وعليكم السلام 🙂 الطريقة التي تريدها لا تصلح !! عندك الكثير من الحالات ، مثل: نوع الحقل ، واستخدام دوال خاصة ، وووو اليك ما توصلت له ، وبتعرف قصدي من الملاحظات اعلاه: Function Do_SQL(strTableName As String, frm As Form) As String Dim ctl As Control Dim mySQL As String, mySQL_f As String, mySQL_v As String 'mySQL_f = Fields 'mySQL_v = Values ' 'filed names to reveal field Types, examples: 'str_Name > Text 'dt_Today > Date ' For Each ctl In frm.Controls If ctl.ControlType <> acLabel And ctl.ControlType <> acCommandButton Then 'fields mySQL_f = mySQL_f & ", " & ctl.Name 'values Select Case ctl.Name 'special cases Case "Uname", "UPassword", "FullName", "lvlAnsr1", "lvlAnsr", "lvlAnsr3", "Umail" mySQL_v = mySQL_v & ", Encoder('" & ctl.Value & "')" Case Else If Left(ctl.Name, 3) = "str" Then 'text mySQL_v = mySQL_v & ", '" & ctl.Value & "'" ElseIf Left(ctl.Name, 2) = "dt" Then 'Date mySQL_v = mySQL_v & ", #" & ctl.Value & "#" Else 'the normal mySQL_v = mySQL_v & ", " & ctl.Value End If End Select End If 'ctl.ControlType Next ctl 'remove the initial comma mySQL_f = Mid(mySQL_f, 2) mySQL_v = Mid(mySQL_v, 2) mySQL = "INSERT INTO " & strTableName mySQL = mySQL & " ( " & mySQL_f & " ) " mySQL = mySQL & " SELECT " mySQL = mySQL & mySQL_v Debug.Print mySQL End Function . لهذا السبب ، مشاركتي السابقة هي افضل طريقة للتعامل مع هذا النوع من الاستعلامات 🙂 جعفر
-
وعليكم السلام 🙂 استخدمت نتائج Debug.print في الكود تبعك ، ثم حولته الى استعلام (اتضح انه استعلام الحاقي) ، حتى ابدأ من هنا 🙂 طريقتي: اعمل الاستعلام بالطريقة المعتادة: . هذه المسمات لا قيمة ولا فائدة منها ، ويمكننا ان نحذفها ، لأن الاكسس بيعطينا اسم جديد لأي حقل مافيه اسم : . جميع الحقول في الاستعلام تحتاج الى قيمة ، فيجب ان تكون جميع هذه القيم متغيرات ، وعددها 12 حقل ، بالاضافة الى اسم الجدول ، ولتبسيط هذه العملية ، سأستخدم اسم الحقل المراد الاضافة اليه بالاضافة الى الرقم 9 ، مثل: IDUser9 ، IDGroup9 ، بتحويل الاستعلام الاصل الى SQL ، نحصل على هذه الجملة: INSERT INTO UsystbllvlUsers( IDUser,IDGroup,UName,UPassword,FullName,lvlQ1 ,lvlAnsr1,lvlQ2 ,lvlAnsr2,lvlQ3 ,lvlAnsr3,Umail ) SELECT 1 AS IDUser, 3 AS IDGroup, Encoder("admin") AS UName, Encoder("admin") AS UPassword, Encoder("admin") AS FullName, 20 AS lvlQ1, Encoder("administrator") AS lvlAnsr1, 20 AS lvlQ2, Encoder("admin") AS lvlAnsr2, 20 AS lvlQ3, Encoder("managaer") AS lvlAnsr3, Encoder("admin@admin.com") AS Umail; ومن هنا سأبدأ عملية التغيير الى كود ، والهدف بعد الدقة ، هو سهولة الوصول الى الحقول المتشابهة ، اي الحقل والحقل الذي ستاتي منه البيانات ، 1. تفكيك جزئي الجملة ، الجزء الى والجزء من ، وتحويل جميع علامات " الى ' في الجملة (ما عدا التي يجب ان تبقى) : mySQL = "INSERT INTO UsystbllvlUsers( IDUser,IDGroup,UName,UPassword,FullName,lvlQ1 ,lvlAnsr1,lvlQ2 ,lvlAnsr2,lvlQ3 ,lvlAnsr3,Umail )" mySQL = mySQL & " SELECT 1 AS IDUser, 3 AS IDGroup, Encoder('admin') AS UName, Encoder('admin') AS UPassword, Encoder('admin') AS FullName, 20 AS lvlQ1, Encoder('administrator') AS lvlAnsr1, 20 AS lvlQ2, Encoder('admin') AS lvlAnsr2, 20 AS lvlQ3, Encoder('managaer') AS lvlAnsr3, Encoder('admin@admin.com') AS Umail" 2. تفكيك كل جزء الى اسم الجدول ، ثم السطر الثاني يكون اسماء الحقول ، ولنسمي هذه الاسطر 1، 2، 3، 4 mySQL = "INSERT INTO " & UsystbllvlUsers mySQL = mySQL & " ( IDUser,IDGroup,UName,UPassword,FullName,lvlQ1 ,lvlAnsr1,lvlQ2 ,lvlAnsr2,lvlQ3 ,lvlAnsr3,Umail )" mySQL = mySQL & " SELECT " mySQL = mySQL & " 1 AS IDUser, 3 AS IDGroup, Encoder('admin') AS UName, Encoder('admin') AS UPassword, Encoder('admin') AS FullName, 20 AS lvlQ1, Encoder('administrator') AS lvlAnsr1, 20 AS lvlQ2, Encoder('admin') AS lvlAnsr2, 20 AS lvlQ3, Encoder('managaer') AS lvlAnsr3, Encoder('admin@admin.com') AS Umail" ثم ندرج السطر الثاني والرابع تحت بعض (مؤقتا) ، حتى لا نخطأ ، ويكون الحقل من والى تحت بعض (لاحظ الفاصلة بين الحقول) : وعليه ، يصبح السطرين mySQL = mySQL & " ( IDUser, IDGroup, UName, UPassword, FullName, lvlQ1, lvlAnsr1, lvlQ2 , lvlAnsr2, lvlQ3 , lvlAnsr3,Umail )" mySQL = mySQL & " IDUser9, IDGroup9, Encoder('" & UName9 & "'), Encoder('" & UPassword9 & "'), Encoder('" & FullName9 & "'), lvlQ19, Encoder('lvlAnsr19'), lvlQ29, Encoder('lvlAnsr9'), lvlQ39, Encoder('lvlAnsr39'), Encoder('Umail9')" ثم نقوم بتغيير السطر حتى يأخذ المتغيرات (بدلا من مجرد وجودها في السطر الثاني) ، وهنا العمل الفعلي : الآن تم تعديل الكود لكي يستعمل المتغيرات ، ويمكنك استعماله بهذه الطريقة : mySQL = "INSERT INTO " & UsystbllvlUsers mySQL = mySQL & " ( IDUser, IDGroup, UName, UPassword, FullName, lvlQ1, lvlAnsr1, lvlQ2, lvlAnsr2, lvlQ3, lvlAnsr3,Umail )" mySQL = mySQL & " SELECT " mySQL = mySQL & IDUser9 & ", " & IDGroup9 & ", Encoder('" & UName9 & "'), Encoder('" & UPassword9 & "'), Encoder('" & FullName9 & "')," & lvlQ19 & ", Encoder('" & lvlAnsr19 & "'), " & lvlQ29 & ", Encoder('" & lvlAnsr9 & "'), " & lvlQ39 & ", Encoder('" & lvlAnsr39 & "'), Encoder('" & Umail9 & "')" فيصبح الكود النهائي بالشكل الذي انت تريده ، ولاحظ اهمية كتابة رقم الحقل بحيث الجزء الآخر يأخذ نفس الرقم ، فيسهل عليك معرفة كل جزء من الكود : Function Run_SQL(UsystbllvlUsers9, IDUser9, IDGroup9, UName9, UPassword9, FullName9, lvlQ19, lvlAnsr19, lvlQ29, lvlAnsr29, lvlQ39, lvlAnsr39, Umail9) Dim mySQL As String mySQL = "INSERT INTO " & UsystbllvlUsers9 mySQL = mySQL & "( IDUser," '1 mySQL = mySQL & "IDGroup," '2 mySQL = mySQL & "UName," '3 mySQL = mySQL & "UPassword," '4 mySQL = mySQL & "FullName," '5 mySQL = mySQL & "lvlQ1 ," '6 mySQL = mySQL & "lvlAnsr1," '7 mySQL = mySQL & "lvlQ2 ," '8 mySQL = mySQL & "lvlAnsr2," '9 mySQL = mySQL & "lvlQ3 ," '10 mySQL = mySQL & "lvlAnsr3," '11 mySQL = mySQL & "Umail )" '12 mySQL = mySQL & " SELECT " mySQL = mySQL & IDUser9 & ", " '1 mySQL = mySQL & IDGroup9 & ", " '2 mySQL = mySQL & " Encoder('" & UName9 & "'), " '3 mySQL = mySQL & " Encoder('" & UPassword9 & "'), " '4 mySQL = mySQL & " Encoder('" & FullName9 & "'), " '5 mySQL = mySQL & lvlQ19 & ", " '6 Questions '6 mySQL = mySQL & " Encoder('" & lvlAnsr19 & "'), " '7 mySQL = mySQL & lvlQ29 & ", " '6 Questions '8 mySQL = mySQL & " Encoder('" & lvlAnsr29 & "'), " '9 mySQL = mySQL & lvlQ39 & ", " '6 Questions '10 mySQL = mySQL & " Encoder('" & lvlAnsr39 & "'), " '11 mySQL = mySQL & " Encoder('" & Umail9 & "') " '12 'Debug.Print mySQL DoCmd.SetWarnings False DoCmd.RunSQL mySQL DoCmd.SetWarnings True End Function . وتناديه بإرسال قيم هذه المتغيرات : Call Run_SQL(tbl_Name,IDUser, IDGroup, UName, UPassword, FullName, lvlQ1, lvlAnsr1, lvlQ2, lvlAnsr2, lvlQ3, lvlAnsr3, Umail) جعفر
-
وعليكم السلام 🙂 اي حقل يخبرنا عن الشهر؟ انا استعملت [تاريخ البداية] ، واذا كان غير ، فرجاء تغير الاسم هنا : . وفي هذا النموذج تختار الشهر والسنه ، ويتم التصدير لنفس مجلد البرنامج ، ويكون الملف باسم: Client_Year-Month ، مثل Client_2021-10.xlsx . وهذا كود التصدير: Dim xls_File As String xls_File = Application.CurrentProject.Path & "\Clients_" & Me.iYear & "-" & Me.iMonth & ".xlsx" DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "qry_Export_to_Excel", xls_File, True جعفر 1503.تصدير.zip
-
نعم تقدر تستفيد من هذه الطريقة 🙂 قام حظك ابو جودي 🙂 جعفر
- 22 replies
-
- 2
-
-
- ابا جودى
- حقول إجبارية
- (و7 أكثر)
-
وعليكم السلام 🙂 في اعدادات الاكسس ، قم بإختيار status bar (في الدائرة الحمراء) . فلما تأتي للنموذج ، تجد ان القيمة موجودة هنا (السهم الاحمر) 🙂 . لذلك ، استخدم Tag بدلا عن Status Bar Text ، لأن الاكسس قد يستعمل هذه الخاصية ، وتختفي علامة * ويتم استبدالها بقيمة اخرى🙂 جعفر
- 22 replies
-
- 2
-
-
- ابا جودى
- حقول إجبارية
- (و7 أكثر)