اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

ابوخليل

أوفيسنا
  • Posts

    12,464
  • تاريخ الانضمام

  • Days Won

    232

كل منشورات العضو ابوخليل

  1. اضفت حقل كمعرف userid جعلته في الجدول الاول قابل للتكرار وفي الثاني غير قابل للتكرار ( افتح الجدول الاول سترى ان احد الاسماء مكرر ) امسح البيانات من الجدول الثاني شغل النموذج وانقر على زر الالحاق مرة ومرات عديدة .. ارجع الى الجدول الثاني لترى النتيجة بعينك Database9.accdb
  2. كما ذكرت لك ان الطريقة غير منطقية ، فمجرد ان تنقر مرة اخرى ستظهر لك رسائل بجميع الاسماء .. لنفترض ان لديك الف اسم حينها ستظهر لك الف رسالة الحل الامثل الذي اراه ان يكون الإلحاق صامت حتى لو نقرت على زر الإلحاق الف مرة ، ولكن النتيجة ستكون الحاق ما يستجد في جدول tt بشرط الا يكون موجود في جدول xx ولكن بشرط تعديل طفيف في تصميم الجداول 1- اضافة حقل نصي لكل اسم كـــ رقم الهوية او رقم الوظيفة ونحو ذلك مع ملاحظة ان يكون فريدا غير قابل للتكرار في جدول xx سوف اعدل على المرفق حتى تتضح لك
  3. نعم يمكن انا وضعت الكود في حدث الحالي للنموذج انسخ الكود وضعه في حدث بعد التحديث للحقل الذي ستكتب فيه رقم الصنف الجديد ملحوظة : لا بأس ان يعمل الكود في الحدثين معا
  4. sap_no = DLookup("[sap no]", "sap", "[رقم الصنف]='" & Me.aa & "'") اخي الكريم يوجد اساسات مهمة يجب عليك تعلمها وتطبيقها حتى يسهل عليك التعلم والاحتراف منها : - عدم استخدام الحروف العربية في تسمية الكائنات والعناصر - عدم ترك مسافات بين الكلمات في التسمية TT.mdb
  5. السلام عليكم رغم وجود بعض الملاحظات في تصميم الجداول التي يتطلبها الالحاق ، ولكن دعنها نتركها لوقتها الاستفسار : المنطق يقول ان الالحاق يتم على موظف موظف لانه لا يتصور الحاق الجدول الاساس بجميع بياناته لمرات عديدة ، والسبب عند الإلحاق للمرة الثانية سوف تظهر لك الرسائل بجميع الاسماء الموجودة الا اذا كنت تريد هذا الفعل لمرة واحدة وهي عمل تحديث لبيانات الجدولين بحيث تنقل الاسماء الغير موجودة في الجدول الثاني تنقلها اليه من الجدول الأول
  6. السلام عليكم كما يظهر لك يوجد تعارض او تكرار وظيفة داخل الوحدةالنمطية اكتشف بنفسك هذا التعارض : افتح محرر اليجوال بيسك ( alt + f11 ) من الادوات في الاعلى اختر Debug انقر على اول خيار compile سوف ينقلك الى مكان الخطأ
  7. السلام عليكم لدي وجهة نظر بما ان السجل يخص ثوب محدد لزبون محدد ، وانت تريد عرض جميع انواع الجزئية سواء كانت اكمام او ياقات او جيوب .. الخ لتختار منها ما يناسب الزبون فأرى انك لست بحاجة الى النموذج المستمر سوف تعمل مجلدات تدرج فيها صور انواع الجزئيات .. كل جزئية بملف يخصها ( لاحظ ان اسم الصورة التي تمثل الجزئية المختارة سيكون الرقم المعرف للصورة ) وفي النموذج عند النقر على : ( الكم ) يفتح المجلد بجميع الصور الخاصة بالكم ، وبمجرد اختيار الكم المناسب يتم تسجيل رقم الكم ( المعرف) في الحقل .. وايضا الوصف تصوري للمخرجات لو اردت طباعة وصل او تقرير .. سيظهر التقرير كقائمة بمواصفات الثوب ,, لاحظ انه لا يوجد صور السبب اننا نستخدم الصور فقط لاتاحة اختيار الزبون من بين الانواع
  8. الف مبروك استاذ احمد تستاهل كل خير والى الامام ان شاء الله
  9. الف مبروك ، وفخر لمنتدى اوفيسنا انضمامكما الى مجموعة الخبراء
  10. ألف مبروك باشمهندس قبل الخبرة والاحتراف هندسة في الحوار وفي التواضع
  11. ألف مبروك اخوي سامي على التشريف والتكليف تستاهل اكثر
  12. وجدت لك مثالا في مكتبتي يظهر تاريخ الانترنت في مصر ( مكتبتي تشمل امثلة كثيرة معظمها ليست من عملي) سوف تلاحظ بطء عند تشغيل النموذج وهذا بسبب جلب التاريخ من الموقع المخصص يحتاج لهذا الوقت حسب سرعة الانترنت هذه هي الوحدة النمطية الاصلية .. فقط غيرت رابط الموقع فيها Function InternetTime(Optional GMTDifference As Integer) As Date '----------------------------------------------------------------------------------- 'This function returns the Greenwich Mean Time retrieved from an internet server. 'You can use the optional argument GMTDifference in order to add (or subtract) 'an hour from the GMT time. For Example if you call the function as: '=InternetTIme(2) it will return the (local) hour GMT + 2. Note that the 'GMTDifference variable is an integer number. 'Written by: Christos Samaras 'Date: 25/09/2013 'Last Updated: 20/11/2013 'e-mail: xristos.samaras@gmail.com 'site: http://www.myengineeringworld.net 'Declaring the necessary variables. Dim Request As Object Dim ServerURL As String Dim Results As String Dim NetDate As String Dim NetTime As Date Dim LocalDate As Date Dim LocalTime As Date 'Check if the time difference is within the accepted range. If GMTDifference < -12 Or GMTDifference > 14 Then Exit Function End If 'The server address. ServerURL = "https://www.time.gov/" 'ServerURL = "http://www.timeanddate.com/worldclock/fullscreen.html?n=2" 'Build the XMLHTTP object and check if was created successfully. On Error Resume Next Set Request = CreateObject("Microsoft.XMLHTTP") If Err.Number <> 0 Then Exit Function End If On Error GoTo 0 'Create the request. Request.Open "GET", ServerURL, False, "", "" 'Send the request to the internet server. Request.Send 'Based on the status node result, proceed accordingly. If Request.readyState = 4 Then 'If the request succeed, the following line will return 'something like this: Mon, 30 Sep 2013 18:33:23 GMT. Results = Request.getResponseHeader("date") 'Use the Mid function to get something like: 30 Sep 2013 18:33:23. Results = Mid(Results, 6, Len(Results) - 9) 'Use the Left and Right function to distinguish the date and time. NetDate = Left(Results, Len(Results) - 9) '30 Sep 2013 NetTime = Right(Results, 8) '18:33:23 'Convert the date into a valid Excel date 30 Sep 2013 -> 30/9/2013. 'Required for countries that have some non-Latin characters at their alphabet (Greece, Russia, Serbia etc.). LocalDate = ConvertDate(NetDate) 'Add the hour difference to the retrieved GMT time. LocalTime = NetTime + GMTDifference / 24 'Return the local date and time. InternetTime = LocalDate + LocalTime End If 'Release the XMLHTTP object. Set Request = Nothing End Function Function ConvertDate(strDate As String) As Date '------------------------------------------------------------------------- 'This function converts the input date into a valid Excel date. 'For example the 30 Sep 2013 becomes 30/9/2013. 'Required for countries that have non-Latin characters at their alphabet. 'Written by: Christos Samaras 'Date: 25/09/2013 'e-mail: xristos.samaras@gmail.com 'site: http://www.myengineeringworld.net '------------------------------------------------------------------------- 'Declaring the necessary variables. Dim MyMonth As Integer 'Check the month and convert it to number. Select Case UCase(Mid(strDate, 4, 3)) Case "JAN": MyMonth = 1 Case "FEB": MyMonth = 2 Case "MAR": MyMonth = 3 Case "APR": MyMonth = 4 Case "MAY": MyMonth = 5 Case "JUN": MyMonth = 6 Case "JUL": MyMonth = 7 Case "AUG": MyMonth = 8 Case "SEP": MyMonth = 9 Case "OCT": MyMonth = 10 Case "NOV": MyMonth = 11 Case "DEC": MyMonth = 12 End Select 'Rebuild the date. ConvertDate = DateValue(Right(strDate, 4) & "/" & MyMonth & "/" & Left(strDate, 2)) End Function وهذا هي الاكواد الخاصة بمنادات الدالة في النموذج Private Declare Function InternetGetConnectedState Lib _ "wininet" (ByRef dwflags As Long, ByVal dwReserved As _ Long) As Long Private Sub Form_Load() If InternetGetConnectedState(0, 0) = 1 Then lblResult.Caption = "Connected" Else lblResult.Caption = "Not Connected" End If End Sub وهذا السطر يوضع في مصدر تحكم الحقل .. لاحظ الرقم يتغير حسب المنطقة فلو اردت تطبيق النموذج على السعودية فيجب تغيير الرقم 2 الى الرقم 3 =InternetTime(2) وهذا تنسيق لاظهار الوقت فقط في مصدر تحكم الحقل =Format(InternetTime(2);"hh:nn:ss AM/PM") تاريخ ووقت الانترنت.rar
  13. لاحظ انه تم اضافة مقطع رأس لجهة العمل ، وقمت انا بنقل الحقل اليه طبعا اكسس يضيفه بمجرد اختيارك لنوع التجميع
  14. تفضل تم الحل عن طريق التجميع حسب جهة العمل كشف المرتبات2.accdb
  15. استبدل المعيار الموجود في الاستعلام بهذا [Forms]![enter]![frm]![combo1] تحليل2.rar
  16. تفضل .. ابقيت على التقرير الاصلي فقد تكون بحاجة لطباعة اسم محدد وعملت لك زر جديد لطباعة الكل كشوفات نهاية2.rar
  17. شكرا جزيلا احبتي .. جربوا لنا العكس من الهجري الى الميلادي .. لان الاشكال في هذا التحويل خاصة في شهر 2 الاشكال اذا كان نوع الحقل تاريخ/وقت اما اذا الحقل نصي فهو يقبل اي شيء وسبب الاشكال منطقي لأن اكسس يقرأ التاريخ الهجري على انه (تاريخ ميلادي - 622 )
  18. صاحب الموضوع سأل عن الدالة فقط وانها لا تعمل والاصل ان يذكر ماذا يريد ان يعمل ، يلزمه شرح الفكرة عند الاختيار من مربع التحرير .. حيث يوجد جدولان .. جدول للقاءات وجدول للمكافآت
  19. نعم هذا بيت القصيد .. على كل حال سوف افصل المشاركات الاخيرة هذه بموضوع مستقل .. بهذا الخصوص . مع اني رأيت ان هذا الطرح لم يعجب اخونا البرناوي @Barna
  20. من تواضع لله رفعه التواضع من شيم النبلاء وعلى طارىء انت اكبر مني .. انا اسن منك .. لو احد الشباب يفتح موضوعا جديدا للمتعة والفائدة .. يسجل فيه كل عضو من اعضاء هذا المنتدى تاريخ ميلاده
  21. وهذا تجميع حسب الموظف حساب التأخيرات4.rar
  22. يوجد تقديم وتأخير في الكود الصحيح هكذا : Expr1: ([empsalary]/14400)*DateDiff("n";#07:30:00 AM#;[ADD_start]) حساب التأخيرات3.rar
  23. ويمكن من دون استخدام المعادلة : جمع الدقائق من سجلات الحضور وتحويلها الى ساعات وايام والخصم حسب نظام الشركة سواء على مستوى الشهر الواحد او اكثر .. او تطبيق النظام الذي تفضل به استاذنا مبرمج متقاعد
  24. مداخلة جميلة ومعلومة مهمة كبداية : المتبع في معظم الادارات الحكومية والشركات احتساب الشهر عموما 30 يوما عند التصفية او حساب الخدمة ونحو ذلك لو ضربت 30 في 8 في 60 لنتج 14400 دقيقة .. وهذه معادلة ثابتة تطبق سواء اكتمل الشهر او تخلله اجازات .. وهي في صالح العامل انظر هنا في المثال حل مختصر سريع لمبلغ الخصم اليومي .. حسب المعادلة اعلاه Expr1: (14400/[empsalary])*DateDiff("n";#07:30:00 AM#;[ADD_start]) جرب ووافني برأيك حيث يمكن التوسع في المسألة حساب التأخيرات2.accdb
  25. اذا هذه حسبتك الدائمة فالناتج ثابت ويساوي = 14400 .. نقسم عليه الراتب ليخرج استحقاق الدقيقة الواحدة ثم نضرب استحقاق الدقيقة في عدد دقائق التأخر .. اذا ساعات العمل تختلف من موظف لآخر ..... وايضا ايام العمل في الشهر تختلف فيجب اتباع طريقة اخرى في التنفيذ ايضا وقت بداية العمل ليست ثابتة على مدار العام فيوجد توقيت شتوي وآخر صيفي ، هنا يلزمنا عمل جدول نضع فيه بداية الدخول ونهاية الخروج كتبت هذا على عجالة لم اطلع على المرفق سأوافيك بالتعديل على المرفق لاحقا بعد ان تعقب على رأيي اعلاه
×
×
  • اضف...

Important Information