الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

اريد دالة في الاستعلام غير دالة REPLACE

مغلق
بدأه بلالي في 24 يناير 2007 · 15 رد · 2,531 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم...

هل من الممكن ايجاد دالة في الاستعلام غير دالة REPLASE وذلك من اجل :

اضافة كلمة ابن لكل اسم ثلاثي

او لاحلال كلمة اخرى محل كلمة ابن في اي اسم ثلاثي

او لحذف كلمة ابن من كل اسم ثلاثي

وشكرا...

#2

في لغة السي شارب يمكنك تقسيم الجملة الى ثلاث كلمات ثم تلصق الكلمة الأولى بالثالثة

 string MySentence = " fdgfd ben dfgd"
			string[] SplitedSentence = MySentence.Split(' ');
			MySentence =SplitedSentence[0] +SplitedSentence[2];
#3

شكرا اخي الكريم على تجاوبك السريع...

ولكني اردت دالة استخدمها في الاستعلام.

مع تحياتي...

#4

لا اظن ان ذلك ممكن ولكن يمكن استخدام طرق اخرى

بمعنى التحايل على الدالة الواحدة بعدة دوال ئؤدي نفس الغرض\ولكن مالمشكلة في Replace أنا جربتها في طلب لآحد الأخوة وتم المطلوب في سؤال بن وبنت وازالة الهمزة

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#5

شكرا اخي العزيز...

ولكن عند استخدام دالة REPLASE في الاستعلام

تظهر رسالة ان هذه الدالة غير موجودة

فأين الخطأ في ذلك ، رغم اني اكتب الدالة صحيحة ؟

شكرا...

#6

السلام عليكم...

عندي مثلا اسم ثلاثي

اريد اجراء عملية حذف او اضافة لحرف معين من هذا الاسم عن طريق كتابة كود

شكرا...

#7

السلام عليكم..

أخي أنا مو فاهم السؤال :huh:

تريد حذف حرف التاء من كل الكلمات؟؟

أو من الكلمة المدخلة؟

#8

شكرا اخي العزيز...

الطريقة الاولى: اريد اضافة او حذف حرف معين من كلمة معينة

الطريقة الثانية: اريد اضافة او حذف حرف معين من كل الكلمات

شكرا جزيلا...

#9

اردت استخدام دالة غير دالة replase في الاستعلام

وذلك لاضافة حرف او حذف حرف من الاسم الثلاثي.

وشكرا...

#10

بسم الله الرحمن الرحيم

الأخ بلالي السلام عليكم ورحمة الله

سيجعل الله لك من كل هم فرجا بحول الله أجتهدت في إيجاد حل لك بهذا المثال

الاول بواسطة الدالة 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

وهذه صورة المثال

storm_198342211617199455_send009.gif

والثاني بواسطة نفس الدالة 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

أنظر صورة المثال

storm_1868120523339039107_send010.gif

لا أريد أن أتعبك بتتبع الدالة ولكن المثال يغني عن المقال أعددت لك وللجميع هذا المثال راجيا دعواتكم

Ekseer

killtxt.rar

تم تعديل هذه المشاركة بواسطة ekseer في 25 يناير 2007 في 22:22

#11

اخي الفاضل بلالي

السلام عليكم ورحمة الله وبركاته

هذه ثلاث مشاركات خاصة بك تحمل نفس الموضوع والسؤال

اريد دالة في الاستعلام غير دالة REPLACE

/index.php?showtopic=117425

اضافة او حذف حرف التاء عن طريق الكود

/index.php?showtopic=117492

لقد عجزت من السؤال وليس من مجيب

/index.php?showtopic=117531

وهذا طبعا مخالف لقوانين و قواعد المشاركات والمنتدى وكنت سأقوم بحذف و اغلاق جميع هذه المشاركات لأنه من غير المعقول ان تسأل نفس السؤال في عدة مشاركات . لهذا تم التغاضي عن هذا الموضوع نظرا لأن الأخوة الكرام مشكورين قد اجابوا علي اسألتك وتم دمج جميع المشاركات في مشاركة واحده وآمل ان لا يتكرر هذا الخطأ مع خالص الشكر والتقدير .

ولكي تعرف المشكله هي بإختصار ان المشكلة لديك في برنامج الاكسيس فالنسخة التي لديك هي نسخة اكسيس 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 : الكلمة او الحرف بعد التغيير

قد ترغب في حذف كلمة او حرف معين من كلمة اذا اترك هذا فارغ بمعنى اكتب علامتي التنصيص بدون وضع قيم فيها ""

#12

السلام عليكم ورحمة الله وبركاته...

الصحة والعافية للجميع إن شاء الله.

معذرة اخواني واخواتي على الازعاج.

وقد وفيتم ايما وفاء ، واجبتم ايما اجابة.

وفقكم الله ورعاكم ، ودمتم سالمين.

الف شكر وتحية .....

#13
اقتباس
ولكن عند استخدام دالة REPLASE في الاستعلام

تظهر رسالة ان هذه الدالة غير موجودة

الكلمة هي REPLACE وايس REPLASE وهذا سبب الخطا لديك

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#14

شكرا اخي همام...

حتى دالة REPLACE لا تعمل عندي

الا يوجد دالة اخرى يمكن وضعها في الاستعلام من اجل حذف حرف معين من الاسم الثلاثي مثلا ، واستبداله بحرف آخر

علما ان برنامج الاكسيس الذي عندي قديما كما قالت الاخت زهرة ، ولا توجد فيه مثل هذه الدوال .

الف شكر وتحية.

#15

جرب Substitute فهي تعمل في اكسل تماما نفس عمل Replace الموجودة أيضا

حاول استخدامها في اكسل ثم استورد البينات الى اكسس

لماذا لا تستعمل اكسس حديث النسخة

مثل xp أو 2003

تم تعديل هذه المشاركة بواسطة همام ابوعرقوب في 28 يناير 2007 في 00:36

وَمِنَ النَّاسِ مَن يُعْجِبُكَ قَوْلُهُ فِي الْحَيَاةِ الدُّنْيَا وَيُشْهِدُ الله عَلَى مَا فِي قَلْبِهِ وَهُوَ أَلَدُّ الْخِصَامِ

مواضيعي ومشاركاتي

#16

شكرا أخي همام سأحاول استعمال اكسس حديث النسخة .

وفقك الله لم فيه الخير والصلاح.

تحياتي..

هذا الموضوع مغلق.

مواضيع مشابهة