-
Posts
2166 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
55
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
كل منشورات العضو Moosak
-
أستاذ حمدي .. غير هذه إلى : strMSG = " || *" & Me.myname.Value & "*" & " ||" & vbcrlf & "|| *" & Me.msg.Value & "*" & " ||" & vbcrlf & "|| *" & Me.attach.Value & "* ||" & vbcrlf & "|| " & "المرسل : *" & Me.sub
-
مجال الاجتهاد مفتوح للجميع 🙂 أنا مشغول جدا هذي الفترة .. 🌹
-
أتوقع بسبب التعديلات المستمرة من أكثر من شخص .. الكود فيه تكرارات للأوامر لذلك هو يرسل أكثر من مرة
-
لا يزال البرنامج يخبرك أنك لم تضف الدالة التالية لبرنامجك 🙂 : ' =================================(وهذه دالة لجعل الواتسأب يقبل السطور الجديدة في النص المرسل) Function ReplaceLineBreaks(text As String) As String ReplaceLineBreaks = Replace(text, vbCrLf, " %0a ") ReplaceLineBreaks = Replace(ReplaceLineBreaks, Chr(10), " %0a ") ReplaceLineBreaks = Replace(ReplaceLineBreaks, Chr(13), " %0a ") End Function أضفها في الأسفل تماما ( أسفل جميع الأكواد ) في نفس الصفحة مثلا .. وجرب من جديد
-
أخي أحمد .. تجنب تسمية حقول الجدول بأرقام فقط .. أو أسماء تبدأ بأرقام .. تسبب لك مشاكل 🙂 أنا أضفت "c" قبل رقم كل حقل وعدلت الكود قليلا .. وشغال زي العسل .. Me.الراتب = DLookup("c" & Me.a2, "Degree", "GradeNO=" & Me.a1) وأعتقد كان شغل الأستاذ أبو أحمد مضبوط بعد 🙂👌🏼
-
غير هذا : إلى : Dim strMSG As String strMSG = " || *" & Me.myname.Value & "*" & " || *" & Me.msg.Value & "*" & " || *" & Me.attach.Value & "* || " & "المرسل : *" & Me.sub strMSG = ReplaceLineBreaks(strMSG) Set IE = CreateObject("InternetExplorer.Application") IE.Navigate "whatsapp://send?phone=" & rs!phone_number & "&text=""*" & strMSG & "*" & "& app_sent =0" وهذا : إلى : objClipboard.SetText ReplaceLineBreaks(Me.msg)
-
للأسف ما استطعت تشغيله .. يظهر لي أخطاء ولا يعمل ..
-
أستاذ حمدي نسيت تشيل كود الدالة وتخليه في أي موديول عندك 🙂 وما دام مربع النص معاك اسمه MSG أيضا .. أفضل لك أن تغير اسم المتغير لاسم ثاني (strMSG) مثلا ... وذلك لتجنب حصول أخطاء في الكود
-
وعليكم السلام أستاذ حمدي .. في زر الارسال .. وقبل ما يشتغل الكود اللي يفتح الواتسأب .. تستبدل النص اللي حترسله ولنفرض أنه موجود في مربع النص Me.MsgText تستبدله بالنص الجديد اللي حتعطيك إياه الدالة اللي ذكرتها سابقا كما يلي : تعرف متغير جديد اسمه MSG علشان تحفظ فيه النص المراد إرساله بعد الاستبدال هكذا : Dim MSG as String MSG = ReplaceLineBreaks(Me.MsgText) وبعدها تخلي الواتسأب يرسل لك النص اللي متخزن في المتغير MSG .. 🙂
-
شكرا لك عمي جعفر ، كنت أعاني من هذي المشكلة وما عارف كيف أحلها .. 😅 والحين بعد ما عرفت .. عملت هذي الدالة لاستبدال فواصل الفقرات بالرمز "%0a" واللي تقوم بعمل السطر الفاصل بين الفقرات كما يريده الواتسأب : ' =================================(وهذه دالة لجعل الواتسأب يقبل السطور الجديدة في النص المرسل) Function ReplaceLineBreaks(text As String) As String ReplaceLineBreaks = Replace(text, vbCrLf, " %0a ") ReplaceLineBreaks = Replace(ReplaceLineBreaks, Chr(10), " %0a ") ReplaceLineBreaks = Replace(ReplaceLineBreaks, Chr(13), " %0a ") End Function وتستخدم كالتالي قبل ما تدخل في كود الإرسال : Dim MSG as String MSG = ReplaceLineBreaks(Me.MsgText) جربتها في برنامج مرسال الواتسأب ونجحت ولله الحمد 😊
-
من الصور لاحظت أن هناك فقرتين قبل الفقرة التي تبدأ برقم .. والكود يفحص دائما الفقرة الثانية .. 🙂 في هذي الحالة الكود يحتاج إلى تعديل ليبحث عن أول فقرة تبدأ برقم .. وربما يمكن الاستعانة بالأكواد السابقة لتحقيق ذلك .. والموجودة في هذا الموضوع :
-
وإذا أحببت أن تجعله كروتين منفصل لتناديه في وسط أكوادك السابقة حولته لك هكذا : Sub SelectText(ctrlTextBox As TextBox) ' Declare variables Dim TxtBoxControl As TextBox Dim txt As String Dim i As Integer Dim start As Integer Dim iEnd As Integer ' Defined The text box Set TxtBoxControl = ctrlTextBox ' Get the text from the text box txt = TxtBoxControl.Value ' Find the start of the first paragraph start = 0 ' Find the end of the first paragraph iEnd = InStr(1, txt, vbCrLf) 'Debug.Print iEnd ' Check if a paragraph break was found If iEnd > 0 Then ' Check if the next character after the paragraph break is a number 'Debug.Print "(" & Mid(txt, iEnd + 2, 1) & ")" If IsNumeric(Mid(txt, iEnd + 2, 1)) Then ' Select the text from the start of the first paragraph to the start of the second paragraph TxtBoxControl.SetFocus TxtBoxControl.SelStart = start TxtBoxControl.SelLength = iEnd - start End If End If Set TxtBoxControl = Nothing End Sub والآن يمكنك مناداته في كودك هكذا : Call SelectText(Me.nass2) فيقوم بعملية التحديد 🙂
-
بالفعل كان لا يعمل وبحاجة إلى تعديلات بسيطة 😁 وهذا هو الكود المعدل : Private Sub SelectBtn_Click() ' Declare variables Dim TxtBoxControl As TextBox Dim txt As String Dim i As Integer Dim start As Integer Dim iEnd As Integer ' Defined The text box Set TxtBoxControl = Me.nass2 ' Get the text from the text box txt = TxtBoxControl.Value ' Find the start of the first paragraph start = 0 ' Find the end of the first paragraph iEnd = InStr(1, txt, vbCrLf) 'Debug.Print iEnd ' Check if a paragraph break was found If iEnd > 0 Then ' Check if the next character after the paragraph break is a number 'Debug.Print "(" & Mid(txt, iEnd + 2, 1) & ")" If IsNumeric(Mid(txt, iEnd + 2, 1)) Then ' Select the text from the start of the first paragraph to the start of the second paragraph TxtBoxControl.SetFocus TxtBoxControl.SelStart = start TxtBoxControl.SelLength = iEnd - start End If End If Set TxtBoxControl = Nothing End Sub وضعته على زر .. وكتبت اسم مربع النص في أول الكود وهذه هي النتيجة : 🙂
-
وعليكم السلام ورحمة الله وبركاته 🙂 بالذكاء الاصطناعي .. ولم أجربه بعد 😅 وظيفة الكود فقط التركيز على المربع النص المطلوب ثم تحديد النص من أول الفقرة وحتى أول فقرة تبدأ برقم .. ( حسب الوصف الذي أعطيته إياه ) جربه وأخبرنا بالنتيجة 🙂 Sub SelectText() ' Declare variables Dim txt As String Dim i As Integer Dim start As Integer Dim end As Integer ' Get the text from the text box txt = Me.TextBox1.Value ' Find the start of the first paragraph start = 1 ' Find the end of the first paragraph end = InStr(start, txt, vbCrLf) ' Check if a paragraph break was found If end > 0 Then ' Check if the next character after the paragraph break is a number If IsNumeric(Mid(txt, end + 1, 1)) Then ' Select the text from the start of the first paragraph to the start of the second paragraph Me.TextBox1.SetFocus Me.TextBox1.SelStart = start Me.TextBox1.SelLength = end - start End If End If End Sub
-
أعتقد أنك تقصد هذا الموضوع 🙂 :
-
هل يمكن عمل نموذج بالاكسس لحساب الأقساط مثل الاكس المرفق
Moosak replied to ahmedsaadzeed's topic in قسم الأكسيس Access
الحمدلله جربته والأمور طيبة 🙂 فقط بقي إضافة تنبيهات التحقق من تعبئة جميع الحقول الأساسية مثل ( المبلغ - عدد الأقساط - تاريخ البداية - .... ) لأنها قد تعطي نتائج خاطئة أو رسائل خطأ .. 🙂 -
أخي محمد البرناوي الحبيب 🙂 مما لاحظته على هذا الكود أنه بمجرد الانتقال للسجل الجديد يقوم بتفعيله .. فإذا قرر المستخدم عدم إضافة السجل سيبقى فارغا .. مما سينتج العديد من السجلات الفارغة في الجدول مع تكرار نفس العملية .. لذلك أقترح أن تضيف الكود الخاص بك في حدث ( قبل الإدراج Before Insert ) أو استخدام الكود الذي أدرجته سابقا : في حدث عند الفتح .. وهذا سيحل الإشكال 🙂
-
أخي حمدي يمكنك استخدام هذه الدالة للتحقق من وجود إنترنت من عدمه 🙂 Private Declare PtrSafe Function InternetGetConnectedState Lib "wininet.dll" ( _ ByRef lpdwFlags As Long, _ ByVal dwReserved As Long _ ) As Boolean ' Returns True if there is an active Internet connection, False otherwise Function IsInternetConnected() As Boolean Dim flags As Long IsInternetConnected = InternetGetConnectedState(flags, 0) End Function Sub test() If IsInternetConnected() Then MsgBox "There is an active Internet connection." Else MsgBox "There is no active Internet connection." End If End Sub الدالة IsInternetConnected() ترجع لك True إذا الانترنت موجود و False إذا الشبكة مقطوعة
-
هل يمكن عمل نموذج بالاكسس لحساب الأقساط مثل الاكس المرفق
Moosak replied to ahmedsaadzeed's topic in قسم الأكسيس Access
رائع أخي أحمد يعمل بكفائة ما شاء الله .. 🙂 فقط لاحظت أنه ما ينقص قيمة المقدم من مجموع المبلغ .. بل يبني مباشرة على قيمة المبلغ كاملا .. وربما أكون مخطئ .. جربها أنته 🙂 -
تكملة تلقائية بعد كتابة اي قيم داخل الحقل
Moosak replied to Abdelaziz Osman's topic in قسم الأكسيس Access
وعليكم السلام ورحمة الله وبركاته 🙂 هذا هو كود التحقق للصيغة التي طلبتها : Like "*" & "/" & Year(Date()) وأما بالنسبة للجزئية الثانية ، جرب هذا الكود : If Not Me.TextBox Like "*" & "/" & Year(Date) Then Me.TextBox = Me.TextBox & "/" & Year(Date) End If -
هل يمكن عمل نموذج بالاكسس لحساب الأقساط مثل الاكس المرفق
Moosak replied to ahmedsaadzeed's topic in قسم الأكسيس Access
ممتاز ما شاء الله عليك 🙂 استخدم دالة mod لإضافة الباقي للقسط الأخير 🙂 -
تمييز السجلات التي لا تبدأ بأرقام والتي تحتوي أكثر من رقم بسطر جديد
Moosak replied to nssj's topic in قسم الأكسيس Access
لا الذكاء الصطناعي شغال على قد حاله 😅 ( على قدر المعطيات ) كان ما متعرف على أنه الفقرة بادية من سطر جديد .. فأنا قمت بضغط Enter قبل الفرة الثانية واشتغل زين 🙂 -
هل يمكن عمل نموذج بالاكسس لحساب الأقساط مثل الاكس المرفق
Moosak replied to ahmedsaadzeed's topic in قسم الأكسيس Access
وعليك السلام أخي أحمد 🙂 ما يقوم به البرنامج هو تقسيم مجموع ( إجمالي المبلغ - المقدم ) / عدد الأقساط .. ( 5000000 - 0 ) / 45 = 111111.111111 ثم يقوم بأخذ الفواصل من الأقساط (0.111111) ويضرها في عدد الأقساط ثم يضيف مجموع هذه الفواصل للقسط الأخير 🙂 فسيكون (0.111111 * 45 ) = 4.999999 ثم يضاف هذا للقسط الأخير فتكون قيمته 4.999999 + 111111 = 111116 ومثل ما قال أخي أبو بسملة @ابو بسمله قم بحذف الأقساط وإضافتها من جديد بسبب وجود خطأ . ولا تنسى تغيير العملة في مصدر بيانات حقل المبلغ لعملة بلدك 🙂 برنامج الأقساط - موسى.rar -
هل يمكن عمل نموذج بالاكسس لحساب الأقساط مثل الاكس المرفق
Moosak replied to ahmedsaadzeed's topic in قسم الأكسيس Access