نجوم المشاركات
Popular Content
Showing content with the highest reputation on 01/11/20 in all areas
-
وعليكم السلام ورحمه الله وبركاته اخى الفاضل اهلا ومرحبا بك معنا فى منتدى الاكسيس ارجو منك الا تغضب من كلامى اخى الفاضل ان المنتدى تعليمى وليس لانشاء برامج كامله للاعضاء اى تبدا بالتعلم وانشاء برنامجك وحين تتوقف فى نقطه معينه تسال واخوانك واساتذتنا لايقصرون جزاك الله خيرا على كل ما تقوم به من اجل مساعده اخوانك تقبل تحياتى وتمنياتى لك وللجميع بالتوفيق5 points
-
السلام عليكم اضع بين ايديكم هذه المعلومة حيث اخذت الفكرة من احد الاحبة في هذا المنتدى وطورتها بحيث لا تستطيع الحذف بعد ادخال البيانات والكبس على ايقونة حفظ ولكي تستطيع الحذف عملت نموذج اخر لا تستطيع الوصول اليه الا برقم سري الرقم السري 12345 جربوا الطريقة عساها تعجبكم العلم لا يحتكر delete_officna.accdb4 points
-
4 points
-
كل الشكر لك استاذي العزيز سليم حاصبيا رغم اني تغلبت على المشكلة وحليتها ولكن ليس بنفس طريقتك فطريقتك سهلة للغاية مقارنة بالطريقة التي حللت بها المشكلة مرفق ملف الحل كما طلب أخي القدير الاستاذ مهند محسن List of Services.xlsx3 points
-
3 points
-
العفو اخى حربى وبلاش استاذى فلست سوى طالب علم شوف التعديل ده واخبرنا بالنتيجه بالتوفيق اخى SuperMarketSals11(1).rar2 points
-
ممكن عن طريق بحث بمعيار التاريخ وايضا ممكن في الاستعلام شاهد المثال المرفق Database79.accdb كلا الطريقتين تؤدي للنتيجة اخي احمد اعتذر لم اشاهد ردك2 points
-
وعليكم السلام اخى الفاضل قم بعمل استعلام لهذا الجدول وفى حقل التاريخ واكتب فى حقل المعيار تحته date() سيتم تصفيه الاستعلام على مدخلات تاريخ اليوم فقط بالتوفيق2 points
-
وعليكم السلام هل هذا ما تريد شوف واخبرنا تقبل تحياتى SuperMarketSals11.rar2 points
-
لمراعاه كافة الاحتمالات لكون معيار التاريخ يتأثر بطريقة الكتابة واسلوب التاريخ في النظام بالتوفيق اخي ليث والشكر لله سبحانه2 points
-
السلام عليكم اولا : اهلا فيك في اوفيسنا ثانيا: عمل قاعدة البيانات يتطلب منك بالاول انشاء الجداول لكي يتم بناء قاعدة البيانات عليها. ثالثا" بالنسبة لرقم الجوال يمكن تققيده من خلال قناع الادخال (00000000000) او من خلال كود يضع بعد التحديث او من خلال قاعدة التحقق من الصحة. ملاحظة : بعض الحقول مثل (المؤهل العلمي والتخصص) من الافضل والاجمل ان تكون قائمة منسدلة . - عملت لك جدول عدد /2 بالمرفق قم بالتعديل عليها حسب منتطلبات عملك تحياتي test-1.rar2 points
-
السلام عليكم ستجد في المرفق استعلام مطابقة المتكررات وحذف المكرر، أعتذر لتأخري باستكمال الاستعلام. أرجو أن يكون هذا ما تبحث عنه. QueryDeleteDuplicate.accdb2 points
-
السلام عليكم ورحمة الله وبركاته لقد أنشأت برنامج بسيط وجمعت به الأكواد التي نسنتخدمها باستمرار وصممته بحيث تكون الواجهة عبارة عن شاشة يتم تجميع بها الأكواد المراد نسخها الي شاشة الفيجوال بيسك لمشاهدة كيف يعمل البرنامج من هذا الرابط بنك الأكواد - demo-24-4-2019.accdb1 point
-
فورم اظهار الادخال الجديد للاسم على الليست بوكس بمجرد الحفظ الفيديو1 point
-
استاذي الفاضل احمد الفلاحجي جدا ممنون منك يا طيب نعم هذا هو المطلوب الله يبارك فيك ويحفظك يا طيب جزاك الله خيرا1 point
-
اخى الفاضل سعر البيع سوف يظهر بعد ما تختار الحجم لان السعر مرتبط ببيان الصنف والحجم ولا انا فاهم غلط جرب مره اخرى ووافنا بالنتيجه بالتوفيق1 point
-
اخى واستاذى خالد لم الاعتذار فنحن اللذين نثقل عليكم ونتعلم منكم فنحن نطلب مشاركتكم معنا لنتعلم ونستفيد وتصححوا لنا اخطائنا ونتعلمتقبل تحياتى واحترامى 🥀واجمل باقات الوورد لمعلمينا للاسف ملقتيش غير الورده دى فى المحل 😀1 point
-
1 point
-
استاذ / @أحمد الفلاحجى قمت بتحميل المثال المرفق من حضرتك ووجده فارغ وليس به اي قوائم مخصصة من المحتمل اكون مش فاهم او لم اقم بالتنفيذ الصح استاذي ومعلمنا / @kha9009lid ربنا يعطيك الصحة والعافية وطول العمر ممكن تضع لنا مثال بدون شرح واحنا نطبق فقط لا ادرى هل هذا ممكن1 point
-
الشكر لله اخي الفاضل بخصوص الطلب الاخير او لو الاخيرة باذن الله تعالي ولكني مرهق جدا فاعتذر مقدما لو تأخرت في تقديم يد العون1 point
-
السلام عليكم ورحمة الله وبركاته وبعد ... عزيزي العضو السائل عن الشريط الموجود بالبرنامج الموضح صورته بالمشاركة الأولى ... الحل بسيط جدا هو أن يكون لديك نسخة من البرنامج من إصدار أوفيس إكس بس أو 2003 وتعمل عليها شريط القوائم المطلوب ومن ثم تقوم باستيراد كل الكائنات للقاعدة من البرنامج الذي تعمل عليه ومن ثم تحويله للعمل على أي إصدار أحدث ...ففي القاعدة المرفقة لاحظ القوائم ولا يوجد أي نماذج لأن هذه هي القاعدة الفارغة التي أحتفظ بها بإصدار قديم mdb أقوم بفتحها على الأوفيس إكس بي وأقوم باستيراد النموذج أو التقرير الذي أحتاج ربطه على شريط القوائم كما ترى في الصورة بمسمى محدد ثم أقوم بحفظ الملف ونسخه وتسميته بأي إسم آخر غير القاعدة التي أخصصها لعمل شريط القوائم ثم أقوم بفتح الملف الجديد بأي اصدار حديث و أقوم باستيراد كل محتويات الملف الأصلي للبرنامج ثم أقوم بحفظه بأي صيغة أحتاجها سواء مفتوحة أو مغلقة كما ترى في الصورة التالية ويمنني معاونة حضرنك في عمل شريط قوائم للبرنامج الخاص بك بشرط إرسال البرنامج في صيغة mdb وبيان بالشريط كما تتخيله وحاضرين سيتم تلبية طلبك ولو شئت ممكن المراسلة على الخاص لحفظ حقوق تصميمك و جزاكم الله خيرا1 point
-
ممكن تجاوز الرسالة بصائد الأخطاء او استثناء حقل الترقيم التلقائي1 point
-
1 point
-
Dim ctl As Control For Each ctl In Me.Controls If ctl.ControlType = acTextBox or ctl.ControlType = acComboBox Then If ctl.Value <> "" Then ctl = "" End If End If Next ctl عن أذن أخي وحبيبي أحمد غير كلمة and إلى or كما في المثال أعلاه1 point
-
1 point
-
1 point
-
فعلا اخي دققت ورايت كل شيء رائع سلمت يداك على هذا العمل الرائع وجزاك الله افضل الجزاء واعتذر للاطالة ولتعبك معي1 point
-
بعد تنفيذ الماكرو الق نظرة على الشيتات ترى كل شيء قد تم كما تريد1 point
-
بسم الله الرحمن الرحيم اليكم ملف فيه شيت يحتوي على تقرير مستخرج من شيت آخر على حسب التاريخ وكود لطباعة مجموعة من التقارير تلقائيا مرة واحدة قد يستفاد من معادلات الترحيل ايضاَ جدول زمني مع طباعة تلقائية.xlsm1 point
-
تمت معالجة الامر Option Explicit Sub MY_Data_New() Application.ScreenUpdating = False Dim SH_from As Worksheet Dim T As Worksheet Dim rg_to_Patse As Range Dim Rt%, MY_max%, ro%: ro = 4 Set T = Sheets("Total") Set rg_to_Patse = T.Range("A3").CurrentRegion Rt = rg_to_Patse.Rows.Count If Rt > 1 Then Set rg_to_Patse = rg_to_Patse.Offset(1).Resize(Rt - 1) Else Set rg_to_Patse = T.Range("B4").Resize(, 5) End If rg_to_Patse.Clear For Each SH_from In Sheets If SH_from.Name <> T.Name Then MY_max = Application.Max(SH_from.Range("A:A")) SH_from.Cells(3, 1).Resize(MY_max, 6).Copy With T.Cells(ro, 1) .PasteSpecial (xlPasteValues) .PasteSpecial (xlPasteFormats) End With ro = ro + MY_max End If Next SH_from With T.Range("A3").Resize(ro - 4, 6) .Sort key1:=Range("b3"), Header:=1 End With Application.ScreenUpdating = True arraNge_all End Sub '+++++++++++++++++++++++++++++++++++ Sub arraNge_all() Application.ScreenUpdating = False Dim nro% Dim MM% nro = Cells(Rows.Count, 1).End(3).Row Dim color_rg As Range For MM = 4 To nro If Range("B" & MM).Interior.ColorIndex = 2 Or _ Range("B" & MM).Interior.ColorIndex = -4142 Then GoTo Next_MM If color_rg Is Nothing Then Set color_rg = Range("B" & MM).Resize(, 5) Else Set color_rg = Union(color_rg, Range("B" & MM).Resize(, 5)) End If Next_MM: Next If color_rg Is Nothing Then GoTo Contenu color_rg.Copy Range("B" & nro + 1) color_rg.EntireRow.Delete Contenu: Range("B4", Range("B3").End(4)).Offset(, -1).Formula = _ "=IF(B4="""","""",MAX($A$3:A3)+1)" With Range("A3").CurrentRegion .Value = .Value .Borders.LineStyle = 1 End With Range("A4").Select Set color_rg = Nothing create_borders Application.ScreenUpdating = True End Sub '+++++++++++++++++++++++++++++++++++ Sub create_borders() Dim My_sh As Worksheet, r For Each My_sh In Sheets If My_sh.Name <> "Total" Then r = My_sh.Cells(Rows.Count, 2).End(3).Row My_sh.Cells.Borders.LineStyle = xlNone My_sh.Range("a2").Resize(r - 1, 6).Borders.LineStyle = 1 End If Next End Sub الملف الأخير Laste_flie.xlsm1 point
-
الف الف شكر استاذي الفاضل جزاك الله خيرا وجعله الله في ميزان حسناتك وذادك الله من علمه1 point
-
1 point
-
1 point
-
دائما مبدع و متألق اخي خالد اسأل الله لك التوفيق و منكم ما زلنا نتعلم الكثير شكرا لك1 point
-
السلام عليكم تم دمج الحسابين و نقل الموضوع لقسم الاقتراحات و الملاحظات1 point
-
1 point
-
1 point
-
جزاك الله خيرا اخى واستاذى خالد نفسى افهم لما تم وضع السلاش هكذا ؟ DoCmd.ApplyFilter , "[Date of invoice]=" & Format([tx2], "\#mm\/dd\/yyyy\#")1 point
-
الأمر ليس بالسهل او الهين فلا تستعجل واصبر1 point
-
وعليكم السلام اخي الفاضل بخصوص لو هي اعادتني لاربعة عقود اثناء دراستي الجامعية حيث كان من متطلبات التخرج تقديم بحث لاستاذ اللغة و كان نصيبي لو نعم اتفق معك فيما اشرت اليه من توقع الاخطاء ما رأيك لو غيرنا الفلترة بدلا من معيار في الاستعلام الى كود صغير لعله يحقق النتيجة aa (1).accdb1 point
-
استاذ بن علية حاجى انت عبقرى استاذ بن علية حاجى لك منا كل الثناء والتقدير.. بعدد قطرات المطر.. وألوان الزهر، وشذى العطر.. على جهودك الثمينة والقيمة والف الف مليون شكر أخوتي الاعزاء مشرفي ومساعدي والاعضاء الخبراء وكل رواد هذا المنتدى سدد الله خطاكم و اعانكم على فعل الخير الللهم سدد خطاهم و احسن خلاصم و كن لهم عوننا حتى يستمروا في هذا الجهد فشكرا جزيلا و السلام السلام1 point
-
تم تحرير كود لهذا الغرض Option Explicit Sub MY_Data_New() Application.ScreenUpdating = False Dim SH_from As Worksheet Dim T As Worksheet Dim rg_to_Patse As Range Dim Rt%, MY_max%, ro%: ro = 4 Set T = Sheets("Total") Set rg_to_Patse = T.Range("A3").CurrentRegion Rt = rg_to_Patse.Rows.Count If Rt > 1 Then Set rg_to_Patse = rg_to_Patse.Offset(1).Resize(Rt - 1) Else Set rg_to_Patse = T.Range("B4").Resize(, 5) End If rg_to_Patse.Clear For Each SH_from In Sheets If SH_from.Name <> T.Name Then MY_max = Application.Max(SH_from.Range("A:A")) SH_from.Cells(3, 1).Resize(MY_max, 6).Copy With T.Cells(ro, 1) .PasteSpecial (xlPasteValues) .PasteSpecial (xlPasteFormats) End With ro = ro + MY_max End If Next SH_from With T.Range("A4").Resize(ro - 4, 6) .Sort key1:=Range("b3"), Header:=1 .Value = .Value End With Application.ScreenUpdating = True arraNge_all End Sub '+++++++++++++++++++++++++++++++++++ Sub arraNge_all() Application.ScreenUpdating = False Dim nro% Dim MM% nro = Cells(Rows.Count, 1).End(3).Row Dim color_rg As Range For MM = 4 To nro If Range("a" & MM).Interior.ColorIndex <> xlNo Then If color_rg Is Nothing Then Set color_rg = Range("a" & MM).Resize(, 6) Else Set color_rg = Union(color_rg, Range("a" & MM).Resize(, 6)) End If End If Next color_rg.Copy Range("a" & nro + 1) color_rg.EntireRow.Delete Range("A4", Range("A3").End(4)).Formula = _ "=IF(B4="""","""",MAX($A$3:A3)+1)" Range("A3").CurrentRegion.Value = _ Range("A3").CurrentRegion.Value Range("A4").Select Set color_rg = Nothing Application.ScreenUpdating = True End Sub الملف من جديد M_data_new_SA.xlsm1 point
-
اخي العزيز Khalf كل ماتفضلت به صحيح / هذه هي مزايا الاكسس تستطيع عمل الكثير وباكثر من مكان. انا رايي ان تصميم قواعد البيانات اكسس يجب ان يكون اساسه صحيحا مثل (اساس البيت) كل ماكان اساسه صحيحا كان بناءة صحيحا وليس العكس. حتى لاتقع بمشاكل التصميم.(افضل مكان لعمل العمليات الحسابية او الدوال هي الاستعلامات) واساس الاكسس هي الجداول ثم الاستعلامات والعلاقات ثم النماذج والتقارير. تحياتي1 point
-
وعليكم السلام اعتقد ان المسالة بسيطة اعمل استعلام واعمل تعداد تكرار لكل فاتورة ثم اطرح الفرق بين التعدادين وضع شرط يظهر النتائج فوق صفر ردي عن طريق الهاتف لا استطيع ان اعمل مثال انظر شرح التعداد1 point
-
الحلقة الرابعة: التعامل مع القائمة المنسدلة في صفحة ويب سوف نتطرق في هذه الحلقة إلى الأكواد التي تمكننا من التحكم الكامل في القائمة المنسدلة داخل الأداة في صفحة ويب لقد قمت بتطبيق هذا الدرس على موقع الفايس بوك لأن به قائمة منسدلة الخاصة بالأشهر و لها خاصية: Id=month لهذه القائمة عمودين عمود مخفي و هو يمثل القيمة الحقيقة به أرقام من 0 إلى 12 و عمود ظاهر به أسماء الأشهر 1- كود حساب عدد عناصر القائمة: MsgBox Me.WebBrowser3.Document.getElementById("month").Length 2- كود معرفة القيمة الحقيقية للعنصر: من المعلوم أن القائمة المنسدلة يمكن أن يكون بها أكثر من عمود يعني ممكن تصبح القيمة الظاهرة تختلف عن القيمة الحقيقية MsgBox Me.WebBrowser3.Document.getElementById("month").Value 3- كود استخراج ترتيب القيمة الظاهرة: استخراج ترتيب القيمة الظاهر ضمن عناصر القائمة المنسدلة MsgBox Me.WebBrowser3.Document.getElementById("month").selectedIndex 4- كود استخراج القيمة الظاهرة: MsgBox Me.WebBrowser3.Document.getElementById("month").Item(Me.WebBrowser3.Document.getElementById("month").selectedIndex).innerText 5- إظهار جميع عناصر القائمة: Dim x As String Dim i As Integer For i = 1 To Me.WebBrowser3.Document.getElementById("month").Length x = x & " - " & Me.WebBrowser3.Document.getElementById("month").Item(i - 1).innerText Next i MsgBox x 6- اختيار عنصر من القائمة باستخدام رقمه الترتيبي: هنا وضعت القيمة تساوي 5 معناه سوف يتم اختيار العنصر رقم 5 و هو مايو Me.WebBrowser3.Document.getElementById("month").selectedIndex = 5 7- تغيير نص قيمة في العمود الظاهر من القائمة: سوف يتم تغيير كتابة أفريل في القائمة إلى أوفيسنا Me.WebBrowser3.Document.getElementById("month").Item(4).innerText = "أوفيسنا" 8-تغيير قيمة في العمود المخفي من القائمة: Me.WebBrowser3.Document.getElementById("month").Item(4).Value = "15" قبل البداية في تطبيق درس اليوم اضغط على زر فتح صفحة الفايس بوك لتظهر الصفحة أمامك webbroser.rar1 point
-
1 point
-
بسم الله الرحمن الرحيم السلام عليكم ورحمة الله وبركاته كل عام أنتم جميعا بكل خير كنت قد صممت ملفا للبحث في القرآن الكريم به دالة لكل ما تريد وهو تجاهل الهمزات والتشكيل والتاء المربوطة والياء المتطرفة لاحظ استعمالها في الفلتر كما أنه يمكن استعمالها في الاستعلام أو التقرير ربما يفيدك أخي الكريم ويفيد كل راغب في العلم النافع ولا تنسوني من صالح دعائكم البحث في القرآن الكريم بدون تشكيل.rar1 point
-
استخدم هذا DCount("OrderID", "tblorders", "[OrderDate] =#" & Format(Me.OrderDate.Value, "mm/dd/yyyy") & "#")1 point
-
السلام عليكم 1. من المعروف ان تنسيق النص في مربع القائمة ListBox هو من اليسار الى اليمين ، مشكلة كانت تصادفني دائما ، وهو تنسيق القيم في مربع القائمة لتكون من اليمين الى اليسار بالنسبة للغة العربية (طريقة تغيير مربع القائمة الى مربع تحرير ونص ، ثم عمل التنسيق عليه من اليمين الى اليسار ، ثم اعادته الى مربع قائمة لا يعمل معظم الوقت) ، موقع http://www.lebans.com والذي يحتوي على مالذ وطاب عنده طريقه لهذا التنسيق: http://www.lebans.com/justicombo.htm كذلك. 2. ونفس المشكلة مع موضوع تنسيق الشجرة TreeView من اليمين الى اليسار. النتيجة: و وطريقة العمل ، يوضع هذا الكود في وحدة نمطية: Option Compare Database Option Explicit #If VBA7 And Win64 Then '64 bits Public Declare PtrSafe Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long) As Long Public Declare PtrSafe Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As LongPtr, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Public Declare PtrSafe Function InvalidateRect Lib "user32" (ByVal hwnd As LongPtr, lpRect As Long, ByVal bErase As Long) As Long Public Declare PtrSafe Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As LongPtr, ByVal hWnd2 As LongPtr, ByVal lpsz1 As String, ByVal lpsz2 As String) As LongPtr Public Declare PtrSafe Function GetFocus Lib "user32" () As LongPtr Public Declare PtrSafe Function GetWindow Lib "user32" (ByVal hwnd As LongPtr, ByVal wCmd As Long) As LongPtr Dim hwnd As LongPtr #Else '32 bits Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Public Declare Function InvalidateRect Lib "user32" (ByVal hwnd As Long, lpRect As Long, ByVal bErase As Long) As Long Public Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long Public Declare Function GetFocus Lib "user32" () As Long Public Declare Function GetWindow Lib "user32" (ByVal hwnd As Long, ByVal wCmd As Long) As Long Dim hwnd As Long #End If Public Const GW_CHILD = 5 Public Const WS_EX_LAYOUTRTL = &H400000 Public Const GWL_EXSTYLE = (-20) Function RTL_Set(frm As Form, ctl As Control) Dim varHwnd As Variant Dim OldLong As Long frm.SetFocus ctl.SetFocus varHwnd = GetFocus() OldLong = GetWindowLong(varHwnd, GWL_EXSTYLE) SetWindowLong varHwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL InvalidateRect hwnd, 0, False End Function Function RTL_SetTree(frm As Form, ctl As Control) Dim OldLong As Long OldLong = GetWindowLong(ctl.hwnd, GWL_EXSTYLE) SetWindowLong ctl.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL InvalidateRect hwnd, 0, False End Function ' ' From http://www.microsoft.com/middleeast/msdn/faq.aspx ' 'Place OnLoad of the Form ' Dim OldLong As Long 'For Form ' OldLong = GetWindowLong(Me.hwnd, GWL_EXSTYLE) ' SetWindowLong Me.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For List ' OldLong = GetWindowLong(List1.hwnd, GWL_EXSTYLE) ' SetWindowLong List1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For The StatusBar ' OldLong = GetWindowLong(StatusBar1.hwnd, GWL_EXSTYLE) ' SetWindowLong StatusBar1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For TreeView ' Dim nodX As Node ' Set nodX = TreeView1.Nodes.Add(, , "R", "Root") ' Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C1", "Child 1") ' Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C2", "Child 2") ' Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C3", "Child 3") ' Set nodX = TreeView1.Nodes.Add("R", tvwChild, "C4", "Child 4") ' nodX.EnsureVisible ' OldLong = GetWindowLong(TreeView1.hwnd, GWL_EXSTYLE) ' SetWindowLong TreeView1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For ListView ' OldLong = GetWindowLong(ListView1.hwnd, GWL_EXSTYLE) ' SetWindowLong ListView1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For ProgressBar ' ProgressBar1.Value = 50 ' OldLong = GetWindowLong(ProgressBar1.hwnd, GWL_EXSTYLE) ' SetWindowLong ProgressBar1.hwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False 'For ToolBar ' mhwnd = GetWindow(Toolbar1.hwnd, GW_CHILD) ' OldLong = GetWindowLong(mhwnd, GWL_EXSTYLE) ' SetWindowLong mhwnd, GWL_EXSTYLE, OldLong Or WS_EX_LAYOUTRTL ' InvalidateRect hwnd, 0, False في اسفل الكود انا تركت الكود لبقية الاشياء اللي يمكن عملها من اليمين الى اليسار. اما تنفيذ التنسيق لمربع القائمة ، فهو وضع هذا الكود عند تحميل النموذج الذي يحتوي على هذا المربع (وهنا اسم حقل مربع القائمة هو List0_RTL ) : 'ListBox RTL Call RTL_Set(Me, List0_RTL) وتنسيق الشجرة ، فهو وضع هذا الكود عند تحميل النموذج الذي يحتوي على الشجرة (وهنا اسم الشجرة هو TreeView1) : 'TreeView RTL Call RTL_SetTree(Me, TreeView1) وللأمانة العلمية ، فاني استخدم قاعدة البيانات التي وضعها الاخ محمد في الرابط: http://www.officena.net/ib/index.php?showtopic=60781 جعفر تعديل 1: 18-11-2021 ، جعل البرنامج يعمل على النواتين 32بت و 64 بت 54.RTL_TreeView_ListBox_32bits_n_64bits.accdb.zip1 point
-
وعليكم السلام أخوي ابورحيل البحث في المنتدى سيوصلك ، بالاضافة الى روابط اخرى ، الى هذا الرابط: http://www.officena.net/ib/topic/61106-هدية-من-اليمين-الى-اليسار،-مربع-القائمة-listbox-والشجرة-treeview/ جعفر1 point