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

اكمال واجهات النظام

بدأه chairman في 20 فبراير 2012 · 29 رد · 3,839 مشاهدة · في قواعد بيانات Visual FoxPro
مشاركة: واتساب X فيسبوك تيليجرام
#26
ababil كتب:

اشكرك اخي اسد العراق على البروك والكود ناجح جدا

في الحقيقة هناك معلومة لم اكن اعلم بان الامر باك pack يمكن استخدامه

عن طريق (select) وبدون EXCLUSIVE المستخدمة مع use

لك اجمل تحية

اخي العزيز

دلني على هذا الكود لانهُ لايمكن عمل pack الا بعد استخدام الجدول بالامر use فقط او use مع EXCLUSIVE

اما بالنسبة الى الاخ chairman فكم انت عنيد اخي العزيز سبب اظهار مشكلة عدم اضافة القيد ليس بسبب الكود insert او append فهما لهم نفس الغاية

ولكن السبب يعود الى الحقل المفهرس بفهرس برايميري لانهُ مربوط بعلاقات اجعله فهرس منتظم وسوف يمشي البرنامج معك بكل سهول لاحظ اخر مشاركة لي في الصفحة الاولى من موضوعك

تحياتي للجميع

#27
lion iraq كتب:

اخي العزيز

دلني على هذا الكود لانهُ لايمكن عمل pack الا بعد استخدام الجدول بالامر use فقط او use مع EXCLUSIVE

اخي العزيز اسد العراق

بالنسبة لسؤالك

انت هو من كتب الكود وتم مسح الجدول عن طريق سلكت وامر باك

لان الكود الذي ارسلته فيه الامر باك وبعد تنفيذه تم المسح نهائيا

اما عن طريقتي فانا استخدم عندما اريد عدم التكرار الامر DISTINCT

الذي كما تعرف يمنع الدبلكيت( التكرار) ومنها يتم المسح

لكن طريقتك ذكيه من خلال عمليه جمع عن طريق count واستخدام DO WHILE !EOF() للوصول لكل حقل

لذلك هو انت صاحب الكود والفكرة ليس انا

واريد ان اعرف اخي كيف يمكن ان احذف حسب طريقتك

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

مثال نفرض ان هناك جدول اسمه table1 فيه حقلين الاول اسمه no والثاني name1

المطلوب مسح التكرار في الحقل الاول على ان تكون فقط مطابقة لقيم موجودة في الحقل الثاني

كما في المستند المرفق وارفقت الجدول ايضا

في طريقة sql استخدمت الكود التالي وتم عمل المطلوب

SELECT DISTINCT Table1.no, Table1.name1;
 FROM ;
     "TABLE1.DBF"

لكني اريد ان اعرف على طريقتك السابقة وهي طريقة set fillter وحذف القيم التي وافقت الشرط على حقلين وليس حقل واحد

مع تحياتي

duplicates.rar

تم تعديل هذه المشاركة بواسطة ababil في 4 مارس 2012 في 20:54

#28

السلام عليكم اخي العزيز

بالنسبة لسوالي صدقني عندما طلبة منك ان تدلني على الكود نسيت اني ثبتهُ في سوالك عن الحذف واعتقدت اك تقصد انه موجود في التعديل للاخ cherman

والحمد لله تم تزيد المنتدى بمعلومة جديدة عن الاستعلام الذي ثبيتة وهو عدم قبول التكرار صحيح عمله ولكن لنكون اكثر دقة انك تريد حذف التكرار في الجدول لنفترضه table1 اوكي عند تنفيذ الايعاز

 
SELECT DISTINCT Table1.no, Table1.name1;
 FROM ;
     "TABLE1.DBF"

يظهر النتائج في استعلام ويمكن خزن المخرجات الى جدول او كروس ولكن لايكون العمل على الجدول ولكن انا لم اقل انها ليست طريقة بل طريقة جميلة ورائعة جداً وسوف يستفاد منها الكثير

اما عن طريقتي تعمل على الجدول نفسه اليس كذلك وهي ايضا طريقة ولكل مبرمج طريقة تختلف ولو بنسبة عشرية عن المبرمج او مستخدم اللغة وهذا ما يسمى تبادل المعلومات لغرض التمييز والابداع

نرجع الى سوالك في حالة وجود حقلين وتكرر فيهما اكثر من قيد كما هو مرفق وتريدهُ بنفس الطريقتي السابقة اليك التعديل البسيط

SELECT * FROM table1 INTO table cool 
DO WHILE !EOF()
SELECT table1 
SET FILTER TO cool.no = table1.no AND cool.name1=table1.name1
DELETE ALL
GO top
RECALL
SELECT cool
SKIP
ENDDO
SELECT table1
SET FILTER TO
PACK 
MESSAGEBOX("تم حذف التكرار  ")
BROWSE
CLOSE ALL 
DELETE FILE cool.dbf &&لحذف الجدول الذي استخدم موقتاً

تحياتي للجميع

وسوف اتغييب لفترة اسبوع عن المنتدى بسبب سفري وسوف اكون متابع ان شاء الله من خلال الموبايل اتمنى ان يبقى بنفس نشاطهُ تحياتي لكم مرة اخرى

chakvalu.zip

#29

شكرا لك اخي اسد العراق سأقوم برفع الملف والاطلاع عليه والرد وبالموفقية وتعود سالم ان شاء الله

بالنسبة للاخ chairman ارجوا ان تحاول اخي ولا تيأس

عملت تغيير بسيط على ملفه sale واشتغل في الكرد كما طلبت لكنك وضعت مربعات نص لا اعرف ما الغرض منها

الملف بالمرفقات

Visual FoxPro Projects.rar

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