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

kanory

الخبراء
  • Posts

    2,206
  • تاريخ الانضمام

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

  • Days Won

    134

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

  1. جرب هذا ..... مع تعديل ما يلزم <><><><><<><><<>><><|> Dim x As Integer, mov_st As String Dim db As Database, rst As Recordset Set db = CurrentDb Set rst = db.OpenRecordset("SELECT doc.doc_ID, doc.mov_no, doc.mov, doc.mov2 FROM doc ORDER BY doc.doc_ID;") rst.MoveFirst x = 1 mov_st = rst!doc_ID Do While Not rst.EOF If mov_st <> rst!doc_ID Then x = 1 mov_st = rst!doc_ID End If rst.Edit rst!mov2 = x x = x + 1 rst.Update rst.MoveNext Loop MsgBox "تم توزيع الارقام ", vbInformation + vbMsgBoxRight + vbOKOnly, "برنامج" rst.Close Me.Refresh
  2. اذا لم يعمل معك ... انقل الاكواد للمثال لديك ... وجرب
  3. جرب المرفق التالي ................ Database1 (15).accdb
  4. طيب انظر الصور لتعرف موطن التعديل .... <><><><><><><><><> تفضل ملفك بعد التعديلات الاخيرة المطلوبة وتصحيح بع الاخطاء التي ذكرتها لك اما انا فعادة استخدم شاشة واحدة لتوزيع ارقام الجلوس واللجان معا ,,,,, انظر طريقتي <><><><><><< كتشنة الرقم السرى واللجان.accdb
  5. عفوا ..... اخي الكريم ..... قم بتجربة البرنامج لديك بتوزيع مثلا عشر طلاب لمجموعة واحدة .... ثم قم بعد الطلاب من الجدول هل العدد صحيح لديك ام العدد 11 طالب ؟؟؟؟ لاني رأيت هناك خطأ وقمت بتعديله لدي ..... ارجو الرد لارفاق المرفق الجديد لك ....
  6. احيانا وجود المثال يسهل علينا التطبيق ..... لان الكلام النظري غير التنفيذ ..... على كل حال تفضل هذه الوحدة النمطية كييفها حسب مثالك بارك الله فيك ... Sub FormatExcelOut(FileName As String) Dim i As Integer Set objapp = CreateObject("Excel.Application") objapp.Visible = False Set wb = objapp.Workbooks.Open(FileName, True, False) For Each ws In wb.Worksheets With ws .DisplayRightToLeft = True .Application.DisplayAlerts = False .usedRange.Borders.LineStyle = 1 .Columns.Font.Name = "Arial" .Columns.Font.Size = 12 .Columns.Font.Bold = True .Range("A1:E1").RowHeight = 20 .Tab.Color = 15656192 ' .usedRange.Columns.AutoFit .usedRange.HorizontalAlignment = 3 .usedRange.Columns(1).Interior.Color = vbYellow End With Next wb.Save objapp.Quit Set objapp = Nothing End Sub
  7. كثرة الامثلة في الردود ... اين مثالك اخي رضوان الذي اعتمدته انت كي ننظر في سؤالك الثاني
  8. وهذه مشاركتي مع الاستاذ @kkhalifa1960 تفضل <><><><><><><><> كتشنة الرقم السرى.accdb
  9. المفروض بدل تكرار كتابة رقم الجلوس والرقم السري في كل مرة ولكل مجموعة أن تكتب بداية رقم الجلوس وبداية الرقم السري وعدد المجموعات ( او عدد المجموعة ) فقط مرة واحدة حيث يقوم البرنامج هو نتحديد رقم المجموعة وتوزيع ارقام الجلوس والارقام السرية لها ... ثم تلقائي ينتقل للمجموعة الثانية ويوزع ارقام الجلوس والارقام السرية دفعة واحدة .. بدون تدخل منك ... الا اذا كانت هناك الية معينة انت تريدها ارجو توضيحها ........
  10. ابحث في المنتدى ............... تجد العديد منها ................ انظر ...... تفضل هنا تابع الموضوع
  11. الجدول EnEx1 لو لاحظت فيه مفتاحين وعادة هذه المفاتيح ترفض التكرار .... لذلك عند الالحاق يرفض لتكرار هذين الحقلين طبعا ولا يتم الالحاق فقط حذفنا المفتاحين وحولناها حقول عادية ليقبل التكرار ...
  12. تفضل الملف بعد التعديل <><><><><><><><<><><> ‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏HR19-2-2023.rar
  13. طيب يا استاذي الكريم :::: من اساس الفكرة هي استعلام الحاق :::: تم الحاق اصحاب الفترة المسائية ثم الحاق اصحاب الفترة الصباحية وهذا ما مان في المرفق السابق احتجنا استعلام ثالث وهو الحاق اصحاب الفترة الثانية ( الدوام الثاني ) فاضفت لك هذا الاستعلام الثالث انظر الكود وقارن بالكود السابق .... DoCmd.SetWarnings False CurrentDb.Execute ("Delete * From EnEx1") 'استعلام الحاق اصحاب الفترة المسائية DoCmd.RunSQL "INSERT INTO EnEx1 ( ID, Ddate, ExDate, EnDate ) SELECT EnEx.ID, EnEx.Ddate, [Ddate] & "" "" & [ExDate] AS ex, [Ddate] & "" "" & [enDate] AS en FROM EnEx WHERE (((EnEx.EnDate)<>#12/30/1899 23:0:0#) AND ((EnEx.ExDate)<>#12/30/1899 23:0:0#));" 'استعلام الحاق اصحاب الفترة الصباحية DoCmd.RunSQL "INSERT INTO EnEx1 ( ID, Ddate, ExDate, EnDate ) SELECT EnEx.ID, EnEx.Ddate, [Ddate]+1 & "" "" & [ExDate] AS ex, [Ddate] & "" "" & [enDate] AS en FROM EnEx WHERE (((EnEx.EnDate)=#12/30/1899 23:0:0#));" 'استعلام الحاق اصحاب الفترة( الدوام الثاني ) DoCmd.RunSQL "INSERT INTO EnEx1 ( ID, Ddate, ExDate, EnDate ) SELECT EnEx.ID, EnEx.Ddate, [Ddate] & "" "" & [ExDate2] AS ex, [Ddate] & "" "" & [enDate2] AS en FROM EnEx WHERE (((EnEx.EnDate2) Is Not Null));" DoCmd.SetWarnings True DoCmd.OpenQuery "Tat_kan", acViewNormal ملاحظة:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: لن يعمل معك بالشكل الصحيح عند التطبيق الان ( حاول تعرف السبب ) .... ههههههه تحتاج تغيير جدول EnEx1 حاول .... وسوف ادرج لك الملف بعد ربع ساعة من الان .... لكسب الوقت ....
  14. وعليكم السلام ورحمة الله وبركاته الحقيقة لم افهم الية عمل الصلاحيات لديك .... لكن جرب هذا ربما هو ما تريد .... مثال (3).accdb
  15. فكر وحاول تعملها لوحدك .... واذا لم تستطع ساعدناك ...... ( علمني كيف اصطاد ) ........ انظر ......
  16. طيب التعديلات في اضافة نموذج1 و استعلام Tat_kan و موديول Module1 افتح النموذج 1 ثم اضغط على عملية الاحتساب جرب واعلمنا بالنتيجة ..... ‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏HR19-2-2023.rar
  17. طيب راجع هذه النتائج هل هي صحيحة حسب ما اوردت من بيانات في مرفقك السابق .......
  18. كلامك صحيح مئة بالمئة عارف المشكلة اين أخي @ابوخليل كيف يمكن من خلال جدولة التمييز بين الفترات !!!! فلذلك التصميم الصحيح للجداول مهم جدااااااااااااا اخي @ابو مهند شتية هل هنا جدول لتوزيع دوام الموظفين ..... بمعنى انا موظف لديك .... كيف اعرف ايام وفترات دوامي ؟؟؟؟ هل هنا جدول اسبوعي مثلا لتغيير هذه الفترات او شهري اوووووو .... كيف يمكن معرفة ان دوام kanory غدا 7 صباحا مثلا وليس 9 صباحا
  19. اخي @ابو مهند شتية ممكن تزيد من عدد البيانات الموجودة في الجدول حتى نستطيع مساعدتك في هذه المشكلة ..... لاني ارى هذا الموظف بياناته مختلفة عن سابقة ... انظر .... لا حظ الموظفين ( 1001 - 1005 ) لديهم خروج دوام اول اما الموظف ( 1009 ) ليس لديه خروج دوام اول هل هناك حالات لموظفي اخرين بنفس الطريقة أم هي غلطة مطبيعة .... لانها جزء من الحل الذي افكر فيه ... ارجو التوضيح .... بارك الله فيك
×
×
  • اضف...

Important Information