السلام عليكم...
هل من الممكن ايجاد دالة في الاستعلام غير دالة REPLASE وذلك من اجل :
اضافة كلمة ابن لكل اسم ثلاثي
او لاحلال كلمة اخرى محل كلمة ابن في اي اسم ثلاثي
او لحذف كلمة ابن من كل اسم ثلاثي
وشكرا...
السلام عليكم...
هل من الممكن ايجاد دالة في الاستعلام غير دالة REPLASE وذلك من اجل :
اضافة كلمة ابن لكل اسم ثلاثي
او لاحلال كلمة اخرى محل كلمة ابن في اي اسم ثلاثي
او لحذف كلمة ابن من كل اسم ثلاثي
وشكرا...
شكرا اخي الكريم على تجاوبك السريع...
ولكني اردت دالة استخدمها في الاستعلام.
مع تحياتي...
لا اظن ان ذلك ممكن ولكن يمكن استخدام طرق اخرى
بمعنى التحايل على الدالة الواحدة بعدة دوال ئؤدي نفس الغرض\ولكن مالمشكلة في Replace أنا جربتها في طلب لآحد الأخوة وتم المطلوب في سؤال بن وبنت وازالة الهمزة
وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ
شكرا اخي العزيز...
ولكن عند استخدام دالة REPLASE في الاستعلام
تظهر رسالة ان هذه الدالة غير موجودة
فأين الخطأ في ذلك ، رغم اني اكتب الدالة صحيحة ؟
شكرا...
السلام عليكم...
عندي مثلا اسم ثلاثي
اريد اجراء عملية حذف او اضافة لحرف معين من هذا الاسم عن طريق كتابة كود
شكرا...
السلام عليكم..
أخي أنا مو فاهم السؤال :huh:
تريد حذف حرف التاء من كل الكلمات؟؟
أو من الكلمة المدخلة؟
شكرا اخي العزيز...
الطريقة الاولى: اريد اضافة او حذف حرف معين من كلمة معينة
الطريقة الثانية: اريد اضافة او حذف حرف معين من كل الكلمات
شكرا جزيلا...
اردت استخدام دالة غير دالة replase في الاستعلام
وذلك لاضافة حرف او حذف حرف من الاسم الثلاثي.
وشكرا...
بسم الله الرحمن الرحيم
الأخ بلالي السلام عليكم ورحمة الله
سيجعل الله لك من كل هم فرجا بحول الله أجتهدت في إيجاد حل لك بهذا المثال
الاول بواسطة الدالة Clean وهي لحذف أي حرف تختاره
أنظر الكود
Public Function Clean(sString As String) As String Dim nLength As Integer Dim nStart As Integer Dim sOne As String Dim sNoWay As String ' sNoWay = Me.cmpom ÇáÍÑæÝ ÇáãÑÇÏ ÍÐÝåÇ If Not IsNull(sString) Then nLength = Len(sString) nStart = 1 Do While nStart <= nLength sOne = Mid(sString, nStart, 1) If InStr(1, sNoWay, sOne, vbTextCompare) = 0 Then Clean = Clean & sOne End If nStart = nStart + 1 Loop End If End Function
وهذه صورة المثال

والثاني بواسطة نفس الدالة ReplaceAll للإستبدال
Function ReplaceAll(SourceString As String, ReplaceThis As String, WithThis As String) Dim Temp As Variant Temp = Split(SourceString, ReplaceThis) ReplaceAll = Join(Temp, WithThis) End Function
أنظر صورة المثال

لا أريد أن أتعبك بتتبع الدالة ولكن المثال يغني عن المقال أعددت لك وللجميع هذا المثال راجيا دعواتكم
Ekseer
تم تعديل هذه المشاركة بواسطة ekseer في 25 يناير 2007 في 22:22
اخي الفاضل بلالي
السلام عليكم ورحمة الله وبركاته
هذه ثلاث مشاركات خاصة بك تحمل نفس الموضوع والسؤال
اريد دالة في الاستعلام غير دالة REPLACE
اضافة او حذف حرف التاء عن طريق الكود
لقد عجزت من السؤال وليس من مجيب
وهذا طبعا مخالف لقوانين و قواعد المشاركات والمنتدى وكنت سأقوم بحذف و اغلاق جميع هذه المشاركات لأنه من غير المعقول ان تسأل نفس السؤال في عدة مشاركات . لهذا تم التغاضي عن هذا الموضوع نظرا لأن الأخوة الكرام مشكورين قد اجابوا علي اسألتك وتم دمج جميع المشاركات في مشاركة واحده وآمل ان لا يتكرر هذا الخطأ مع خالص الشكر والتقدير .
ولكي تعرف المشكله هي بإختصار ان المشكلة لديك في برنامج الاكسيس فالنسخة التي لديك هي نسخة اكسيس 2000 بإصدار قديم غير محدث للسيرفر باك 2 SP2 لأن النسخ القديمه من اكسيس 2000 لم يتم وضع االدوال التالية بها وهي
Replace
InStrRev
Split
Join
ولهذا لن تظهر لك ولن تستطيع استخدامها حتى لو اعطيت الدالة في مثال كما فعل معك الاخوان في اجاباتهم . اما الاكسيس 2000 المحدث و2002 و الاكسيس 2003 فتوجد بهم هذه الدوال
الامر الأخر نسنطيع التحايل على برنامج الاكسيس بإنشاء دالة Replace بواسطة الكود وتستطيع استخدامها في الاستعلام او اي مكان تريده
وهذا هو كود دالة Replace يوضع في وحدة نمطيه عامه
Public Function Replace(InString as String,FindString as String,ReplaceString as String) AS String Replace=Replace(InString,FindString,ReplaceString) End Function
وطريقة استخدامها كالتالي
في الاستعلام
EXPR: Replace([YOUR FILED];"OLD WORD";"NEW WORD")
YOUR FILED : اسم الحقل الذي بوجد به الكلمه او الخرف المراد تغييرها
OLD WORD : الكلمة او الحرف قبل التغيير
NEW WORD : الكلمة او الحرف بعد التغيير
قد ترغب في حذف كلمة او حرف معين من كلمة اذا اترك هذا فارغ بمعنى اكتب علامتي التنصيص بدون وضع قيم فيها ""
السلام عليكم ورحمة الله وبركاته...
الصحة والعافية للجميع إن شاء الله.
معذرة اخواني واخواتي على الازعاج.
وقد وفيتم ايما وفاء ، واجبتم ايما اجابة.
وفقكم الله ورعاكم ، ودمتم سالمين.
الف شكر وتحية .....
اقتباسولكن عند استخدام دالة REPLASE في الاستعلامتظهر رسالة ان هذه الدالة غير موجودة
الكلمة هي REPLACE وايس REPLASE وهذا سبب الخطا لديك
وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ
شكرا اخي همام...
حتى دالة REPLACE لا تعمل عندي
الا يوجد دالة اخرى يمكن وضعها في الاستعلام من اجل حذف حرف معين من الاسم الثلاثي مثلا ، واستبداله بحرف آخر
علما ان برنامج الاكسيس الذي عندي قديما كما قالت الاخت زهرة ، ولا توجد فيه مثل هذه الدوال .
الف شكر وتحية.
جرب Substitute فهي تعمل في اكسل تماما نفس عمل Replace الموجودة أيضا
حاول استخدامها في اكسل ثم استورد البينات الى اكسس
لماذا لا تستعمل اكسس حديث النسخة
مثل xp أو 2003
تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 28 يناير 2007 في 00:36
وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ
شكرا أخي همام سأحاول استعمال اكسس حديث النسخة .
وفقك الله لم فيه الخير والصلاح.
تحياتي..
هذا الموضوع مغلق.