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

نجوم المشاركات

  1. ابو جودي

    ابو جودي

    أوفيسنا


    • نقاط

      11

    • Posts

      6,503


  2. Eng.Qassim

    Eng.Qassim

    الخبراء


    • نقاط

      8

    • Posts

      2,296


  3. محمد هشام.

    محمد هشام.

    الخبراء


    • نقاط

      7

    • Posts

      1,047


  4. mn20

    mn20

    02 الأعضاء


    • نقاط

      5

    • Posts

      74


Popular Content

Showing content with the highest reputation on 23 فبر, 2023 in all areas

  1. السلام عليكم ورحمة الله وبركاته قد يكون الجواب في هذه المعادلة إن كنت قد فهمت قصدك =IFERROR(SUM(COUNTIF(الجدول1[@[s1]:[s13]];"Yes");COUNTIF(الجدول1[@[s1]:[s13]];"Na"))*9;"") راجياً لكم التوفيق والسلام عليكم Score.xlsx
    4 points
  2. وعليكم السلام ورحمة الله وبركاته يمكن عمل ذلك باستخدام الدالة العجيبة (SUMPRODUCT) كما بالملف المرفق .. ولعله المطلوب. وتقبلوا وافر تحياتي .. Score.xlsx
    4 points
  3. Try this code Const numRows As Long = 100 Sub Test() Dim dataArray(), subArrays(), sheetNames() As String, ws As Worksheet, srcSheet As Worksheet, newSheet As Worksheet, dataRange As Range, sheetName As String, lr As Long, i As Long, j As Long, k As Long, cnt As Long, startRow As Long, endRow As Long Application.ScreenUpdating = False For Each ws In ThisWorkbook.Worksheets If Left(ws.Name, 1) = "T" And IsNumeric(Right(ws.Name, Len(ws.Name) - 1)) Then Application.DisplayAlerts = False ws.Delete Application.DisplayAlerts = True End If Next ws Set srcSheet = ThisWorkbook.Worksheets(1) lr = srcSheet.Cells(srcSheet.Rows.Count, "A").End(xlUp).Row Set dataRange = srcSheet.Range("A2:D" & lr) dataArray = dataRange.Value subArrays = SplitArray(dataArray) cnt = 1 ReDim sheetNames(1 To UBound(subArrays)) For i = 1 To UBound(subArrays) Set newSheet = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Worksheets(ThisWorkbook.Worksheets.Count)) With newSheet .DisplayRightToLeft = True sheetName = "T" & cnt .Name = sheetName sheetNames(i) = sheetName srcSheet.Rows(1).Copy Destination:=.Rows(1) startRow = (i - 1) * numRows + 1 endRow = WorksheetFunction.Min(i * numRows, UBound(subArrays(i))) For j = 1 To UBound(subArrays(i), 1) For k = 1 To UBound(subArrays(i), 2) .Cells(j + 1, k).Value = subArrays(i)(j, k) Next k Next j cnt = cnt + 1 .Range("A1").CurrentRegion.Columns.AutoFit End With Next i Application.ScreenUpdating = True End Sub Public Function SplitArray(ByVal arr) Dim numRecords As Long, numArrays As Long, i As Long, j As Long, ii As Long, startRow As Long, endRow As Long numRecords = UBound(arr, 1) numArrays = WorksheetFunction.Ceiling(numRecords / numRows, 1) ReDim subArrays(1 To numArrays) For i = 1 To numArrays startRow = (i - 1) * numRows + 1 endRow = WorksheetFunction.Min(i * numRows, numRecords) ReDim subArray(1 To endRow - startRow + 1, 1 To UBound(arr, 2)) For j = startRow To endRow For ii = LBound(arr, 2) To UBound(arr, 2) subArray(j - startRow + 1, ii) = arr(j, ii) Next ii Next j subArrays(i) = subArray Next i SplitArray = subArrays End Function
    3 points
  4. طيب خلينا نتفق على شئ الاكواد السابق ذكرها هى اكواد ثابته تستخدم كما هى فى الحصول على البيانات من خلالها او اضافة البيانات فى الريجسترى اما بخصوص الحماية هو تنوع الافكار فى استخدامها وتطويعها فقط كما يترائى للمبرمج وتختلف من ششخص لاخر حسب افكاره ومتطلباته لذلك وضعت الاكواد دون شرح اما عن الافكار سوف اشرحها باستفاضه ولكن بما اننا قلنا ان الافكار تختلف من شخص لاخر انا سوف اضع القاعدة العريضة التى تلهم القارئ للتفكير والابداع وهذا هو الاساس ان شاء الله اليوم نكمل اللى لقاء قريب بأمر الله
    3 points
  5. لا لا ما نتركها لكم يا دكتور .. نريد تفسير الكلمات .... بعدين تعال : انت في العراق وموسى في عمان ... هل الكلمات عراقية ام عمانية ؟
    2 points
  6. بعد ادن الاستاد @lionheart اخي @ابو هاله النبلسي تم تعديل بسيط على الكود لتتمكن من تنفيد المطلوب تقسيم_2.xlsm
    2 points
  7. =DSum("[bCountRooms]","[tbl_bookings]","[IsEnd] =true And [bToDate] = #" & Format([bFromDate],'mm/dd/yyyy') & "# ") المجموع = 9 انا لا اريد الحجوزات المغادرة وانما اريد الغرف المغادرة 😂 طبعا انا كنت ناسي الحقل bCountRooms وهو مفتاح حل جميع المشاكل 😁
    2 points
  8. 3- انشاء جدول بالحقول المطلوبة برمجيا مع تأمين الجدول اولا كود انشاء جدول طبعا واضح من الكود نوع الحقل المطلوب انشاءه Dim MySQL As String MySQL = "CREATE TABLE tblNameOfTble" _ & "(" _ & " [FieldAutoID] COUNTER" _ & ",[FieldByte] BYTE" _ & ",[FieldInteger] SMALLINT" _ & ",[FieldLong] INTEGER" _ & ",[FieldSingle] REAL" _ & ",[FieldDouble] FLOAT" _ & ",[FieldCurrency] MONEY" _ & ",[FieldShortText] Text(5)" _ & ",[FieldLongText] MEMO" _ & ",[FieldDateTime] DATETIME" _ & ",[FieldYesNo] BIT" _ & ",[FieldOleObject] IMAGE" _ & ");" DoCmd.SetWarnings False: DoCmd.RunSQL MySQL: DoCmd.SetWarnings True ثانيا تأمين الجدول : ومن هنا نبدأ فى ابتكار وافكار الحماية التأمين كما تعلمنا سابقا ان كانت البادئة فى اسم الجدول Usys يعتبر الاكسس من تلقاء نفسه انه من جداول النظام ويكون الجدول مخفيا ولكن عند اظهار كائنات النظام المخفيه يظهر الجدول اذن و زيادة فى التأمين على ما سبق سوف نقوم بعمل كود لاخفاء الجدول تماما حتى لو تم اظهار الكائنات الخفية وضعت الكود قى وحدة نمطيه ليسهل استخدام الكود بمرونه عند الحاجة Public Function DoHideTable(Optional strTableName As String = "") On Error GoTo ErrorHandler Set db = CurrentDb For Each obj In Application.CurrentData.AllTables Set tdf = db.TableDefs(obj.Name) If Left(tdf.Name, 4) <> "msys" And tdf.Attributes <> 1073741824 Then If tdf.Name = strTableName Then tdf.Attributes = tdf.Attributes + dbHiddenObject End If Next Set tdf = Nothing Set obj = Nothing db.Close Set db = Nothing ExitHandler: On Error Resume Next If Not tdf Is Nothing Then Set tdf = Nothing If Not obj Is Nothing Then Set obj = Nothing If Not db Is Nothing Then Set db = Nothing Exit Function ErrorHandler: MsgBox "The following error has occurred." & vbCrLf & vbCrLf & _ "Error Number: " & Err.Number & vbCrLf & _ "Error Source: DoHideTable" & vbCrLf & _ "Error Description: " & Err.Description, _ vbCritical, "An Error has Occurred!" Resume ExitHandler End Function واذا أراد المصمم او مطور قواعد البيانات التعامل مع بيانات الجدول المخفى السابق عن طريقين الاول اظهار الجدول Public Function DoShowTable(Optional strTableName As String = "") On Error GoTo ErrorHandler Set db = CurrentDb For Each tdf In db.TableDefs If Left(tdf.Name, 4) <> "msys" And tdf.Attributes <> 1073741824 And tdf.Attributes = 1 Then If tdf.Name = strTableName Then tdf.Attributes = tdf.Attributes - dbHiddenObject End If Next Set tdf = Nothing db.Close Set db = Nothing ExitHandler: On Error Resume Next If Not tdf Is Nothing Then Set tdf = Nothing If Not obj Is Nothing Then Set obj = Nothing If Not db Is Nothing Then Set db = Nothing Exit Function ErrorHandler: MsgBox "The following error has occurred." & vbCrLf & vbCrLf & _ "Error Number: " & Err.Number & vbCrLf & _ "Error Source: DoHideTable" & vbCrLf & _ "Error Description: " & Err.Description, _ vbCritical, "An Error has Occurred!" Resume ExitHandler End Function الثانى عمل استعلام لهذا الجدول دون اظهار الجدول Public Function DoCreateQuery(Optional strTableName As String = "", Optional strQueryName As String = "") On Error GoTo ErrorHandler Set db = CurrentDb MySQL = "Select * From " & strTableName Set qdf = db.CreateQueryDef(strQueryName, MySQL) Set qdf = Nothing db.Close Set db = Nothing ExitHandler: On Error Resume Next If Not tdf Is Nothing Then Set tdf = Nothing If Not obj Is Nothing Then Set obj = Nothing If Not db Is Nothing Then Set db = Nothing Exit Function ErrorHandler: MsgBox "The following error has occurred." & vbCrLf & vbCrLf & _ "Error Number: " & Err.Number & vbCrLf & _ "Error Source: DoHideTable" & vbCrLf & _ "Error Description: " & Err.Description, _ vbCritical, "An Error has Occurred!" Resume ExitHandler End Function ملاحظة بعد الاوامر ليظهر فعاليتها مثل الاخفاء والاظهار قد تحتاج لاغلاق القاعدة واعادة فتحها مرة أخرى التطبيق فى القاعدة المرفقة .. يتبع ... 04- craet table with hard code.accdb
    2 points
  9. تفضل أستاد سعد. قد تم إضافة بعض المعادلات البسيطة لاستخراج التاريخ و تكست بوكس يتم إضافة تاريخ الغياب اليها تلقائيا عند إختيار اليوم مع ترحيله أمام إسم الطالب في شيت التجميع شيت البيانات الخلية .("AH2") . =EQUIV($AH$4;{"يناير";"فبراير";"مارس";"أبريل";"مايو";"يونيو";"يوليه";"أغسطس";"سبتمبر";"أكتوبر";"نوفمبر";"ديسمبر"};0) الخلية .(AH1") =SI(AH2<10;0&AH2;AH2) بالنسبة لليوزرفورم إليك الأكواد التالية Private Sub TARHIL_Click() Dim x As Range Dim lastRow As Long Dim WS2 As Range, WS1 As Range If ComboBox1.Text = Empty And ComboBox2 = Empty And TextBox1 = Empty Then MsgBox "المرجوا ادخال البيانات", Exclamation, "تنبيه" Exit Sub End If LR = Sheets("البيانات").Range("B" & Rows.Count).End(xlUp).Row LR2 = Sheets("تجميع الغياب").Range("B" & Rows.Count).End(xlUp).Row Application.ScreenUpdating = False 'التحقق من وجود اسم الطالب مسبقا لمنع التكرار في شيت البيانات Set WS1 = Sheets("البيانات").Range("B7:B" & LR).Find(what:=ComboBox1, LookIn:=xlValues, lookat:=xlWhole) If Not WS1 Is Nothing Then Set x = Cells.Find(ComboBox1.Value, , , 1) x.Offset(, ComboBox2.Value) = TextBox1.Value Else Range("B" & LR + 1) = ComboBox1 Set x = Cells.Find(ComboBox1.Value, , , 1) x.Offset(, ComboBox2.Value) = TextBox1.Value End If '''''''''''''''''''''''''''''''''''''''''''''''''''' Sheets("تجميع الغياب").Activate 'البحث عن الطالب ووضع تاريخ الغياب امام الاسم ' Set WS2 = Sheets("تجميع الغياب").Range("B6:B" & LR2).Find(what:=ComboBox1, LookIn:=xlValues, lookat:=xlWhole) If Not WS2 Is Nothing Then Cells(WS2.Row, "I").End(xlToLeft).Offset(, 1) = TextBox2.Text '("I") العمود ' لغايةاليوم السابع End If ComboBox1 = Empty ComboBox2 = Empty 'TextBox1 = Empty TextBox2 = Empty Sheets("البيانات").Activate End Sub ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub UserForm_Initialize() ' تعبئة كومبوبوكس 1 باسماء الطلاب بدون تكرار من شيت تجميع الغياب Set f = Sheets("تجميع الغياب") Set Réf = CreateObject("Scripting.Dictionary") a = f.Range("B6:B" & f.[B65000].End(xlUp).Row) For I = LBound(a) To UBound(a) If a(I, 1) <> Empty Then Réf(a(I, 1)) = Empty Next I WS2 = Réf.keys Me.ComboBox1.List = WS2 End Sub ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Private Sub ComboBox2_Change() 'اظافة التاريخ Me.TextBox1.Text = "غ" If Me.ComboBox2.Value <= 9 Then Me.TextBox2.Text = Sheets("البيانات").Range("AH3").Text & "/" + Sheets("البيانات").Range("AH1").Text & "/" + "0" & ComboBox2.Text Else Me.TextBox2.Text = Sheets("البيانات").Range("AH3").Text & "/" + Sheets("البيانات").Range("AH1").Text & "/" & ComboBox2.Text End If End Sub تم إرفاق نسختين لنفس الملف ليبقى لك الإختيار في إظهار تكست التاريخ أو إخفائها دفتر الغياب.rar
    2 points
  10. هو ده الكلام اللي كنت عاوز اقوله بالضبط صح لسانك اخي اغيد أعطينا السنارة والسمكة مع بعض الله يرضى عنك
    2 points
  11. بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته شرح تفصيلي لأداة ال ListView وكيفية استخدامها والتعامل معها بعد العديد من لاستفسارات حول أداة ال ListView في البدء سنتعلم كيف تتم إضافة الأداة , من قائمة Additional Controls كما في الصور التالية : صورة الأداة بعد إضافتها على ال Form خصائص الأداة وسوف نتعرف علي استخدمها تباعا بالتفصيل استخدامات أداة ال ListView أولاً : استخدام أداة ال ListView كأداة لعرض البيانات من استخدامات أداة ال ListView هو استخدامها كأداة لعرض البيانات مثل أداة DataGrid وأداة MSFlexGrid المعروفة. لاستخدام أداة ال ListView كأداة لعرض البيانات يجب ضبط خاصية View على الخيار lvwReport ,طبعاً خاصية View تستخدم لتحديد أسلوب العرض في أداة ال ListView وهناك خيارات أخرى لأسلوب العرض وهذه الخيارات هي كما يلي ■ lvwIcon : وهي لعرض أيقونات كبيرة داخل أداة ال ListView . ■ lvwList : وهي البيانات كقائمة داخل أداة ال ListView . ■ lvwReport : وهي لعرض البيانات كتقرير داخل أداة ال ListView وهي تشبه كثيراً الأدوات المعروفة لعرض البيانات من قاعدة البيانات مثل أداة DataGrid وأداة MSFlexGrid … الخ. وهي أكثر الخيارات المستخدمة من قبل المبرمجين . ■ lvwSmallIcon : وهي لعرض أيقونات صغيرة داخل أداة ال ListView أبدأ الآن بمثال بسيط لا يعتمد على قاعدة البيانات تابع معي 1)أضف أداة ListView إلى الForm 2)اذهب إلى حدث UserForm_Activateواكتب الكود التالي , وهذا الكود كما شرحنا سابقاً لتحديد أسلوب العرض في أداة ال ListView . Private Sub UserForm_Activate() Me.ListView1.View = lvwReport End Sub 3)لنفترض أن نريد إضافة ثلاثة أعمدة داخل أداة ال ListView في هذه الحالة يجب إضافة عنوان رأسي لكل عمود وهذا يتم باستخدام خاصية ColumnHeaders لأداة ال ListView ◄ قبل إضافة العناوين الرأسية لأداة ال ListView سأشرح خاصية ColumnHeaders لهذه الخاصية خمس وظائف وهي كالتالي ♦ Add : وهي الوظيفة تستخدم لإضافة عنوان رأسي داخل أداة ال ListView ولهذه الخاصية ست باراميترات وهي كما يلي ListView1.ColumnHeaders.Add Index, Key, Text, Width, Alignment, Icon حيث ▪ Index : هي الفهرس لهذا العنوان الرأسي ▪ Key : المفتاح لهذا العنوان الرأسي ▪ Text: النص الذي سيظهر عليه وهو الباراميتير الوحيد الذي سأستخدمه في إضافة العناوين الرأسية ▪ Width: لتحديد عرض العنوان الرأسي ▪ Alignment : لتحديد اتجاه محاذاة النص على العنوان الرأسي ولهذه الخاصية ثلاثة قيم lvwColumnLeft = 0 lvwColumnRight = 1 lvwColumnCenter = 2 مع ملاحظة أن العمود الأول في أداة ال ListView تكون قيمة ال Alignment = 0 أي النص محاذاة النص دائماً له تكون على اليسار ▪ Icon: وهي خاصية لإضافة أيقونات للعناوين الرأسية.مع مراعاة ضبط خاصية ColumnHeaderIcons باسم أداة ال ImageList التي يتم إدراج الصور منها كما في الكود التالي ListView1.ColumnHeaderIcons = ImageList1 ♦ Clear : وتستخدم هذه الوظيفة لمسح جميع العناوين الرأسية الموجودة داخل أداة ال ListView كما في الكود التالي ListView1.ColumnHeaders.Clear ♦ Count : وتستخدم هذه الوظيفة لجلب عدد العناوين الرأسية الموجودة داخل أداة ال ListView كما في الكود التالي مثلاً MsgBox ListView1.ColumnHeaders.Count ♦ Remove : وتستخدم هذه الوظيفة لحذف عنوان رأسي معين بناء على قيمة ال Index لهذا العنوان كما في الكود التالي ListView1.ColumnHeaders.Remove Index حيث قيمة ال Index لأول عنوان رأسي في هذه الحالة = 1 وباقي العناوين بنفس الطريقة مع زيادة ال Index بمقدار 1 للعنوان الرأسي الذي يليه ♦ Item : وظائف هذه الأداة هي نفسها باراميترات الوظيفة Add فقط هناك وظيفتين جديدتين وهما ▪ Position : وهي لتحديد رقم العنوان الرأسي ▪ SubItemIndex : وهي لتحديد رقم ال Index للعناصر الموجود أسفل هذا العنوان الرأسي 4) بعد أن شرحنا وظائف الخاصية ColumnHeaders كما قلنا سابقاً نقوم بتحديد أسلوب العرض في أداة ال ListView من خلال الخاصية View كما يلي Private Sub UserForm_Activate() Me.ListView1.View = lvwReport End Sub 4) نقوم بإضافة ثلاث عنوانين رأسية ليصبح الكود كما يلي Private Sub UserForm_Activate() ListView1.View = lvwReport ListView1.ColumnHeaders.Add , , "Name" ListView1.ColumnHeaders.Add , , "Number" ListView1.ColumnHeaders.Add , , "Address" End Sub 5) قم بتشغيل المثال ستلاحظ تغير شكل ال ListView ليصبح كما في الصورة التالية 6)نأتي الآن لإضافة بيانات داخل أداة ال ListView , لإضافة عناصر داخل أداة ال ListView نستخدم خاصية ListItems ولهذه الخاصية خمس وظائف أيضاً وهي كالتالي ♦ Add : وهي الوظيفة تستخدم لإضافة بيانات داخل أداة ال ListView ولهذه الخاصية خمس باراميترات وهي كما يلي ListView1.ListItems.Add Index, Key, Text, Icon, SmallIcon ▪ SmallIcon : وهي خاصية لإضافة أيقونات للعناصر ,مع مراعاة ضبط خاصيةIcons باسم أداة ال ImageList التي يتم إدراج الصور منها كما في الكود التالي وهذه هي الخاصية التي سنستخدمها في هذه الحالة. ♦ Clear : وتستخدم لحذف محتويات الListView ♦ Count : وتستخدم لمعرفة عدد الصفوف داخل أداة ال ListView ♦ Remove : وتستخدم لحذف صف معين في أداة ال ListView مع العلم أن قيمة ال Index لأول سطر = 1 ♦ Item : ولها العديد من الخصائص وأهم هذه الخصائص هي ▪ Bold : وهي لجعل الخط غامق وهي خاصية منطقية ترجع قيمة إما True أو False ▪ Checked : وهي خاصية لوضع علامة صح أمام العنصر داخل أداة ال ListView طبعاً في هذه الحالة يجب ضبط خاصية Checkboxes = True لأداة ال ListView كما في الكود التالي ListView1.Checkboxes = True ▪ ForeColor : لتغيير لون الخط لعنصر معين داخل أداة ال ListView ▪ Selected : لتحديد صف معيّن وهي خاصية منطقية ترجع قيمة إما True أو False ●طبعاً في وظيفة Add كلما أضفنا عنصر بالصيغة الموجودة في الأعلى يتمإضافته في نفس العمود .. إذن كيف سنضيف بيانات في الأعمدة الأخرى ؟ تابع معي .. نقوم بتعريف متغير من نوع ListItem ونقوم بإسناده إلى الوظيفة Addثم نستخدم هذا المتغير في إضافة بيانات للأعمدة الأخرى كما يلي Private Sub UserForm_Activate() Dim Lst As ListItem Set Lst = ListView1.ListItems.Add(, , "Dahy Algharieb") Lst.ListSubItems.Add , , "Officana" Lst.ListSubItems.Add , , "Excel" End Sub ● كما هو الحال بالنسبة للخاصية ListItems فإن الخاصية ListSubItems لها نفس الوظائف فالصيغة العامة لوظيفة Add هي كما يلي Lst.ListSubItems.Add Index, Key, Text, ReportIcon, ToolTipText كما تلاحظ في البارميترات فالوظيفة Add للخاصية ListSubItems هي تقريبا نفسها البارميترات للوظيفة Add للخاصية ListItems ف ReportIcon هي نفسها SmallIcon والباراميتر ToolTipText فهو للنافذة الصغير المنبثقة عند وضع مؤشر الفأرة على ذلك العنصر. 7)نأتي الآن لنضيف بيانات داخل أداة ال ListView هناك أيضاً خصائص أخرى لأداة ال ListView يمكنك استخدامها أيضاً كما يلي ● Appearance : وهي لتحديد مظهر أداة ال ListView ولها قيمتين وهما ccFlat لجعل أداة الListView مسطحة و cc3D وهي لجعل أداة الListView ثلاثية الأبعاد. ● BackColor : لتغيير لون خلفية أداة ال ListView . ● FlatScrollBar : لتحديد مظهر أشرطة التمرير لأداة ال ListView وهي خاصية ذات قيمة منطقية . ● ForeColor : لتحديد لون الخط . ● GridLines : وهي خاصية لجعل أداة ال ListView كالشبكة وهي خاصية ذات قيمة منطقية. ● HideColumnHeaders : وهي لإخفاء العناوين الرأسية وهي خاصية ذات قيمة منطقية. ● HotTracking : وهي خاصية لتتبع شريط التحديد وهي خاصية ذات قيمة منطقية. ● HoverSelection : وهذه الخاصية عند تفعيلها يتم وضع شريط التحديد على الصف الذي يمر عليه مؤشر الفأرة. ● MultiSelect : وهذه الخاصية تستخدم لتحديد أكثر من صف في نفس الوقت وهي خاصية منطقية. ● Picture : وهي لوضع خلفية لأداة ال ListView . ● PictureAlignment : وهي لتحديد محاذاة خلفية ال ListView . ● Sorted : يتم ضبط هذه الخاصية لتساوي True لترتيب العناصر. ● SortKey : تستخدم هذه الخاصية لتحديد رقم العمود الذي نريد ترتيب البيانات بواسطته حيث رقم أو عمود هو 0 ● SortOrder : تستخدم هذه الخاصية لتحديد نمط ترتيب العناصر داخل ال ListView ولها قيمتين وهما lvwAscending لترتيب العناصر بشكل أبجدي تصاعدياً و lvwDescending لترتيب العناصر بشكل أبجدي تنازلياً . مثال عملي علي ListView وبالتوفيق للجميع المثال مع الشرح بالمرفقات ListView.xlsm رابط الدرس الثاني ListView Right to Left الدرس الثاني
    1 point
  12. السلام عليكم الاخوة اعضاء و خبراء و مشرفين توجد لدي عدة نماذج اود ان اجعلها تتخد نفس الشكل و الحجم . و عندما اقوم بانشاء نموذج جديد يتخد نفس الشكل . و شكرا مقدما على طرحكم
    1 point
  13. السلام عليكم ورحمة الله تعالى وبركاته طبعا لن اضع افكارى صريحة لتطبيق فكرة محددة لا أنوى أن اعطيكم سمكا بل انوى أن أعلمكم الصيد ... لذلك سوف اضع الاكواد والافكار على وجه العموم وعلى سبيل الشرح ليس الا وليدل كل منكم بدلوه فى التطبيق وليستحضر بنات افكاره كما يترأى له 1- الحماية عن طريق اضافة بيانات الحماية فى الريجسترى نستخدم الأكواد الاتية فى وحدة نمطيه التطبيق فى القاعدة المرفقة .. تم وضع بعض التلميحات على الأكواد Public Const MyRegPath As String = "HKEY_CURRENT_USER\Software\Officena.net" Public Const MyRegKey As String = "Judy" Public Const myStringValue As String = "محمد" Public Const myValueData As String = "ابو جودى" 'returns True if the registry key i_RegKey was found 'and False if not Function RegKeyExists(i_RegKey As String) As Boolean Dim myWS As Object On Error GoTo ErrorHandler 'access Windows scripting Set myWS = CreateObject("WScript.Shell") 'try to read the registry key myWS.RegRead i_RegKey 'key was found RegKeyExists = True Exit Function ErrorHandler: 'key was not found RegKeyExists = False End Function Function RegKeyRead(i_RegKey As String) As String Dim myWS As Object On Error Resume Next 'access Windows scripting Set myWS = CreateObject("WScript.Shell") 'read key from registry RegKeyRead = myWS.RegRead(i_RegKey) End Function Function RegKeySave(i_RegKey As String, _ i_Value As String, _ Optional i_Type As String = "REG_SZ") Dim myWS As Object 'access Windows scripting Set myWS = CreateObject("WScript.Shell") 'write registry key myWS.RegWrite i_RegKey, i_Value, i_Type End Function Function RegKeyDelete(i_RegKey As String) As Boolean Dim myWS As Object On Error GoTo ErrorHandler 'access Windows scripting Set myWS = CreateObject("WScript.Shell") 'delete registry key myWS.RegDelete i_RegKey 'deletion was successful RegKeyDelete = True Exit Function ErrorHandler: 'deletion wasn't successful RegKeyDelete = False End Function يتبع.. القاعدة المرفقة 01-Dealing with the registry.accdb
    1 point
  14. ههههه بعد شرح المعنى عرفت انطق الاولى لانها مشتركة بيننا وبينهم ، لاني في الأول قرأتها بتشديد الواو مع الكسر وفتح الدال ثم تاء مربوطة ( مؤنث دودة ) على وزن متفعٍلَة والنطق الصحيح بها بتسكين الواو مع كسر خفيف للدال الثانية ثم هاء .. مْتدُوْدِه حتى الميم تسكن وكأنك تنطق m اما الكلمة الثانية فلا نشترك فيها معهم الله يسعدك
    1 point
  15. العفو اخي لاكن لكل حق حقه المفروض أفضل إجابة تكون لصاحب الكود الأستاذ @lionheart أنا فقط قمت بتعديل بسيط جدا ليتناسب مع طلبك الأخير
    1 point
  16. هل تقصد توزيع الصفوف بشرط قيمة خلية معينة ادا كان كدالك ما هي الخلية المطلوبة
    1 point
  17. 4- انشاء قاعدة البيانات الأمامية مأمنة بكلمة مرور Public Function DoCreatDatabaseByPassword( _ Optional strDbPath As String = "", _ Optional strNewDbName As String = "", _ Optional strPassNewDb As String = "" _ ) On Error GoTo ErrorHandler Dim wrkDefault As Workspace Dim db As DAO.Database If IsNull(strDbPath) Or strDbPath = Null Or strDbPath = vbNullString Or strDbPath = Empty Or strDbPath = "" Or Len(strDbPath) = 0 Then strDbPath = CurrentProject.Path & "\" If IsNull(strNewDbName) Or strNewDbName = Null Or strNewDbName = vbNullString Or strNewDbName = Empty Or strNewDbName = "" Or Len(strNewDbName) = 0 Then strNewDbName = "NewDB.mdb" If IsNull(strPassNewDb) Or strPassNewDb = Null Or strPassNewDb = vbNullString Or strPassNewDb = Empty Or strPassNewDb = "" Or Len(strPassNewDb) = 0 Then strPassNewDb = "00" Set wrkDefault = DBEngine.Workspaces(0) If Dir(strDbPath & strNewDbName) <> "" Then Kill strDbPath & strNewDbName Set db = wrkDefault.CreateDatabase(strDbPath & strNewDbName, dbLangGeneral & ";PWD=" & strPassNewDb) strDbPath = vbNullString strNewDbName = vbNullString strPassNewDb = vbNullString Set wrkDefault = Nothing db.Close Set db = Nothing ExitHandler: Exit Function ErrorHandler: MsgBox "Error Number : " & Err.Number & vbNewLine & "Error Description : " & Err.Description Resume ExitHandler End Function التطبيق فى القاعدة المرفقة .. يتبع ... 05- CreatDatabaseByPassword.accdb
    1 point
  18. اعمل نموذج بالشكل الذي ترغبه وبالابعاد التي تريدها وليس (الحجم) ...وانسخه بعدد النماذج التي تريدها
    1 point
  19. من حسن حظك انه غير موجود ..يقول خبراء الاكسس ان مايكروسوفت وضعته للتعلم وليس من اجل عمل البرامج الجدول هو قاعدة البيانات الاساسية في البرنامج ..يعني هو الملك ..ولا يجب ان نجعل الملك (يلهط) على طول ☺️ ..فتضيع المملكة
    1 point
  20. طيب معلش هو ليه مش موجود اصلا في خصائص الحقل وانا بصممه
    1 point
  21. 1 point
  22. عديتها في الجدول فوجدتها 6 غرف .. مطابقة للرقم في التقرير
    1 point
  23. لا 6 فقط قم بعمل الفلتر يدويا من الجدول يا دكتور تحصل على 6 فقط
    1 point
  24. فيكم البركة اساتذتنا الكرام ...يتعلم ان شاء الله ونتعلم معه.. انا قصدت ان لا اعمل له تجميع في الاستعلام ..حتى تتكون لديه فكرة عن الفلترة ..او حساب عدد المسددين
    1 point
  25. ما شاء الله حل نموذجى وهو ده المطلوب بل وزيادة الف شكر ليكم استاذ محمد حقا انتم خبير
    1 point
  26. 1 point
  27. مشاركة مع استاذي @ابوخليل عملت لك تصفية بالمركز ورقم القسط ..ويظهر لك عدد المسددين والمبالغ طبعا وضعت حقل مبالغ التسديد وارقام من عندي حتى تتوضح الصورة لديك filtering.rar
    1 point
  28. Can you spot the desired results? Do you want to split every 100 rows of data only or what exactly
    1 point
  29. عليكم السلام D1=IF(AND(A1=E1,B1=F1,C1=G1),"YES","NO")
    1 point
  30. ابشر .. تم ترتيب الطلاب(العاشر).xls
    1 point
  31. ياسلام على الفن تسلم يااستاذنا الكريم هذا هو المطلوب اشكرك جدا جدا
    1 point
  32. تفضل أخي ووافني بالرد . واذا كان هذا ماتريد اضغط أفضل اجابة على مشاركتي . منع التكرار-1.accdb
    1 point
  33. بارك الله فيك اخى الكريم ونفع الله الناس بعلمك هو المطلوب
    1 point
  34. الحمد لله ..ونحن في خدمتك استاذ خالد ..ولا تتصور ان الحدود تبعدنا عن بعض نحن العرب ...فربنا واحد ونبينا واحد (صلى الله عليك يارسول الله)
    1 point
  35. على قدر فهمي معنى كده ان البرنامج لا يعمل الا على هذا الجهاز فقط لانه أصبح محمي بريجستري الجهاز ام انني مش فاهم خالص بالله فهموني و بهدوء بارك الله فيك أخي الحبيب ابو جودي
    1 point
  36. بالنسبة لي لا أفهم كثيراً في الاكواد سوى مناداتها وتعريفها فقط .. وبصراحه خليك على عهدك القديم (الشرح باستفاضة) .. وعطنا السمكة مع السنارة .. طبعاً ان اسعفك الوقت مالم فيكفينا ما تفضلت به فنحن كما عهدناك دائماً كريم في عطائك متجدد في أفكارك
    1 point
  37. الشكر لله اتفضل نسخه من مرفق (3).accdb
    1 point
  38. وعليكم السلام ورحمة الله تعالى وبركاته اخي الفاضل تم عمل المطلوب لاكن سوف اشرح لك الخطوات للاستفادة لنتمكن من عدم اظهار الغرف الساكنة على Combobox لابد اولا من الحصول على قائمة باسماءالغرف الفارغة (Avalable ) بما انني لاحظت انك واضع معادلة في شيت 1 لاستخراج (Room Statuse) بشرط التاريخ سوف نعتمد عليها ودالك باظافة عمود مساعد نضع فيه المعادلة التالية وليكن مثلا عمود ("X") لاستخراج الغرف الفارغة . =IF(E2="Available ";A2;"") بمعنى غند التحقق من الغرفة فارغة يتم استخراج اسمها في العمود المساعد وادا كانت محجوزة (Booked) نحصل على فراغ .وهكدا تتولد لدينا قائمة باسماء جميع الغرف الفارغة الخطوة الثانية والمهمة لابد من استبدال كود جلب البيانات بالكود التالي ليتم تعيئة الكومبوبوكس بالقيم المحصل عليها بدون فراغات Dim MH As Integer Dim Plage As Range 'جلب الغرف الفارغة With Sheets("sheet1") For MH = 2 To .Range("X" & .Rows.Count).End(xlUp).row If .Range("X" & MH) <> "" Then cmbroom.AddItem .Range("X" & MH) End If Next MH End With ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'تم إستبدال كود كومبو بوكس البحث بالكود التالي With Sheets("Database") Set Plage = .Range("b2:b" & .Range("b65536").End(xlUp).row) End With ComboBox1.List = Plage.Value بالتوفيق Reservation Form_V2.xlsm
    1 point
  39. الطريقة دي ننفع لما تقسم قاعدة البيانات وتوزع عدة نسخ لعدد من المستخدمين الذي لديهم نسخة Access Runtime وبالتاكيد تكون النسخة متطابقة مع النسخة الاصلية والنواة ايضا متطابقة سواء 32 او 64..طبع هذه الطريقة لاتسمح للمستخدم الوصول الى الجداول او التقارير او الاكواد اما اذا كانت النسخة لزبون..فحسب علمي تعمل نسخة احتياطية (طبعا مع اجراءات النسخ الاحتياطي) وتعطي النسختين للزبون ..ولاحظ انه من الضروري تقسيم القاعدة االاصلية الى واجهة امامية وخلفية حتى اذا حصلت مشاكل اوتعديل مستقبلي للقاعدة لاتحصل مشاكل في البيانات وحسب علمي ...لاتتعامل مع هذه الطريقة بوجود ماكرو تنفيذي لانه يعطي خطأ ولايفتح القاعدة ..الجأ الى اكواد ال VBA
    1 point
  40. وعليك السلام أخي @سك بابك 🙂 أنت بحاجة لجدول يجمع بين جدولي المعلمين والدورات ويكون ذو علاقة (متعدد إلى متعدد ) ثم يتم إدراجه كنموذج فرعي في نموذج المعلمين .. بعد ذلك يمكنك أن تعرف مجموعة الدورات التي يدرسها أي مدرس .. أو هذه الدورة من هم المدرسين الذين يقدمونها .. كل ذلك عن طريق الاستعلامات 🙂 SCH_DB.rar
    1 point
  41. أنا لو تلاحظ لم اضع الشرح باستفاضه كما عهدتمونى بسبب اننى منهمك فى توارد الافكار ويتشتت ذهنى من أن لآخر كما اننى قصدت ان أجبر القراء على الفحص والتمحيص والبحث وطرح الاسئلة حتى ينشأ عندهم الفضول وتوارد الافكار لاستخدام الاكواد وما عرضته وسوف اعرضه ان شاء الله من افكار كى لا يأخذوا قاعدة وينقلونها فقط الى مشاريعهم لذلك بدأت موضوعى بـ لا أنوى أن اعطيكم سمكا بل انوى أن أعلمكم الصيد ... استحالة لابد من معامل التشفير مع هذه الطريقة.. راجع نفسك وراجع الكود
    1 point
  42. حبيبي واستاذي والله استاذ قاسم طيب بردو عندي خيار ات التحكم في الازار غير مفعلة خالص لو تقدر تفيدني في الموضوع ده اكون شاكر استاذي العزيز
    0 points
  43. نعم حبيبي النتيجة خطأ!، يطلعلي 6 غرف المفروض العدد يكون 9
    0 points
×
×
  • اضف...

Important Information