-
Posts
9903 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
404
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
السلام عليكم اخوي حسام 🙂 لاحظ الفرق في طريقة عرض الكود في مشاركتك السابقة : بينما يمكنك استخدام الزر : ثم تضع الكود بداخله ، ليصبح هكذا ، وتسهل قراءته 🙂 DLookUp("Gaza","tabGazaa","[Gazdate] <=#" & [Forms]![tblnewtaq]![taqto] & "#" & "and [Gazdate]>=#" & [Forms]![tblnewtaq]![taqfrom] & "#" & "and [gazaeid]=" & [eid]) ------------------------------------------------------------------------------------------------------------------------------------------------------------------- وعليكم السلام اخوي عبد الفتاح 🙂 الكود الذي وضعته انت يشير الى تاريخ ، لذلك ، رجاء اكتب لنا هنا بعض التواريخ اللي في برنامجك (اعمل منها نسخ ولصق حتى نرى الصيغة الصحيحة ) ، واكتب لنا بعض التواريخ التي لا يعطي الكود نتائج صحيحة بها 🙂 يعني مجرد ارفاقك صورة للكود لا يعطينا بيانات كفاية للتفكير معك 😁 ويمكنك ان تجرب Between ، لأنها الطريقة الاخرى لحصر القيم بين تاريخين 🙂 جعفر
-
1. نحن في النموذج Form1 ، ونريد ان نستعمل القيم من النموذج المفتوح Form2 : Me.ITEM_BARCODE = DLookup("[ITEM_BARCODE]", "VW_ITEM_MASTAR", "[ITEM_BARCODE]='" & Forms!forms1!serh_Barcod & "'") Me.ITEM_CODE = DLookup("[ITEM_CODE]", "VW_ITEM_MASTAR", "[ITEM_BARCODE]='" & Forms!forms1!item_no & "'") 2. نحن في النموذج Forms2 ، ونريد ان نرسل القيم الى النموذج المفتوح Forms1 : Forms!forms1!serh_Barcod = DLookup("[ITEM_BARCODE]", "VW_ITEM_MASTAR", "[ITEM_BARCODE]='" & Me.ITEM_BARCODE & "'") Forms!forms1!item_no = DLookup("[ITEM_CODE]", "VW_ITEM_MASTAR", "[ITEM_BARCODE]='" & Me.ITEM_CODE & "'") جعفر
-
السبب هو عدد الحقول التي طلبتها ، اضف العلامة | في الدالة NZ ، بعددها في الكود بمعنى عندك 9 علامات : فلازم NZ يكون : جرب هذا A = Nz(DLookup("[ITEM_CODE] & '|' & [deskwn1] & '|' & [item_name] & '|' & [Expr1]& '|' & [Expr2] & '|' & [sub_id] & '|' & [FACTOR]& '|' & [UNT_ID]& '|' & [ITEM_CommissioN]& '|' & [CATEGORY]", "VW_ITEM_MASTAR", "[ITEM_BARCODE]='" & Me.ITEM_BARCODE & "'"), "|||||||||") جعفر
-
السلام عليكم اخوي احمد 🙂 أنا قد اجبت على سؤال الموضوع ، واخبرتك 🙂 فرجاء فتح موضوع جديد والاشارة الى هذا السؤال ، ورجاء تجاوب فيه على الاسئلة اللي طرحتها عليك (لأنك لم تجاوب عليها) ، حتى يعرف الاعضاء كيف يمكنهم مساعدتك 🙂 جعفر
-
جلب التاريخ من السيرفر وليس من جهاز المستخدم
jjafferr replied to سلمان الشهراني's topic in قسم الأكسيس Access
السلام عليكم 🙂 الفكرة هي ، انه الجداول موجودة في الواجهة الخلفية BE ، واللي موجودة على السيرفر ، واللي نريد نحصل على وقته ، نضع هذه الوحدة النمطية فيه: Public Function Server_Date_Time() As Date Server_Date_Time = Now() End Function . ثم في برنامج الواجهة FE نضع هذه الوحدة النمطية : Public Function Call_Server_F() Dim apAccess As New Access.Application apAccess.OpenCurrentDatabase (DLookup("[Database]", "MSysObjects", "[Flags]=2097152")) Call_Server_F = apAccess.Run("Server_Date_Time") End Function ثم من النموذج ننادي هذه الوحدة النمطية : me.Server_Time = Call_Server_F جرب المرفق: ضع BE على السيرفر ، والـ FE على كمبيوتر آخر ، ثم شغّل FE 🙂 جعفر Server Time.mdb.zip -
🙂 جعفر
-
وعليكم السلام 🙂 تفضل جعفر
-
وعليكم السلام 🙂 في حقل رقم في الجدول ، لا يمكنك ان تُدخل حروف ، ولكن يمكنك ان تُدخل اي رقم تريد 🙂 فخلينا نقول ، ان الغائب تعطيه علامة 200 : وفي الاستعلام ، نعمل معادلة: اذا كان الرقم = 200 ، فأعطنا الحرف غ 🙂 جعفر جمع الارقام من مربع نص تنسيقه نص1.zip
-
قراءة كود MRZ من الجواز والهوية والبطاقة الشخصية
jjafferr replied to jjafferr's topic in قسم الأكسيس Access
مثل هذا الجهاز AT9000 ، ويعمل بنفس طريقة الجهاز CR100 بأته يأخذ كود MRZ ويفككه (وسيكون مشروعي التالي ان شاء الله 🙂 ) ، وبالاضافة يأخذ: صورة ملونة لصفحة الجواز ، صورة ابيض واسود لصفحة الجواز (لكشف التزوير) ، صورة من صورة صاحب الجواز الشخصية ، . . نعم يمكن التحكم في هذا ، بطريقتين: عن طريق ملف XML ، او بتفكيك السطر على اساس علامات "<" (لاحظ الوحدة النمطية في مشاركتي الأولى) ، او الاثنين معا 🙂 جعفر -
السلام عليكم 🙂 الجوازات والبطاقات الشخصية والهويات الحكومية ، في اسفلها كود يسمى MRZ وفيه معلومات من الوثيقة ، الجواز ، وفي اسفله سطرين من كود MRZ : . والهوية ، وفي اسفلها 3 اسطر من كود MRZ : . وهناك عدة اجهزة (هي في الواقع سكانرات) التي يمكنها قراءة هذه الوثائق ، وتستعمل نظام OCR وتحول الصورة الى نص ، ومن ضمن هذه الاجهزة ، جهاز 3M CR100 https://www.gemalto.com/govt/document-readers/cr100 والظاهر ان هذا الجهاز معتمد من قِبل البوابة الالكترونية الموحدة لحجاج الخارج . . تنزيل وتنصيب برنامج التشغيل : http://www.3m.com/ssdcp/3M Swipe Readers/SDK/3M Swipe Reader SDK 1.2.1.2 Setup.exe خلونا نستعمل هذا الجهاز عن طريق الاكسس 🙂 بعد تنصيب برنامج تشغيل الجهاز ، يقوم برنامج الاكسس بتشغيل برنامج الجهاز في الكمبيوتر (فإذا ما عملت تنصيب للبرنامج ، اوقف عمل السطر : ) Private Sub Form_Load() On Error GoTo err_Form_Load 'turn ON the scanner xml program ' Call Restart_XML '<<< اوقفوا عمل هذا السطر . النموذج يكون جاهز على الحقل Line_0 ، والذي يبدا بأخذ نتيجة OCR ، . . وتكون النتيجة بهذه الطريقة (انا وضعت الارقام امام الاسطر) : 0'START 1'OCR Line 1: IDOMN1900000<<3<<<<<<<<<<<<<<< 2'OCR Line 2: 7008529M2018227OMN<<<<<<<<<<<6 3'OCR Line 3: ALI<MOHAMMED<HUSSAIN<<AL<MOOSA 4'MSR Track 1: 5'MSR Track 2: 6'MSR Track 3: 7'End . لعمل البرنامج ، اضطررت لعمل الاكواد بنفسي ، لأن SDK الجهاز كانت للغات اخرى غير VBA ، وهذه الوحدة النمطية التي تقوم بتفكيك الكود اعلاه ، سواء لجواز او بطاقة او فيزا : Public Function Parse_MRZ(frmN As String) On Error GoTo err_Parse_MRZ ' '08-06-2018 'by jjafferr ' Dim L1 As String Dim L2 As String Dim L3 As String Dim gDocType As String Dim Pass_Type As String Dim gLastName As String Dim gFirstName As String L1 = Replace(Forms(frmN)!Line_1, "OCR Line 1: ", "") L2 = Replace(Forms(frmN)!Line_2, "OCR Line 2: ", "") L3 = Replace(Forms(frmN)!Line_3, "OCR Line 3: ", "") gDocType = Mid(L1, 1, 1) Select Case gDocType Case "P", "V" 'passport , Visa Forms(frmN)!gDocType = gDocType 'LINE 1 Pass_Type = Mid(L1, 2, 1) 'Either < or Passport type Forms(frmN)!gIssuing = Mid(L1, 3, 3) gLastName = Mid(L1, 6, InStr(L1, "<<") - 6) gLastName = Replace(gLastName, "<", " ") Forms(frmN)!gLastName = Trim(gLastName) gFirstName = Mid(L1, InStr(L1, "<<") + 2, InStr(InStr(L1, "<<") + 1, L1, "<<") - InStr(L1, "<<") - 2) gFirstName = Replace(gFirstName, "<", " ") Forms(frmN)!gFirstName = Trim(gFirstName) Forms(frmN)!gDocNumber = Mid(L2, 1, 9) 'LINE 2 Forms(frmN)!gCountry = Mid(L2, 11, 3) Forms(frmN)!gDOB = DateSerial(Mid(L2, 14, 2), Mid(L2, 16, 2), Mid(L2, 18, 2)) Forms(frmN)!gGender = Mid(L2, 21, 1) Forms(frmN)!gDocExpiry = DateSerial(Mid(L2, 22, 2), Mid(L2, 24, 2), Mid(L2, 26, 2)) Forms(frmN)!gAddInfo = Mid(L2, 29, InStr(L2, "<<") - 29) Case "I", "A", "C" 'ID Forms(frmN)!gDocType = Mid(L1, 1, 2) Pass_Type = Mid(L1, 2, 1) 'Either < or completing the first letter Forms(frmN)!gIssuing = Mid(L1, 3, 3) Forms(frmN)!gDocNumber = Mid(L1, 6, InStr(L1, "<<") - 6) Forms(frmN)!gDOB = DateSerial(Mid(L2, 1, 2), Mid(L2, 3, 2), Mid(L2, 5, 2)) 'LINE 2 Forms(frmN)!gGender = Mid(L2, 8, 1) Forms(frmN)!gDocExpiry = DateSerial(Mid(L2, 9, 2), Mid(L2, 11, 2), Mid(L2, 13, 2)) Forms(frmN)!gCountry = Mid(L2, 16, 3) gFirstName = Mid(L3, 1, InStr(L3, "<<") - 1) 'LINE 3 gFirstName = Replace(gFirstName, "<", " ") Forms(frmN)!gFirstName = Trim(gFirstName) gLastName = Mid(L3, InStr(L3, "<<") + 2) gLastName = Replace(gLastName, "<", " ") Forms(frmN)!gLastName = Trim(gLastName) End Select Exit_Parse_MRZ: Exit Function err_Parse_MRZ: If Err.Number = 9 Then 'susbcription out of order, ignore Resume Next ElseIf Err.Number = 13 Then 'Type mismatch, ignore Resume Next Else MsgBox Err.Number & vbCrLf & Err.Description Resume Exit_Parse_MRZ End If End Function برنامجي الذي في الخدمة ، يقرأ بيانات الجوازات والهويات في اقل من 3 ثواني ، بالأضافة الى قراءة باركود بعض الهويات الاخرى ، وادخال يدوي لأنواع اخرى من الهويات ، لهذا السبب كان يتطلب مني استعمال هذه الاحداث🙂 Public Sub Line_0_BeforeUpdate(Cancel As Integer) Private Sub Line_0_KeyDown(KeyCode As Integer, Shift As Integer) Private Sub Line_0_AfterUpdate() Private Sub Line_7_AfterUpdate() . احد اهم الامور التي اخذت مني وقت طويل لمعرفتها هي ، يجب ان تكون لغة الكيبورد بالانجليزي ، وقت قراءة البطاقة ، وإلا فالنتائج تعطيك خطأ ، لهذا السبب فالبرنامج تلقائيا يحول اللغة الى انجليزي ، لما التركيز يكون في حقل Line_0 🙂 الجدول و الكود قد يكون فيه بقايا من برنامجي ، ولكن لن يضروكم ان شاء الله 🙂 جعفر CR100 card reader.zip
-
جلب التاريخ من السيرفر وليس من جهاز المستخدم
jjafferr replied to سلمان الشهراني's topic in قسم الأكسيس Access
هذا بيخلينا نفكر في طريق آخر 🙂 هل جداول قاعدة البيانات موجودة على هذا الجهاز ؟ جعفر -
جلب التاريخ من السيرفر وليس من جهاز المستخدم
jjafferr replied to سلمان الشهراني's topic in قسم الأكسيس Access
سؤالك كان عن جلب التاريخ من السيرفر 🙂 جعفر -
عفوا ، اين الاجابه ؟ وهاي لازم لازم يكون معاها مرفق جديد يشمل هذه التغييرات 🙂 جعفر
-
السلام عليكم 🙂 اخواني ، الجميع يساعد في المنتدى بوقته وبدون مقابل ، وعندنا مثل يقول: حبة الزبيب ما تشبّع ، ولكنها تحلّي الفم 🙂 فرجاء خلونا نشجع الاعضاء في العطاء 🙂 لما تحصل على رد له قيمة ، فتشجيعا للعضو الذي يساعدك ، اخبر العضو بأنك مُعجب برده ، هكذا : . . ولما تحصل على اجابة لسؤال موضوعك ، فرجاء اختيار افضل اجابة ، هكذا (حتى مستقبلا يسهل معرفة الاجابة الصحيحة) : . شكرا 🙂 جعفر ومع الاعتذار لأخي احمد لإستخدام اسمه في المثال 🙂
- 8 replies
-
- 19
-
-
-
محتاج برنامج شئون موظفين مع ارشيف لمؤهلاتهم و ما يخصهم من قرارات
jjafferr replied to mohd782's topic in قسم الأكسيس Access
اخي الفاضل 🙂 هذا المنتدى لتبادل الخبرات ، ومساعدة المبرمجين بعضهم البعض ، اذا اردت برامج جاهزة ، فرجاء وضع طلبك هنا: https://www.officena.net/ib/forum/157-إعلانات-شخصية-للاعضاء-فقط-فى-مجال-الموقع/ جعفر -
وعليكم السلام 🙂 1. أ. ولكن "اي مشروع حالي" ، لا يوجد لديك اختيار "المشروع المحدد" ؟ ب. واذا عملت حقل لإختيار المشروع (مثل ما اخترت الشهر والسنة) ، وقمت بإختياره ، فما بال الشهر والسنة ، وما بال المشروع اذا تم ارشفته !! 2 و 3. نفس الاسئلة اعلاه في #1 🙂 جعفر
-
وعليكم السلام 🙂 اسمح لي اشارك معاك اخوي خالد 🙂 انا شايف ان الرقم العشوائي مجرد تمويه ، او لم يتم استعماله بالطريقة الصحيحة في الكود !! الكود يطلب منك كلمة السر ويحتفظ بها في المتغير x ، المتغير z يعمل عملية حسابية على كلمة السر التي ادخلتها ، اذا كانت كلمة السر صحيحة ، فيخبرك انها صحيحة ويفتح لك النموذج "معلومات التقارير" ، واذا كانت فيخبرك انها خطأ ويغلق النموذج "معلومات التقارير" !! ولكن النموذج "معلومات التقارير" : يا انه مُغلق ، فيتم فتحه ، او مفتوح فيتم غلقه ، ولكن الكود يعمل الاثنين ، حسب صحّة كلمة السر !! جعفر
-
اخي الفاضل farahat رجاء الالتزام بقوانين المنتدى : https://www.officena.net/Tips/Questions.htm فانت فتحت 3 اسئلة مستقلة لهذا الموضوع ، ومن دون ان تضيف اي معلومة زيادة لكي يساعدك الاعضاء !! رجاء فكر في سؤالك ، و اعد طريقة العرض او ضع مثال ، و رد على اسئلة الاعضاء ، حتى يستطيعوا ان يساعدوك 🙂 جعفر
-
آسف ما فهمت !!
-
جلب التاريخ من السيرفر وليس من جهاز المستخدم
jjafferr replied to سلمان الشهراني's topic in قسم الأكسيس Access
تفضل يا سيدي 🙂 جعفر 1176.Network_PC_Time.mdb.zip