-
Posts
2,065 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
51
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Moosak
-
العفو أخي كريمو 🙂🌼
-
هذا يعمل جيدا مع أوفيس 365 👍🏻😉
-
-
وعليكم السلام ورحمة الله وبركاته 🙂 هذا الكود لعمل تحديد الكل : Private Sub btnSelectAll_Click() Dim strSQL As String ' SQL statement to update the "select" field to True strSQL = "UPDATE YourTableName SET [select] = True" ' Execute the SQL statement CurrentDb.Execute strSQL ' Refresh the form to reflect the changes Me.Requery End Sub وهذا لعمل إلغاء تحديد الكل : Private Sub btnDeselectAll_Click() Dim strSQL As String ' SQL statement to update the "select" field to False strSQL = "UPDATE YourTableName SET [select] = False" ' Execute the SQL statement CurrentDb.Execute strSQL ' Refresh the form to reflect the changes Me.Requery End Sub استبدل "YourTableName" باسم الجدول لديك واستبدل "select" باسم حقل الاختيار
-
السجلات مسرودة بشكل رأسي عمودي .. ماذا تقصد بيمينا ويسارا ؟ ممكن توضح أكثر ؟
-
وهناك مشاركة في موضوع مشابه للباش مهندس محمد عصام @ابو جودي هنا:
-
ولمجرد المشاركة هذه فكرتي لتحويل الأيام إلى سنوات وشهور 🙂 تعتمد الفكرة على إضافة عدد الأيام المعطى لتاريخ اليوم ثم يتم حساب الفترة بين التاريخين ( من تاريخ اليوم وحتى عدد الأيام المعطاه ) بدون الحاجة لافتراض أن الشهر 30 يوم ، بل يتم الحساب بعدد الأيام الفعلية للأشهر المقبلة. Public Function DaysToYMD(NumberOfDays As Long) As String 'لتحويل الأيام إلى سنوات وشهور وأيام Dim EndDate As Date Dim years As Integer Dim months As Integer Dim days As Integer Dim intH As Integer 'إضافة عدد الأيام لليوم الحالي EndDate = DateAdd("d", NumberOfDays, Date) ' حساب المدة بين التاريخين intH = Int(DateDiff("m", Date, EndDate)) + _ (EndDate < DateSerial(Year(EndDate), Month(EndDate), Day(Date))) years = Int(intH / 12) months = intH Mod 12 days = DateDiff("d", DateAdd("m", intH, Date), EndDate) DaysToYMD = years & " سنة و " & months & " أشهر و " & days & " يوم" 'MsgBox " المدة : " & DaysToYMD End Function طريقة الاستخدام هكذا : DaysToYMD(500)
-
-
وعليكم السلام 🙂 ممكن تستخدم هذا الكود لتوحيد الحروف ثم تبحث : دالة لاستبدال الحروف العربية المتشابهة إلى حرف واحد وذلك لاستخدامها في عمليات البحث وتلافي أخطاء الكتابة الكود: Public Function ReplaceArabicLetters(strText As Variant) As String ' استبدال الحروف العربية المتشابهة إلى حرف واحد وذلك لاستخدامها في عملية البحث وتلافي أخطاء الكتابة ' أ،إ،ا =(تحول إلى)=> ا ' ي،ى =(تحول إلى)=> ي ' ـه،ـة =(تحول إلى)=> ـه ' Moosak strText = Nz(strText, "") strText = Replace(strText, "أ", "ا") strText = Replace(strText, "إ", "ا") strText = Replace(strText, "آ", "ا") strText = Replace(strText, "ى", "ي") strText = Replace(strText, "ة", "ه") ReplaceArabicLetters = strText End Function طريقة الاستدعاء (الاستخدام): ReplaceArabicLetters("أجمل إنسان إللي معه ربطة فلوس وأعطى زملائه كلهم") النتيجة : ==> اجمل انسان اللي معه ربطه فلوس واعطي زملائه كلهم
-
حبيبنا @Foksh أقترح عليك أن تضع آخر نسخة بالتحديثات وسنقوم بتحديثها في المشاركة الأولى .. وذلك لتسهيل العمل على المستفيدين والمتعلمين أمثالنا
-
أستاذ @Foksh أين وضعت الملف المحدث ؟ 🙂
-
وعليكم السلام ورحمة الله وبركاته 🙂 وكفكرة أخرى إضافة لفكرة والدنا العزيز @ابوخليل .. ممكن تعمل حقل اسمة Status أو الحالة ( تم الإرسال - تمت القراءة - غير مقروء ) أو شيئ من هذا القبيل .. وفي الخلفية مربع نص تعمل عليه تنسيق شرطي .. لو الحالة = "تم الإرسال" يتلون أخضر ... ولو الحالة = "غير مقروء" يتلون أحمر .. مثلا 🙂
-
طلب كيفية استعراض ما بداخل المجلد في النموذج؟
Moosak replied to حامل المسك's topic in قسم الأكسيس Access
السلام عليكم 🙂 أعتذر أنا دخلت عرض في الموضوع 😅🖐🏻 ما رأيك في هذه الطريقة لاستعراض الملفات الموجودة في مجلد البرنامج ؟ وهذا الموضوع مرجع لك : OpenFolders.rar -
عمل راااائع ما شاء الله تبارك الرحمن أخي @Foksh عندي سؤال : لماذا لم تحفظ الترجمة في جدول بالبرنامج بدل حفظها في ملفات خارجية ؟ 🙂 ثانيا : أضفت لمسة للبرنامج وهي أنه يقوم بإعادة تشغيل البرنامج تلقائيا بعد اختيار اللغة المطلوبة 🙂 وذلك باستخدام هذا الكود : Sub RestartAccess() Dim vbsFilePath As String vbsFilePath = CurrentProject.Path & "\Restart.vbs" ' Change the file path as needed Dim vbsContent As String vbsContent = "WScript.Sleep(2000)" & vbCrLf & _ "CreateObject(""Shell.Application"").Namespace(0).ParseName(""" & CurrentProject.FullName & """).InvokeVerb ""Open""" ' Create the VBS file and write the content Dim fso As Object Set fso = CreateObject("Scripting.FileSystemObject") Dim vbsFile As Object Set vbsFile = fso.CreateTextFile(vbsFilePath, True, False) vbsFile.Write vbsContent vbsFile.Close ' Shell execute the VBS file to restart Access Shell "wscript.exe """ & vbsFilePath & """", vbNormalFocus ' Exit Access Application.Quit End Sub Change Language.zip
-
وهذه محاولة لتقليص حجم الكود أيضا 🙂 Dim x As Integer For x = 1 To 8 Me("txt" & x).Visible = False Me("txtm" & x).Visible = False Next x Me.txtmst.Visible = False Me.txtstrorag.Visible = False Me.txtID.Enabled = False Me.txtitems.Enabled = False Me.txtmag.Enabled = False If Me.commanfaz = "منفذ1" Then Me.txt1.Visible = True Me.txtm1.Visible = True ElseIf Me.commanfaz = "منفذ2" Then Me.txt2.Visible = True Me.txtm2.Visible = True ElseIf Me.commanfaz = "منفذ3" Then Me.txt3.Visible = True Me.txtm3.Visible = True End If
-
اختصار الاكواد بوحدة نمطية واستدعاءها عند الحاجه
Moosak replied to Hamtoooo's topic in قسم الأكسيس Access
تفضل أخي @jo_2010 🙂 هذا شكل الكود في الموديول : Public Sub PrintOut(pname As String, ID As Long) Screen.ActiveForm.Refresh If MsgBox("هل ... تريد طباعة التقرير الخاص بــ " & pname & " ؟ ", vbQuestion + vbMsgBoxRight + vbYesNo, Default_Title) = vbYes Then DoCmd.OpenReport "ss", acViewPreview, , "[id]=" & ID DoCmd.PrintOut DoCmd.Close acReport Else DoCmd.OpenReport "ss", acViewPreview, , "[id]=" & ID End If End Sub وتستدعيه بهذه الطريقة لأنه صار يستقبل معاملين هذه المرة ( الــ ID ، واسم الموظف ) Call PrintOut(pname.Value, Me.ID) Code.accdb -
اختصار الاكواد بوحدة نمطية واستدعاءها عند الحاجه
Moosak replied to Hamtoooo's topic in قسم الأكسيس Access
نعم ممكن طبعا 🙂 ولكنك هذه المرة ستدخل pname كمعامل للدالة لأنه يتغير كل مرة لكل مريض .. فستكون الصياغة بهذا الشكل ( عدل انت عليه لاحقا كما تشاء ) : Public Sub PrintOut(pname as string) If MsgBox (" التقرير الخاص بــ تريد طباعة مل" & pname & " ", vbQuestion + vbMsgBoxRight + vbYesNo, "") vbYes Then DoCmd.PrintOut Else Me.Undo End If End Sub -
توسيط النماذج على طريقة أبو جودي مع إخفاء إطار أكسس.
Moosak replied to abofayez1's topic in قسم الأكسيس Access
الله .. الله .. الله .. أيه الحلاوة دي كلها أفندينا .. 🤗🌹🌼🌷 تجاوزت حدود المفاهيم العتيقة عن الأكسس .. وفتحت آفاق جديدة 😊 -
تفضل أخي @Abdelaziz Osman 🙂 جعلته حقل محسوب غير مرتبط بالجدول وذلك لكي يعدل الترقيم نفسه حتى لو تم حذف السجلات .. وهذه قيمة الحقل : =IIf(IsNull([معرف]);"";DCount("*";"[Talabat]";"[معرف]<=" & [معرف])) ترتيب الترقيم.accdb
-
الذكاء الإصطناعي chatGPT في انشاء اكواد VBA
Moosak replied to دروب مبرمج's topic in قسم الأكسيس Access
الثورة الحالية هي في كيفية كتابة ال Prompt ( الطلب ) بشكل سليم للتعامل مع أدوات الذكاء الاصطناعي ، وهناك الآن مواقع مخصصة تساعدك على كتابته بشكل مناسب، فكلما كان توصيف الطلب بشكل سليم كانت النتائج أدق 🙂 شخصيا استفدت كثيرا من هذه الأدوات في كتابة العديد من الأكواد ( البسيطة أو المعقدة ) ، ولا غنى بالذكاء عن تعلم الأساسيات .. 🙂