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

Foksh

أوفيسنا
  • Posts

    4006
  • تاريخ الانضمام

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

  • Days Won

    167

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

  1. وعليكم السلام ورحمة الله وبركاته .. هل تستطيع ارفاق قاعدة بياناتك التي بها المشكلة ؟؟ وقبل هذا هل قمت بتجربة المشروع هذا على جهاز آخر ونسخة أوفيس أخرى ؟؟ هناك الكثير من الأسباب ، ولكنك لم توضح ان كانت المشكلة في جميع قواعد بياناتك القديمة والجديدة أو ماذا !!!!
  2. كما تريد أخي @سامر محمود ،، تفضل هذا التعديل :- Pepsi-fockh.zip
  3. أخي @2saad بدلاً من فتح موضوعين لنفس الطلب ، كان الأجدر بك التوضيح أكثر واستغلال مساحة الموضوع الأول الذي قمت بإنشاءه سابقاً ، ولا أعلم لما تبخل في التوضيحات أثناء ردودك . على العموم هل الصورة التالية مناسبة لطلبك ؟
  4. وعليكم السلام ورحمة الله وبركاته ، اختر فقط اللغة العربية بدلاً من الإنجليزية ، وقم بإزالة اشارة الصح عن UTF-8 طبعاً اللغة العربية حسب بلدك أو البلد الذي تريده
  5. من وجهة نظري وحتى تسير على خطوات صحيحة .. من المفترض أن جدول Data ( وهو اسم محجوز لآكسيس ) أن يكون له نموذج لإدخال البيانات الى الجدول ، ...... بعد الإطلاع على الملف بشكل معمق ، وبهذا الأسلوب أعتقد انك بحاجة الى إعادة بناء فكرة النموذج أخي سامر ( إن أردت النصيحة طبعاً ) . بهذا الأسلوب ستقضي نصف المشروع وقتاً ببناء استعلامات 😅 . فمثلاً ما حاجة تكرار البيانات في جدولين .
  6. بارك الله فيك ، وغفر لك ولوالديك والمسلمين 😇 يسعدني أنك وجدت الحل مناسباً لك 🤗
  7. العفو أخي الكريم ، نحن هنا أسرة واحدة ، وكلنا نساعد ونساند بعضنا البعض ، ويوماً ما سأحتاج مساعدتك في معضلة لم أجد لها حل بإذن الله تعالى 😉 . جهز نفسك 😁 .
  8. وعليكم السلام ورحمة الله وبركاته ،، جرب هذا التعديل على حسب ما فهمت من الشرح Sub Test_Optimized() Dim ws As Worksheet, dataArr As Variant, outputArr() As Variant Dim i As Long, ii As Long, p As Long, startRow As Long, endRow As Long Dim chunkSize As Long, chunkStart As Long, chunkEnd As Long Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.EnableEvents = False Set ws = ActiveSheet chunkSize = 5000 ReDim outputArr(1 To chunkSize * 10, 1 To 14) With ws .Columns("Q:P").Clear .Columns("P").ColumnWidth = 12 .Range("R1").Resize(, 14).Value = Array("الدفعة", "ج", "ت ح", "ت م", "ت ع", "ل ع", "ل ح", "ل م", "ل ع1", "ر ع1", "ل ح1", "ر ح1", "ل م", "ر م1") .Range("R1").Resize(, 14).Interior.Color = RGB(146, 205, 220) .Range("R1").Resize(, 14).HorizontalAlignment = xlCenter For chunkStart = 2 To 13000 Step chunkSize chunkEnd = chunkStart + chunkSize - 1 If chunkEnd > 13000 Then chunkEnd = 13000 dataArr = .Range("A" & chunkStart & ":N" & chunkEnd).Value p = 1 For i = LBound(dataArr, 1) To UBound(dataArr, 1) If IsNumeric(dataArr(i, 2)) And IsNumeric(dataArr(i, 3)) Then startRow = dataArr(i, 2) endRow = dataArr(i, 3) For ii = startRow To endRow outputArr(p, 1) = dataArr(i, 1) outputArr(p, 2) = ii outputArr(p, 3) = dataArr(i, 4) outputArr(p, 4) = dataArr(i, 5) outputArr(p, 5) = dataArr(i, 6) outputArr(p, 6) = dataArr(i, 7) outputArr(p, 7) = dataArr(i, 8) outputArr(p, 8) = dataArr(i, 9) outputArr(p, 9) = dataArr(i, 10) outputArr(p, 10) = dataArr(i, 11) outputArr(p, 11) = dataArr(i, 12) outputArr(p, 12) = dataArr(i, 13) outputArr(p, 13) = dataArr(i, 14) outputArr(p, 14) = dataArr(i, 14) p = p + 1 Next ii End If Next i If p > 1 Then .Range("R" & chunkStart).Resize(p - 1, 14).Value = outputArr ReDim outputArr(1 To chunkSize * 10, 1 To 14) End If Next chunkStart End With Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Application.EnableEvents = True End Sub
  9. على اي أساس سيتم تمييز السجلات الخاصة بالجهاز ولنفترض Pc1 و Pc2 ... إلخ .؟؟؟ لنفترض انني Pc1 على شبكة Net1 وموظف آخر على شبكة Net2 باسم Pc1 أيضاً !!!!! هل فهمت المقصود ؟؟ ما الرابط فيما بينهم !!!!!
  10. وعليكم السلام ورحمة الله وبركاته .. المطلوب غير مفهوم للأسف !! نرجو منك التوضيح أكثر أخي الفاضل
  11. إلى الآن لم تتضح أو تظهر لي المشكلة ، والحل باعتقادي بسيط ، هو فقط الاعتماد على الحقل [ClassNo] للفرز التصاعدي .
  12. اهلاً اخي الكريم ، يسعدني ذلك . ولكني لم أفهم من خلال الصورة المطلوب بشكل جيد ، وحتى ان المرفق يحتوي على جدولين ، في جدول Class لو قمت بترتيب السجلات حسب رقم الصف لخرجت معك النتيجة كما تريد ، ونفس المبدأ في التقرير طبعاً ..
  13. وعليكم السلام ورحمة الله وبركاته .. أهلاً بك أخي الكريم في مشاركتك في عالم أكسيس .. نود منك بدايةً التقيد بقوانين وأُسس المشاركات هنا . حيث يجب أن يتضمن السؤال توضيحاً كافياً و وافياً وشرحاً يصف المشكلة التي لديك ، وفيما تفضلت به هو أعلاه لا يكفي لفهم المشكلة . ثانياً ضرورة ارفاق ملف كي يتم التطبيق عليه ولفهم المشكلة على أرض الواقع .. أهلاً وسهلاً بك
  14. وعليكم السلام ورحمة الله وبركاته ,, كمشاركة لي خارج قوقعتي في قسم الآكسيس ، استخدم الدالة LEFT ، في الخلية D1 حسب مثالك ، وسينتج عن ذلك رقم مكون من 6 خانات إن كان هذا طلبك , =LEFT(A1&"",2) & LEFT(B1&"",2) & LEFT(C1&"",2)
  15. وعليكم السلام ورحمة الله وبركاته .. باعتقادك هل هذه الجملة كافية لتوضيح الحقول المطلوب جمع قيمها في سجل واحد ؟؟؟ أضف إلى ذلك أيضاً ، جداولك الثلاثة تحتوي 64 حقل تقريباً بدون اي سجل !!!!!!!!! أيضاً ما الشرط الذي سيتم على أساسه المحاولة في فهم طلبك وإيجاد حل له ؟؟؟؟؟؟؟؟ اين النموذج ؟؟؟؟ هذا يعني انك ستحتاج تقرير أيضاً !!!! شكراً لك سعة صدرك ، متأملاً منك تصويب الوضع السابق بشرح كافي وافي شافي وإدراج سجلات متعددة على الأقل 5 ، ولا تقم بوضع بيانات حساسة وخاصة طبعاً وبيانات حقيقية ( أسماء ، أرقام هاتف ، ,,, إلخ ) .
  16. ما شاء الله ، تحديث جميل للجزئية الهامة عند كتابة جمل SQL ، جزاكم الله كل خير مهندسنا الغالي
  17. قد تكون سهواً عند تعديل الاستعلام وخرجت تسلسلاً mgmo1 > mgmo2 .... .
  18. وعليكم السلام ورحمة الله وبركاته .. أهلاً بك معنا في عالمنا المتواضع بدايةً .. ونرجو أن تجد الفائدة والمعلومة الصحيحة هنا .. أحب أن ألفت انتباهك إلى ضرورة الشرح الوافي الكافي لطلبك بشكل يسهل فهمه على من يقرأ موضوعك ومشاركتك هنا . ولهذا اعتقد أن الكثيرين مروا بموضوعك ولم تجد أي تعليق لأن الطلب غير مفهوم من ناحية المبدأ . حيث لم تقم بإدراج صور أو ملف مرفق يوضح مشكلتك على أرض الواقع أخي الكريم .. أشكرك سعة صدرك ورحابته ، آملاً منك الإفصاح بالتوضيح حتى لو كان الموضوع يستحق 100 سطر , فلا تبخل علينا بقراءة كلماتك .
  19. تفضل ملفك بعد التطبيق Lists.accdb
  20. مشاركةً مع أخي الأستاذ @kanory ، تعديل بسيط Private Sub Form_Load() Dim obj As AccessObject, f As String, r As String For Each obj In CurrentProject.AllForms If LCase(obj.Name) <> "main" Then r = r & "نموذج:" & obj.Name & ";" Next f = Dir(CurrentProject.Path & "\*.xls*") Do While f <> "": r = r & "ملف:" & f & ";": f = Dir(): Loop Me.مربع_تحرير_وسرد1.RowSourceType = "Value List" Me.مربع_تحرير_وسرد1.RowSource = Left(r, Len(r) - 1) End Sub Private Sub مربع_تحرير_وسرد1_AfterUpdate() On Error GoTo ErrorHandler If Left(Me.مربع_تحرير_وسرد1, 6) = "نموذج:" Then DoCmd.OpenForm Mid(Me.مربع_تحرير_وسرد1, 7) Else With CreateObject("Excel.Application") .Visible = True .Workbooks.Open CurrentProject.Path & "\" & Mid(Me.مربع_تحرير_وسرد1, 5) End With End If Exit Sub ErrorHandler: MsgBox "حدث خطأ: " & Err.Description, vbExclamation End Sub
  21. حبيبي يا بشار ، الله يسعد قلبك ويهنيك ..
  22. صديقي @Bshar ، جرب هذا التعديل عندك .. Private Sub e2_Click() Dim ctl As Form Set ctl = Me.dff.Form Dim foundValid As Boolean foundValid = False With ctl.RecordsetClone .MoveFirst Do While Not .EOF If ctl.Controls("hgf").Value = True Then foundValid = True Exit Do End If .MoveNext Loop End With If Not foundValid Then MsgBox "لم يتم إدخال أدوية - سيتم الخروج الآن", vbExclamation, "إدارية" DoCmd.Close Exit Sub End If Dim strSQL As String strSQL = "UPDATE [" & ctl.RecordSource & "] " & _ "SET [qunt_x] = Nz([qunt_a], 0) - Nz([qunt_out], 0) " & _ "WHERE [efkt_b] = True" DoCmd.SetWarnings False DoCmd.RunSQL strSQL DoCmd.OpenQuery "efkt_aa", acViewNormal DoCmd.OpenQuery "del_efktc", acViewNormal DoCmd.OpenQuery "ry", acViewNormal DoCmd.SetWarnings True Me.dff.Requery Me.Requery Me.Refresh MsgBox "تم بنجاح", vbInformation, "إدارية" DoCmd.Close DoCmd.OpenForm "efkt" End Sub
×
×
  • اضف...

Important Information