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

اريد منكم مساعدتي لعمل برنامج مخازن

بدأه almsbhi77 في 1 ديسمبر 2005 · 22 رد · 6,708 مشاهدة · في قواعد بيانات Oracle
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اريد منكم مساعدتي في عمل برنامج مخازن

مثل برنامج دليل الهاتف خطوة بخطوة

لاني درست الاوراكل ولكن اشعر اني ضايع في الاوراكل

اريد ان اتبت معلوماتي بعمل برنامج

شكرا للاخ اسكندر عىل برنامج دليل الهاتف

ALMSBHI77@YAHOO.COM

#2

أخ almsbhi77

شكراً جزيلاً لك :D

لقد قلت بأنك درست الأوراكل

إذا يجب أن تطبق برامج لكي تثبت معلوماتك قبل أن تضيع عليك هذه المعلومات :lol: ..

إن شاء الله سوف نكون جميعا في هذا المنتى معك في عمل هذا البرنامج.

أنت من ستقوم بشرح البرنامج حتى وإن أخطأت فستجد إن شاء الله من يوضح لك وللجميع الخطأ

ولن تتعلم إلا إذا أخطأت وعرفت خطأك..

أخي أول خطوة مطلوبة منك هي تحديد هدف عمل البرنامج

أطرح فكرتك هنا عن المطلوب من عمل البرنامج.

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

إطرح فكرتك أخ almsbhi77 وإن شاء الله الكل سوف يشارك ليس لأجل إكمال برنامجك فقط ولكن لأجل الكل يستفيد

وهذه دعوة للجميع للمشاركة فالذي سيشارك هو فقط الذي سوف يستفيد

شاركوا حتى وإن أخطأتم فستجدون إن شاء من يوضح الخطأ ويصححه.

تم تعديل هذه المشاركة بواسطة إسكندر في 1 ديسمبر 2005 في 15:33

#3

إقتباس من مشاركة الأخ almsbhi77

اقتباس
ينقسم الكود لكل مادة في المخازن الى ثلاثة اجزاء:

1- category code

2- sub. categroy code

3- serial

مثلا:

51/S01/M00001

51/S01/E00001

51 هو categroy code

S01 هو sub. categroy code

M00001 و E00001 هو تسلسل المواد من M قطع ميكانيكية E قطع كهربائية

الجداول:

1- CATEGORY:

- cat. code

- cat. name

2- SUB. CATEGORY:

- sub. cat. code

- sub. cat. name

3- SERAIL :

- serial code

- serial name

4- جدول تعريف المواد:

- cat. code

-sub. cat. code

- serial code

- serial name

- part number

- quantity in store

- unit

-value

5- جدول الاستلام

- cat. code

-sub. cat. code

- serial code

- quantity recived

-recieved date

- voucher number

- value

6- جدول الصرف:

- cat. code

-sub. cat. code

- serial code

- quantity issued

- issued date

- voucher number

سوف ادرس الجداول وأرد عليك قريباً

#4

من خلال الجداول نلاحظ مايلي:

الجدول CATEGROY فيه

cat_code varchar(2) primary key

cat_name varchar(20) not null

الجدول SUB_CATEGROY فيه

sub_cat_code varcahr(3) primary key

sub_cat_name varchar(20) not null

الجدول SERAIL فيه

serial_code varchar(6) primary key

serial_name varchar(20) not null

جدول المواد MATERIALS فيه:

cat_code varchar(2)

sub_cat_code varcahr(3)

serial_code varchar(6)

part_number number(6)

quantity_in_store number(6)

unit varchar(20)

value number(6)

ولانحتاج هنا إلى الحقل serial_name وإلا مافائدة الجدول SERIAL

ونلاحظ أيضاً في هذا الجدول بأن المفتاح الأساسي Primary Key سوف يكون ثلاثة حقول مجتمعة معاً وهي

cat_code و sub_cat_code و serial_code

ويوجد أيضاً ثلاثة مفاتيح ثانوية Foriegn منفردة وهي:

cat_code مرتبطة بالجدول CATEGROY مع الحقل cat_code

sub_cat_code مرتبطة بالجدول SUB_CATEGROY مع الحقل sub_cat_code

serial_code مرتبطة بالجدول SERIAL مع الحقل serial_code

أما جدول الإستلام RECEIVED فيه:

cat_code varchar(2)

sub_cat_code varcahr(3)

serial_code varchar(6

quantity_received number(6)

received_date date

voucher_number number(6)

value number(6)

وفي هذا الجدول سوف يكون لدينا مفتاح ثانوي Foriegn Key يتكون من الحقول الثلاثة

cat_code و sub_cat_code و serial_code

مرتبط مع المفتاح الأساسي في جدول المواد

أما جدول الصرف ISSUSED فهو لا يختلف كثيراً عن جدول الإستلام وفيه:

cat_code varchar(2)

sub_cat_code varcahr(3)

serial_code varchar(6

quantity_issued number(6)

issued_date date

voucher_number number(6)

وفي هذا الجدول سوف يكون لدينا مفتاح ثانوي Foriegn Key يتكون من الحقول الثلاثة

cat_code و sub_cat_code و serial_code

مرتبط مع المفتاح الأساسي في جدول المواد أيضاً

إذا بقى الأن تكوين هذه الجداول والعلاقات التي بينها في SQL Plus

وهذه المهة أيضاً عليك أخ almsbhi77

حاول تكوينها ومنتظر ردك

ولا تخاف إن أخطأت...

تحياتي...

#5

شكرا اسكندر

انا سابدأ اكتب تصميم الجداول على ورقة تم ساكتبها بالمنتدى

عندي تعليق بسيط حول كود المادة:

ينقسم الى ثلاثة اجزاء

51/S01/M00001

51 يحتوي على: S01 , S02 , S03 ,S04 , S05 .........

S01 يحتوي على: M00001 , M00002 .............

يعني CAT يتفرع منه عدد من SUB CAT.

انتظر مني الجداول

شكرا

#6

ممكن تعطيني أمثلة أخرى عن كود المادة غير هذا الكود 51/S01/M00001

أقصد مثلاً إذا كان 52 فكيف سيكون الكود هل بنفس الشكل 52/S01/M00001 أم سيتغير

أعطيني أكواد مختلفة حتى نتمكن من إنشاء الجداول بشكل صحيح..

#7

سلام

تفاصيل الكود

انا عندي قطع غيار لكل قسم بالشركة مثلا:

قطع غيار مصنع الحليب: 51

قطع غيار مصنع االكراتين: 52

اذا مصنع الحليب 51 يحتوي على عدة الالات انتاج كل اله تسمى S01 , S02 , S03 ,S04 ...... قد تصل الى عشرين SUB CAT.

كل اله لها قطع غيار حاصة بها ميكانيكية وكهربائية

ميكانيكية M00001 , M00002 ........... , الى اخر من عدد عدد القطع قد تصل خمسة الف قطعة

كهربائية E00001 , E00002

انا ممكن انشئ الكود حسب طريقتك السابقة بال اس كيو ال

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

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

منظر الرد

#8

شكراً على التوضيح...

إستمر على نفس التحليل والجداول والعلاقات التي بينها

المفتاح الأساسي الذي في جدول المواد والذي يتكون من ثلاثة حقول هو الذي سوف يفصل قطع غيار الآلات كلاً على حده.

منتظر منك تكوين الجداول بالـ SQL

أحسنت...

#9

توضيح:

المادة 51/S01/M00001 تعني (القطعة الميكانيكية الأولى للآلة الأولى لمصنع الحليب)

والمادة 52/S02/E00001 تعني (القطعة الكهربائية الأولى للآلة الثانية لمصنع الكراتين)

والمادة 52/S03/E00002 تعني (القطعة الكهربائية الثانية للآلة الثالثة لمصنع الكراتين)

وهكذا...

صح وإلا أنا غلطان يا أخ almsbhi77

#10

ايوووووووووووووووووووه صح

انتظر مني الجداول بالاس كيو ال

#11

اريد انا سالك ما الفرق بين SQL 8 والاصدارات الاخرى من SQL

انا اخد الكورس سابقا SQL8

هل هناك فرق كبير؟؟؟؟؟

#12

أخ almsbhi77

انا لم أعمل على الإصدارات الأخرى من SQL

فحالياُ أعمل على SQL8.0

ولكن لأعتقد انه توجد فروق جوهرية

عجل بالجداول

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

ولكن أريدك أنت الذي تنشئ الجداول فالمشروع مشروعك والموضوع موضوعك

تحياتي..

#13

Create table categroy(

1 cat_code varcher2(2) primary key,

2 cat_name varcher2(20) not null);

create table sub_categroy(

1 sub_cat_code varcher2(3) primary key,

2 sub_cat_name varcher2(20) not null);

create tabel serial(

1 serial_code varcher2(6) primary key,

2 serial_name varcher2(20) not null);

create table materials(

1 cat_code varcher2(2),

2 sub_cat_code varcher2(3),

3 serial_code varcher2(6),

4 part-number varcher2(15),

5 quantity_in_store number(6),

6 unit varcher2(10),

7 value number(6);

create table received quantity(

1 cat_code varcher2(2),

2 sub_cat_code varcher2(3),

3 serial_code varcher2(6),

4 quantity_rec number(6),

5 rec_date date,

6 voucher_number number(6),

7 value number(6);

create table issued quantity(

1 cat_code varcher2(2),

2 sub_cat_code varcher2(3),

3 serial_code varcher2(6),

4 quantity_issued number(6),

5 issued_date date,

6 voucher_number number(6),

7 value number(6);

بالرغم اني لم انزل الاوراكل في جهازي بالبيت حاولت اليوم اكتب الجداول وانا بالعمل اذا عندكم اي ملاحظات كلمني ..... ايضا ساحاول استذكر العلاقات لاني لي فترة طويلة موقف العمل بالاوراكل والعلاقات ستكون من خلالcat code , sub_cat_code , serial_code

اريد استذكر العلاقات حاليا

وايضا هناك بعض المعادلات بين : الكمية في المستوع + الكمية المستلمة = المجموع

المجموع - الكمية المصروفة = المتبقي بالمستود

ولكن الافكار عندي متضاربة مش عارف ارتب خطواتي القادمة

#14

أخ almsbhi77

بالنسبة للجداول الأولى categroy و sub_categroy و serial

لايوجد أي ملاحظات

فالخطوات صحيحة رااااااائع

أما الجدول materials فهناك بعض الملاحظات:

1- فماذا تقصد بـ part-number ولماذا وضعته حرفي وبمقدار كبيييير 15 حرف؟؟

إذا كنت تقصد به الرقم مجتمع معاً اي مثلاً S01/M00001/51 فيجب حذفه لعدم حاجتنا له لإن الحقول الثلاثة الأولى تفي بالغرض

أما إذا كنت تقصد به شيئ آخر فأرجو أن توضحه..

2- لم تحدد المفتاح الأساسي والذي هو عبارة عن إجتماع الثلاثة الحقول الأولى ويتم ذلك كما يلي:

    constraint pk_cat_sub_ser PRIMARY KEY(cat_code,sub_cat_code,serial_code)

3- لم تحدد الربط بين الحقل cat_code مع الجدول categroy

4- لم تحدد الربط بين الحقل sub_cat_code مع الجدول sub_categroy

5- لم تحدد الربط بين الحقل serial_code مع الجدول serial

وسيصبح الكود النهائي لهذا الجدول بعد حذف الحقل part-number وتكوين المفتاح الأساسي والعلاقات كما يلي:

create table materials(
cat_code varchar(2) REFERENCES categroy(cat_code),
sub_cat_code varchar(3) REFERENCES sub_categroy(sub_cat_code),
serial_code varchar(6) REFERENCES serial(serial_code),
quantity_in_store number(6),
unit varchar(20),
value number(6),
constraint pk_cat_sub_ser PRIMARY KEY(cat_code,sub_cat_code,serial_code));

سوف أراجع الجدولين الأخيرين وأرد عليك لاحقاً

#15

part no.

هو رقم ياتي مع القطعم من الشركة المصنعة للقطعة مثلا d21411bn189a

#16

شكراً على التوضيح

وبالنسبة للجدولين received وissued ينقصهما الربط.

وبذلك سوف تكون الجداول بعد التعديل كما يلي:

create table categroy(
cat_code varchar(2) primary key,
cat_name varchar(20) not null);

create table sub_categroy(
sub_cat_code varchar(3) primary key,
sub_cat_name varchar(20) not null);

create table serial(
serial_code varchar(6) primary key,
serial_name varchar(20) not null);

create table materials(
cat_code varchar(2) REFERENCES categroy(cat_code),
sub_cat_code varchar(3) REFERENCES sub_categroy(sub_cat_code),
serial_code varchar(6) REFERENCES serial(serial_code),
part_number varchar(15),
quantity_in_store number(6),
unit varchar(20),
value number(6),
constraint pk_cat_sub_ser PRIMARY KEY(cat_code,sub_cat_code,serial_code));

create table recived(
cat_code varchar(2),
sub_cat_code varchar(3),
serial_code varchar(6),
quantity_rec number(6),
rec_date date,
voucher_number number(6),
value number(6),
constraint fk_recived FOREIGN KEY(cat_code,sub_cat_code,serial_code)
references materials(cat_code,sub_cat_code,serial_code));

create table issued(
cat_code varchar(2),
sub_cat_code varchar(3),
serial_code varchar(6),
quantity_issued number(6),
issued_date date,
voucher_number number(6),
value number(6),
constraint fk_issued FOREIGN KEY(cat_code,sub_cat_code,serial_code)
references materials(cat_code,sub_cat_code,serial_code));

ماهي خطوتك التالية؟؟

#17

شكرا على مساعدتك

ملاحظة:

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

العمليات الحسابية:

- ايجاد مجموع الكمية المستلمة للكود الواحد اقصد sum(quantity_rec وكذ لك نفس الشئ مع مجموع الكمية المصروفة...

- مجموع الكمية المستلمة + الكمية في المستودع - مجموع الكمية المصروفة

مثلا:

انا عملت مسبقا بالاكسيس تقرير شهري وتقرير اسبوعي:

جمع المواد المستلمة خلال شهر وجمع المواد المصروفة خلال شهر

مثلا من تاريخ 1/1/2005 الى 31/1/2005

ويكون هذا تقرير شهر يناير2005

#18

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

انا عندي ويندوز اكس بي

في منتصف التحميل يطلع لي رسالة خطأ او رسالة عادي توقف التحميل

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

هل هناك بالمنتدى دروس او خطوات للتنزيل مع الصور

#19

ابحث في المنتدى.. كل شيئ موجود ..

هذه رابطة الحذف ..

/index.ph...قة+حذف+الاوراكل

وهذه رابطة تنصيب الاوراكل

/index.ph...topic=71289&hl=

أشهد أن لا إله إلا الله ***************** وأشهد أن محمد عبده ورسوله

#20

اشكركم

حاولت انزل اوراكل 8 وديفلوبر6i

لكن الديفلوبر لم ينزل كامل انزلت فقط الفورم والريبورت فقط ولم يكمل الاشياء الاخرى بالديفلوبر

في منتصف التنزيل تظهر لي رسائل....

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

الثلاثة الجداول الاولى علملتها وكانت العملية ناجحة

اما جدول الاستلام لم ينجح لا زلت احاول فيه وابحث عن الخطأ

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

منتظر الرد

#21

أخ almsbhi77

أعذرني لتأخري بالرد فقد كنت مشغولاً وسوف أنشغل أكثر في الأيام القادمة

على العموم

خطوتك التالية هي عمل فورم لإضافة البيانات

فورم لإضافة وحذف وتعديل في الجدول categroy

وفورم آخر للجدول sub_categroy

وثالث للجدول serial

وذلك حتى نتمكن من إدخال البيانات إلى الجداول

أما بالنسبة للعمليات الحسابية التي ذكرتها فليس وقتها الآن

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

اقتباس
ملاحظة:

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

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

اقتباس
العمليات الحسابية:

- ايجاد مجموع الكمية المستلمة للكود الواحد اقصد sum(quantity_rec وكذ لك نفس الشئ مع مجموع الكمية المصروفة...

- مجموع الكمية المستلمة + الكمية في المستودع - مجموع الكمية المصروفة

لاتشغل بالك بالحسابات من الآن. هذا كله سوف نستخدمه في التقارير.

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

انا عندي ويندوز اكس بي

في منتصف التحميل يطلع لي رسالة خطأ او رسالة عادي توقف التحميل

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

هل هناك بالمنتدى دروس او خطوات للتنزيل مع الصور

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

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

اقتباس
ابحث في المنتدى.. كل شيئ موجود ..

صحيح كلامك أخ ANSI كل شيئ موجود وأنت أخ almsbhi77 ليش ماتتعب روحك شويه بالبحث

اقتباس
حاولت انزل اوراكل 8 وديفلوبر6i

لكن الديفلوبر لم ينزل كامل انزلت فقط الفورم والريبورت فقط ولم يكمل الاشياء الاخرى بالديفلوبر

في منتصف التنزيل تظهر لي رسائل....

حدد ماهي الرسائل التي تظهر لك وفي أي مرحلة من مراحل التنصيب وأنصحك بتنصيب إصدار أعلى وليكن مثلاً 9i على الأقل

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

اما جدول الاستلام لم ينجح لا زلت احاول فيه وابحث عن الخطأ

لماذا لم تنجح العملية

أعد العملية فقط قص وإلصق النص في SQL Plus

وقبل عملية القص واللصق لتكوين الجداول قص وإلصق الكود التالي الذي يحذف الجداول السابقة حتى تتمكن من إنشاءها من جديد

drop table categroy CASCADE CONSTRAINTS;
drop table sub_categroy CASCADE CONSTRAINTS;
drop table serial CASCADE CONSTRAINTS;
drop table materials CASCADE CONSTRAINTS;
drop table recived CASCADE CONSTRAINTS;
drop table issued CASCADE CONSTRAINTS;

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

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

ويبقى فقط الفورم الذي سوف تشتغل عليه وهذا بسيط جداً

إذا انشأت الفورم في العمل فقم بحفظه في الجهاز الموجود في العمل وإحفظة مرة أخرى حفظ بإسم Save As للدسك وإذهب للبيت وإفتح الملف الذي في الدسك وإعمل له حفظ بإسم للجهاز الذي بالبيت( أو العكس من البيت إلى العمل)

وكرر هذه العملية بعد كل عملية إضافة للفورم أو تحديث

الآن إبدأ بتكوين أول فورم يقوم بعملية إضافة بيان إلى الجدول categroy راجع درس دليل التلفونات عن كيفية الإضافة.

تحياتي...

#22

السلام عليكم

الاخ اسكندر انا عدت من جديد الى المنتدى

واريد اكمل معك ومع الاخوة برنامج المخازن..... ممكن؟؟؟

انا اسف على التاخير

#23

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

[size="5"]السادة الاعضاء السادة المشرفين رجاء خاص من سيادتكم استكمال هذا الموضوع او البحث عن العضو اسكندر لاستكمالة او من عندة فكرة استكمالة لاهميتة الشديدة لى ورجو من الله عز وجل

ان ينفعنا بما علمنا وينفعكم به يوم القيامة

وتقبلوا التحية اخوكم sasty

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