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

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

مغلق
بدأه islam2008 في 7 يناير 2008 · 12 رد · 2,895 مشاهدة · في قواعد بيانات Visual FoxPro
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

قمت بتصميم برنامج يتم تخزين اسماء الأشخاص فيه في قاعدة بيانات ولتكن names وذلك في العام 2007 وفي العام 2008 اريد غلق هذه القاعدة وعدم التعديل عليها حتى لاتتضخم البيانات ومن ثم فتح قاعدة بيانات جديدة بنفس الstructure وهذا سهل عن طريق امر الcreat وعمل القاعدة ولكن المشكله هنا لو وضعت خيار غلق بيانات وفتح بيانات اريد ان اميز القديم بأن أجعل اسم القاعده يأخذ امتداد العام والجديد يأخذ نفس الاسم الحالي يعني names2007 للقديم , و names للجديد كيف استطيع عمل ذلك (الحالي الذي تتم القراءة منه والاضافة اليه names وبمجرد أن اضغط قفل سنة وبعد رسالة متأكد ولا لأ الخ يتم أخذ هذه القاعده ووضعها في مجلد اسمه data مثلا وتأخذ اسم names2007 ويتم انشاء الجديدة وتأخذ اسم names) لغاية دلوقتي مافيش مشاكل طيب لو عاوز افتح القاعدة القديمة تاني واخليها هي الفعاله على طول اعمل ايه واعمل ايه في الموجوده حاليا وبها بيانات مع ملاحظة انه قد يكون هناك اكثر من قاعده قديمة مخزن بها البيانات وعاوز افتح اي واحده منهم واخليها هي الفعالة على طول زى names2006,names2005,names2004 الخ)

#2

عزيزي اسلام اهلا بك

استخدم اوامر الاس كي ال في انشاء جدول جديد واستخدم الوظيفة( )year لذلك الانشاء والامر CREATE TABLE ،

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

اي خدمة حاضرين

#3

الأخ vpman

أعتقد أنه يريد نسخ البيانات من الجدول ووضع جدول آخر بديل يأخذ امتداد العام الجديد وفي نفس الوقت يستطيع فتح الجدول القديم عندما يريد

تم تعديل هذه المشاركة بواسطة al_imam في 8 يناير 2008 في 21:29

#4

السلام عليكم

نزل الملف المرفق

وفي شاشة الاوامر جرب الاوامر التالية

الملف المرفق اسمة tid2007.dbf

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

SELECT * FROM tid2007

SELECT * FROM "tid"+"2007"

SELECT * FROM "tid"+ALLTRIM(STR(year(date())-1))

 o = ALLTRIM(STR(YEAR(DATE())-1))

SELECT * FROM "tid" + o

you will put o in textbox in a form

سوف تحصل على قيمة اوو من صندوق نصي بالنموذج

بالنهاية كلها ستؤدي الى النتيجة

انا فاهم قصد الاخ لكن اشرح الشرح الوافي

ملاحظة: يرجى العلم بانني جربت الاوامر قبل تقديمها لكم

بالمناسبة الملف عبارة عن جدول لكمات انجليزية وترجمتها بالعربي وهي تقريبا 4000 كلمة

tid2007.zip

#5

أخي vpman

ألف شكر على مساعدتك وعلى الروائع التي تتحفنا بها بس لما بيتم ضغط الملف بيترك ذلك للمستخدم أنا عايزه يضغطه بنفس اسمه + العام نفسه مثلا name.dbf يبقى name2007.tz حتى لايتم ضغط الملف بأكثر من اسم واشكرك على الشاشة الرائعة التى ارسلتها

#6

اخي اسلام

اهلا بك مرة اخرى

اقتباس
ألف شكر على مساعدتك وعلى الروائع التي تتحفنا بها

لاشكر على واجب

اقتباس
بس لما بيتم ضغط الملف بيترك ذلك للمستخدم أنا عايزه يضغطه بنفس اسمه + العام نفسه مثلا name.dbf يبقى name2007.tz حتى لايتم ضغط الملف بأكثر من اسم

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

اقتباس
واشكرك على الشاشة الرائعة التى ارسلتها

العفو يا عزيزي لكن ماذا تقصد بالشاشة التي ارسلتها.؟

اخوك ابو سلطان

#7

اخي العزيز ابو سلطان

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

اقصد ان الملف أو المجلد يتم ضغطه بأي اسم وعند فكه كذلك يمكن ان يتم فكه بأي اسم آخر وهذا سيجعل هناك نسخ متعددة من قاعدة البيانات باسماء مختلفة لذلك كنت اريد أن يتم الضغط بنفس اسم الملف أو بنفس اسم المجلد + امتداد السنة

واقصد بالشاشة الفورم المتضمنة الكلاس والأكواد البرمجية

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

اولا كيف استطيع عمل ذلك

ثانيا لو ضغطنا الجداول هل نستطيع البحث فيها وهي مضغوطه

مع خالص شكري وتحياتي

#8

حقا فكرة جديرة بالاهتمام

#9

عزيزي اسلام

الشرح الاول من خلالة تستطيع تغير الاسم حسب ما قلت ، اما مسألة ضغط الملفات فخذ هذه الروابط التالية:

http://www.sweetpotatosoftware.com/SPSBlog...15f610caae.aspx

http://www.sweetpotatosoftware.com/SPSBlog...5d06829b31.aspx

http://fox.wikis.com/wc.dll?Wiki~XPZipSupport~VFP

#10

شكرا ابو سلطان وجزاك الله خيرا ... حتخلينى ادرس اليومين دول أكتر من أيام الكلية:

تم تعديل هذه المشاركة بواسطة islam2008 في 15 يناير 2008 في 17:50

#11

المذاكرة ممتعة احياناً :)

#12

السلام عليكم،

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

سنوات وبتدوير الارصدة من سنة لاخرى،

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

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

ووضعها في المجلد الجديد ومن ثم وضع اوامر الترحيل.

وللتنقل من سنة لاخرى او من مجلد لاخر ما عليك سو تغيير ال PATH في برنامجك لتتمكن من التعامل مع كافة البيانات حسب الرغبة

بالنسبة للبرنامج المرفق فما عليك سوى وضع ما شئت من جداول في المجلد Original وتشغيل البرنامج حيث يقوم بانشاء

DataMaker.prg تستطيع وضعه ببرنامجك وانا بالخدمة.

Temp.rar

أستغفر الله العظيم و أتوب إليه

#13

الأخ الجلاد الاخوة الأحباء

فعلا هذا ما ابحث عنه فجزاك الله خيرا وجزاكم جميعا على ماتقدمون من جهد ومتابعة ونشر العلم فيما بيننا

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

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…