-
Posts
10011 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
408
نوع المحتوي
التقويم
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو jjafferr
-
لازم تجرب هذا انا لا اضع موضوع إلا اذا فيه له اهمية زبائني كان عندهم طلب ، وهو الارشفة ، وجزء منهم لإوراق قليلة وجزء لشئون الموظفين ، بالإضافة الى صور الموظفين ، موضوع النقر لفتح نافذة الوندوز واختيار الصور ، و السكانر بالطريقة العادية ، هاي منتهين منها ، الطلب تطور بسبب بطئ السكانرات العادية (حوالي 50 ثانية لتصوير الورقة الواحدة) ، طبعا لا اتكلم عن تصوير مجموعة من المستندات دفعة واحدة بالاسكانر السريع الغالي ، فالحمدلله ومن حوالي سنه توصلت الى التصوير عن طريق WebCam (حوالي 5 ثواني) و DSLR (حوالي 5 ثواني) ، وفي السجل مباشرة ، ولكن كاميرات DSLR غالية ، و WebCam يحتاج الى إضاءة صحيحة والصورة ليست بالوضوح المطلوب ، لذلك والحمدلله توصلت الى التصوير عن طريق كاميرات هواتف الاندرويد ، والتصوير فيه دقة عالية ، والفلاش ممتاز ، والتصوير يأخذ حوالي 9 ثواني ، وكل بيت فيه على الاقل هاتف واحد قديم لا يُستعمل هاي التقنية الجديدة اللي انصح المبرمجين اتباعها لزبائنهم ، سواء للصور الشخصية او تصوير المستندات صورة بصورة جعفر
-
هنا ستلاحظ اني استعملت الامر ShellWait ، والرابط فيه الوحدة النمطية: جعفر
-
السلام عليكم الامر Shell مثله مثل اي امر آخر ، يعني بعد الامر مباشرة تستطيع ان تكتب msgbox ، ولكن الامر Shell يعطي الامر ولا ينتظر اكمال الامر ، مثل في حالة التصوير الضوئي ، فإنه يعطي الامر ولا ينتظر ان يُتم الاسكان ، لذلك فعمل msgbox بعده لا يعني ان السكان انتهى ، وانما يعني ان Shell قد انتهى من إعطاء الامر ، اذا كنت تريد ان تعطي الاسكان امر طباعة ، وتريد ان لا تنتقل الى السطر التالي من الكود قبل الانتهاء من العمل بالكامل ، فيجب ان تستعمل الامر ShellWait : http://access.mvps.org/access/api/api0004.htm وطريقة استعمالها هي نفسها بالضبط مثل Shell ، وبعدها تستطيع ان تضع msgbox جعفر
-
أريد معرفة عدد الأسطر في مربع النص
jjafferr replied to أحمد محمد عبد المعبود's topic in قسم الأكسيس Access
وعليكم السلام الرابط التالي فيه برنامج يقوم بهذه الحسبة: http://www.lebans.com/textwidth-height.htm جعفر -
مطلوب ارسال رسائل نصية عبر الواتس اب watsApp
jjafferr replied to ابوخليل's topic in قسم الأكسيس Access
وعليكم السلام شكرا جزيلا على هذا العمل الجميل والخفيف مع اني لا احب SendKeys لما لها من مشاكل ، ولكن هناك الكثير من الاحيان لا يوجد حيلة او طريقة اخرى شكرا أخي محمد لتحويل برنامج السيد جمال الى اكسس حياك الله اخوي ابوخليل الكود والمرفق الاخير الذي وضعته ، المفروض ان يشتغلون والسموحة اننا توقفنا جعفر -
مطلوب ارسال رسائل نصية عبر الواتس اب watsApp
jjafferr replied to ابوخليل's topic in قسم الأكسيس Access
السلام عليكم ومرفق البرنامج الشبه نهائي (لأنه لا يرسل رسائل عربية Unicode بعد) والكود فيه الكود الاسرع (الذي في الاعلى) ، وكود التجارب في الاسفل: Private Sub cmd_WhatsApp_Click() Dim cmmd As String Dim cmmd1 As String Dim cmmd2 As String Dim cmmd3 As String Dim cmmd4 As String Dim cmmd5 As String Dim cmmd6 As String Dim cmmd7 As String 'set BE_Path Call BE_or_FE 'Adb location App_Location = BE_Path & "Camera_App\Android_Mobile\Adb.exe" 'Send a message from MS Access through WhatsApp cmmd1 = App_Location & " shell input keyevent 82" & "; sleep 1; " cmmd2 = "am force-stop com.whatsapp" & "; sleep 1; " cmmd3 = "am start -n com.whatsapp/.Main" & "; sleep 1; " cmmd4 = "input text " & Me.To & "; sleep 1; " cmmd5 = "input tap 400 700" & "; sleep 2; " cmmd = cmmd1 & cmmd2 & cmmd3 & cmmd4 & cmmd5 'Debug.Print cmmd Call ShellWait(cmmd, vbHidden) cmmd = App_Location & " shell input text " & Chr(34) & Me.WhatsApp & Chr(34) & "; sleep 1" Call ShellWait(cmmd, vbNormal) cmmd = App_Location & " shell input tap 1000 1100" Call ShellWait(cmmd, vbNormal) Exit Sub 'turn on the mobile cmmd = App_Location & " shell input keyevent 82" & "; sleep 1" Call ShellWait(cmmd, vbNormal) 'turn close WhatsApp cmmd = App_Location & " shell am force-stop com.whatsapp" & "; sleep 1" Call ShellWait(cmmd, vbNormal) 'start WhatsApp cmmd = App_Location & " shell am start -n com.whatsapp/.Main" & "; sleep 1" Call ShellWait(cmmd, vbNormal) 'search for a name or a Group or a phone number cmmd = App_Location & " shell input text " & Me.To & "; sleep 1" Call ShellWait(cmmd, vbNormal) 'tap/touch the first name location (x,y) cmmd = App_Location & " shell input tap 400 700" & "; sleep 1" Call ShellWait(cmmd, vbNormal) 'insert the message cmmd = App_Location & " shell input text " & Chr(34) & Me.WhatsApp & Chr(34) & "; sleep 1" Call ShellWait(cmmd, vbNormal) 'tap/click on the send button location (x,y) cmmd = App_Location & " shell input tap 1000 1100" Call ShellWait(cmmd, vbNormal) End Sub جعفر Send_WhatsApp_messages.mdb.zip -
مطلوب ارسال رسائل نصية عبر الواتس اب watsApp
jjafferr replied to ابوخليل's topic in قسم الأكسيس Access
وعليكم السلام أخي محمد ، وشكرا على التأكيد اما بالنسبة للرقم 1 فانا ذكرته في آخر كود ارفقته ، ومافي فرق بين ChrW(34) و Chr(34) والرقم 2 ، فقلت انك يجب ان تحصل عليه كما في الصورة الاخيرة ، والسبب ان الرقم غير ثابت ، فهو يعتمد على حجم الشاشة وحجم لوحة المفاتيح جعفر -
مطلوب ارسال رسائل نصية عبر الواتس اب watsApp
jjafferr replied to ابوخليل's topic in قسم الأكسيس Access
السلام عليكم تفضل هذا الكود شبه النهائي ، وشغال 100% مع اللغة الانجليزية 'turn on the mobile cmmd = App_Location & " shell input keyevent 82" & "; sleep 1" Call ShellWait(cmmd, vbNormal) 'turn close WhatsApp cmmd = App_Location & " shell am force-stop com.whatsapp" & "; sleep 1" Call ShellWait(cmmd, vbNormal) 'start WhatsApp cmmd = App_Location & " shell am start -n com.whatsapp/.Main" & "; sleep 1" Call ShellWait(cmmd, vbNormal) 'search for a name or a Group or a phone number cmmd = App_Location & " shell input text " & "Hason" & "; sleep 1" Call ShellWait(cmmd, vbNormal) 'tap/touch the first name location (x,y) cmmd = App_Location & " shell input tap 400 700" & "; sleep 1" Call ShellWait(cmmd, vbNormal) 'insert the message cmmd = App_Location & " shell input text " & Chr(34) & "Testing" & Chr(34) & "; sleep 1" Call ShellWait(cmmd, vbNormal) 'tap/click on the send button location (x,y) cmmd = App_Location & " shell input tap 1000 1100" Call ShellWait(cmmd, vbNormal) ولكن للوصول الى الارقام في السطر قبل الاخير ، يجب اتباع التالي (بدل ان تكون ارقامك بالتجربة): . اختر الحقلين 1 و 2 بعلامة الصح ، واللي محتاجين لهم ليعطونا نتائج رقم 3 و 4 (وبعد الحصول على الارقام الصحيحة ، يجب الغاء الصح من الحقلين 1 و2): . لمعرفة مكان زر الارسال ، محور س و ص X Y : ثم بعد ان ندخل اي شيء في حقل الكتابة في الواتس اب ، اغغط وخليك ماسك زر المايكروفون (لانه بعد الكتابة سيتغير الى زر الارسال) ، لاحظ الارقام في الاعلى في المربعين الاحمرين ، وسترى من الصورة انها 1022 في 1062 ، والذي قربته انا في الكود الى 1000 في 1100 . جعفر -
شكرا أخي cudi جعفر
-
مطلوب ارسال رسائل نصية عبر الواتس اب watsApp
jjafferr replied to ابوخليل's topic in قسم الأكسيس Access
لبيك أخي ابوخليل مع اني لم استعمل واتس اب طول عمري ، ولكن لأجل عين ألف عين تُكرم ، جربت على تلفون ولدي الكود غير مكتمل ، لكنه على الطريق الصحيح: 1. يجب اتباع هذه الخطوات لجعل الهاتف يتفاهم مع الكمبيوتر ، الى الصورة التي قلت تحتها: "الآن هاتفك مهيأ للتحكم فيه من خلال البرنامج" ، 2. انزل المرفق من الرابط ، 3. في النموذج frm_Names ، اضف زر للواتس اب ، وضع الكود (الكود المرفق ، ليس الذي في الرابط) على حدث النقر وفي الكود ، بدل: "اسم او رقم الشخص" ، او اسم المجموعة ، يجب ان تكتب معلمة حقيقية ، لأن البرنامج سيعمل بحث لها ، Dim cmmd As String 'how long does it take to take the picture istart = Timer 'set BE_Path Call BE_or_FE 'Adb location App_Location = BE_Path & "Camera_App\Android_Mobile\Adb.exe" Save_images_to = BE_Path & "images\" 'image capture mode cmmd = App_Location & " shell input keyevent 82" & "; sleep 1" Call ShellWait(cmmd, vbNormal) cmmd = App_Location & " shell am force-stop com.whatsapp" & "; sleep 1" Call ShellWait(cmmd, vbNormal) cmmd = App_Location & " shell am start -n com.whatsapp/.Main" & "; sleep 1" Call ShellWait(cmmd, vbNormal) cmmd = App_Location & " shell input text " & "اسم او رقم الشخص" & "; sleep 1" Call ShellWait(cmmd, vbNormal) cmmd = App_Location & " shell input tap 400 700" & "; sleep 1" Call ShellWait(cmmd, vbNormal) cmmd = App_Location & " shell input text " & "I am testing'" & "; sleep 1" Call ShellWait(cmmd, vbNormal) cmmd = App_Location & " shell input tap 990 1650" & "; sleep 1" Call ShellWait(cmmd, vbNormal) المفروض الكود يشتغل عن أخوي ابوخليل على طول ، لأنه جرب برنامجي في الرابط واشتغل معاه وارجو منه يعطينا النتيجة حاليا الكود عندي لا يكتب الرسالة ، ولم اجرب الارسال بعد ومضطر اترك التجربة الآن ، الى بعد حوالي 3 ساعات جعفر -
كيف مو مشكلة!! اذا استعملت: DoCmd.OpenReport "Rreceipt", acViewPreview, , stLinkCriteria, acHidden DoCmd.SelectObject acReport, "Rreceipt" DoCmd.PrintOut , , , , 1 DoCmd.PrintOut , , , , 1 DoCmd.PrintOut , , , , 1 DoCmd.Close acReport, "Rreceipt", acSaveNo او DoCmd.OpenReport "Rreceipt", acViewPreview, , stLinkCriteria, acHidden DoCmd.SelectObject acReport, "Rreceipt" DoCmd.PrintOut , , , , 1 PauseTime = 5 ' Set duration. Start = Timer ' Set start time. Do While Timer < Start + PauseTime DoEvents ' Yield to other processes. Loop DoCmd.PrintOut , , , , 1 PauseTime = 4 ' Set duration. Start = Timer ' Set start time. Do While Timer < Start + PauseTime DoEvents ' Yield to other processes. Loop DoCmd.PrintOut , , , , 1 DoCmd.Close acReport, "Rreceipt", acSaveNo والاكسس اظهر لك التقرير ، معناته لازم نشوف لنا صرفة مع الاكسس ، ومو يشتغل على كيفه ، وإلا يعني هوش بلا راعي جعفر
-
السلام عليكم وكما قال أخي شفان ، إذا كان الحقل مضمن ، فمعناه ان له قيمه تحدده من الجدول ، فاذهب الى إعدادات الحقل في الجدول وغير نوع الرقم من رقم كامل long integer الى Double جعفر
-
الحمدلله سابقا كنا نخلي التقرير مخفي ، ولكني للتجربة عملت التقرير ظاهر جعفر
-
الظاهر المشكلة من الطابعة ، لذلك خلينا نجرب: جرب هذا الكود ، عملت فارق 5 ثوان بين الطبعة الاولى والثانية ، ثم 4 ثوان بين الطبعة الثانية والثالثة ، فقط للتجربة: DoCmd.OpenReport "Rreceipt", acViewPreview, , stLinkCriteria DoCmd.SelectObject acReport, "Rreceipt" DoCmd.PrintOut , , , , 1 PauseTime = 5 ' Set duration. Start = Timer ' Set start time. Do While Timer < Start + PauseTime DoEvents ' Yield to other processes. Loop DoCmd.PrintOut , , , , 1 PauseTime = 4 ' Set duration. Start = Timer ' Set start time. Do While Timer < Start + PauseTime DoEvents ' Yield to other processes. Loop DoCmd.PrintOut , , , , 1 DoCmd.Close acReport, "Rreceipt", acSaveNo واذا ما مشى الحال ، فيمكن تشوف هذه المشاركة، نفس المشكلة مع طابعة الباركود ، وهي شبيهة بطابعة الفواتير ، والمشكلة كانت في اعدادات الطابعة: جعفر
-
طيب جرب هذه الطريقة: DoCmd.OpenReport "Rreceipt", acViewPreview, ,stLinkCriteria DoCmd.SelectObject acReport, "Rreceipt" DoCmd.PrintOut , , , , 1 DoCmd.PrintOut , , , , 1 DoCmd.PrintOut , , , , 1 DoCmd.Close acReport, "Rreceipt", acSaveNo وعليكم السلام اخي بدر نعم نعرف هذه الطريقة ، ولكن التقرير بطيء ، لذلك فنحن نحاول فتح التقرير مرة واحدة ، والطباعة عدة مرات جعفر
-
هل لاحظت اني عملة التقرير غير مخفي
-
-
وعليكم السلام جرب هذا: DoCmd.OpenReport "Rreceipt", acViewPreview, ,stLinkCriteria DoCmd.SelectObject acReport, "Rreceipt" DoCmd.PrintOut , , , , 3 DoCmd.Close acReport, "Rreceipt", acSaveNo جعفر
-
وعليكم السلام جرب هذا ، انت تقرر Round الى اي عدد بعد الفاصلة ، 2 او 3 مثلا ، وعدم وضعك لرقم معناه انك تقرب الرقم بدون كسور بعد الفاصلة: taxt_n1: Round([taxt_t1]/[d2]*[d1],3) taxt_n4: Round(1/[d2]*[d11],2) جعفر
-
طباعة خطوط الباركود من التقرير وعمل ترتيب مخصص في التقرير
jjafferr replied to حسين العربى's topic in قسم الأكسيس Access
هلا والله -
لوسمحتي ترفقين شيء ممكن اساعدك فيه
-
وين الكود اللي انا اقترحته انا !!
-
اذا ممكن اشوف الحدث بالكامل لوسمحتي
-
وعليكم السلام تفضل: جعفر
-
اذن يجب تطابق الاسم والرقم MyPass = DLookup("[psswrd]", "useres", "[user_name]='" & Me.User_namee & "'") If Me.psswrd = "1010" and MyPass = "Admin" Then جعفر