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

تجزأة الحقل إلى حقلين, كيف؟

مغلق
بدأه سي شارب في 2 يوليو 2007 · 5 رد · 1,503 مشاهدة · في قسم أرشيف الاستعلامات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

عندي جدولين.

الجدول الأول يحتوي على حقول متعددة من بينها حقل اسمه [صندوق البريد ورمزه]. وهذا مثال لأحد الحقول: (1332 الرمز البريدي 44556)

الجدول الثاني فيه حقلين: [صندوق البريد] و [الرمز البريدي].

المطلوب: إلحاق كافة سجلات الجدول الأول للجدول الثاني بشرط: استلال صندوق البريد من الجدول الأول ووضعه في حقل [صندوق البريد] في الجدول الثاني, كذلك استلال الرمز من الجدول الأول ووضعه في حقل [الرمز البريدي] في الجدول الثاني.

نوِّرونا.

#2

بالاعتماد على الفراغين الموجودين في الحقل يمكنك عمل مايلي :

insert into newtable (pobox,code)  
SELECT Left([myfield],InStr([mytable].[myfield],' ')-1)  , Mid([myfield],InStrRev([mytable].[myfield],' ')) 
FROM mytable;

مع تكملة بقية الحقول

#3

اُعذرني لجهلي يا طارق

أرجو أن تبين لي أين أضع هذه العبارة ؟

كما أرجو أن تبين لي وظيفة ما يلي:

pobox,code

InStrRev

InStr

وهل أضع للحقل الثاني نفس العبارة مع تبديل Left بـ Right?

شكرًا لك.

#4
سي شارب كتب:
اُعذرني لجهلي يا طارق

أرجو أن تبين لي أين أضع هذه العبارة ؟

كما أرجو أن تبين لي وظيفة ما يلي:

pobox,code

InStrRev

InStr

pobox,code

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

InStr تستخدم للبحث عن كلمة داخل كلمة مع ارجا ع الموقع

instrev تستخدم للبحث عن كلمة داخل كلمة مع ارجا ع الموقع لكن تبدأ من جهة اليمين

اقتباس
وهل أضع للحقل الثاني نفس العبارة مع تبديل Left بـ Right?

لا فقد قمت باستخدام بدل right

mid

والتي تعمل قص لنص مع تحديد بداية القص

ولتنفيذ الامر تحتاج الى عمل استعلام في اكسس

#5

بارك الله فيك اخي طارق على المساعدة

هذا توضيح واجابه لسؤال الأخ الكريم

PoBoxAndCode.rar

#6

شكرًا يا طارق, شكرًا يا زهرة..

الآن فهمت.

ماذا لو كنت لا أعرف من هيأة البيانات في الحقل إلا أنها تحتوي على رقمين الأول لصندوق البريد, والآخر للرمز .

مثلاً, أحد الحقول كتب بهذه الصيغة:

الصندوق البريدي 2323 الرمز البريدي 5453

وآخر:

ص.ب 5454 الرمز البريدي 12544 الرياض

وآخر:

بريد 5432 رمز 43343

فكرت بطريقة لكني لا أعرف كيف أنفذها, وهي البدء من البداية وتفحص رقم الأسكي لكل خانة وتجاهل كل ما ليس برقم وعند مواجهة رقم نحتفظ به ونضم إليه الأرقام التالية ضمًّا إلى أن نصادف ما ليس برقم حينها ينتهي صندوق البريد

ونستمر بالتفحص إلى أن نجد رقمًا فنحتفظ به وبما يليه من الأرقام إلى أن نصادف ما ليس برقمحينها يكون الرمز قد اكتمل.

شكرًا لكم مرة أخرى.

تم تعديل هذه المشاركة بواسطة سي شارب في 7 يوليو 2007 في 11:49

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

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