لدي دليل تلفون مكون من جدولين الاسماء والاقسام
عند اضافة سجل اكتب الاسم ثم الرقم واختار من الدات كمبو القسم ثم احفظ
والمشروع مرفق ارجوا التعديل
شكرا لكي استاذي
جيد كما طلبة ولكن اردت ان يظهر اسم القسم بدل رقم القسم من جدول g
المطلوب عند اضافة سجل اكتب الاسم و رقم التلفون والمدينة ثم من الدات كمبو تظهر جميع الاقسام واختار القسم ثم حفظ
ثانياً : لو لاحظة هذا الكود
Rs.Open "SELECT Phone.Name, Phone.hp1, Phone.hp2, g.n FROM Phone,G Where g.n = Phone.ng", _
Con, adOpenStatic, adLockOptimistic
تم الربط بين الجدولين بحيث يظهر جميع السجلات المتساوية
مثل : لو هناك اسم لم يسجل له قسم لايظهر في البيانات
اسف لكا استاذ المعذره
السلام عليكم
لا عادي اخي ما مشكلة .
والأن بالنسبة لإظهار اسم القسم عوضا عن رقمه فهذه العملية تحتاج إلى تغير اسم الحقل فقط ، راجع الملف المرفق .
أما عن السؤال الثاني وهو تلافي الاسماء التي لا يتم تخصيص قسم لها ، فهنا تحتاج إلى حذف هذا الشطر Where g.n = Phone.ng من الكود أعلاه حيث إنه يعني تجاهل كل القيم التي لا تتساوى مع الحقل n .
ملاحظة بسيطة / ربط الجداول تعتمد على المشاركة المتساوية حيث يكون الحقل nameg من الجدول g مساويا للحقل ng من الجدول Phone . أما اذا كان شرط التساوي غير ضروري فمن الافضل إن تحول الجدول g إلى قيم ثابته تضيفها إلى Combo عادي لا يتأثر بإي تغيير يطرى على قاعدة البيانات فبهذه الطريقة تسلم من تجاهل بعض القيم الموجوة في الجداول .
على فكرة قمت بإجراء تعديل كامل على البرنامج بحيث يحقق المطلوب ولكن بطريقة اخرى . والمعذرة على التقيصر . اخوك Visitor_OM
شكرأ لك اخي العزيز
بنسبة لحذف Where g.n = Phone.ng بعد ان حذفتها
عند التنقل بين السجلات يقوم يتغيير جميع سجلات الاقسام ثم يغير سجل واحد للموظفين
يعني أن الموظف مثل احمد يمربه على جميع الاقسم ثم ينتقل للموظف الثاني ويمر به على جميع الاقسام وهاكذا
يعني بناء على الاستعلام يكرر الموظفين حسب عدد الاقسام
مثل لو عندي ثلاث موظفين وعشر اقسم يكرر كل موظف عشر مرات يعني في الاستعلام يكون عدد السجلات 30 والمفروض 3 سجلات فقط
ارجو لك التوفق وزادك الله من علمه اجابتك كما طلبت
أن اعمل تجارب لكي اتعلم قواعد البيانات واستفدت منك كثيرأ لذا ارجوا الاتزعجك كثرت استفساراتي .
ارجو منك اخي أن توضح لي الكود التالي
Con.Execute "INSERT INTO Phone (Name,hp1,hp2,ng)" _
& " VALUES ('" & Text1.Text & "','" & Text2.Text & _
"','" & Text3.Text & "','" & DataCombo1.Text & "');"
السلام عليكم
لا لا يا اخي لا يوجد اي أزعاج بل على العكس يسرني هذا ،،، بس اعذرني إذا لم استطع الأجابة ...
بالنسبة للستفسارك .
أولا مهمة ذلك الكود هو إضافة البيانات إلى الجدول Phone ( حفظ البيانات الموجودة في التكست بوكس (Text Box) والكمبو (Combo) .
تعريف بسيط /
db هو المعرف لقاعدة البيانات أو هو المسؤل عن الإتصال بقاعدة البيانات .
INSERT INTO يقوم بإضافة البيانات إلى جدول معين وهنا الجدول هو Phone .
Phone طبعا الجدول الذي نريد إضافة البيانات فيه .
Name,hp1,hp2,ng الحقول التي سوفا نحفظ البيانات الجديدة فيها .
VALUES تسند البيانات الجديدة إلى الحقول .
اما التكست الموجود بعد VALUES فهي ترجع البيانات المدخلة في التكست والكمبو إلى الحقول .
ملاحظة / يراعى ترتيب الحقول والبيانات في الكود السابق بحيث الحقل الأول تقابلة القيمة الأولى بعد ال VALUES وهكذا .
أتمنى إني قد تمكنت من إيصال الفكرة إليك .
أخوك Visitor_OM
السلام عليكم ورحمة الله وبركاته
جيد طبقة الكود بالكامل لكن هناك مشكله كلما ضغطة حفظ ينشي سجل جديد
يعني مثال لوفتحة على احمد وضغط حفظ اكثر من مره لوجدة في جدول الاكسس كرر احمد اكثر من مره
:confused:
نعم يا اخي الكود السابق عملة هو إنشاء سجل جديد فقط .
اما لتعديل البيانات فاستخدم هذا الكود RS(0).UpDate وإيضا لحذف السجل استخدم RS(0).Delete .
على كلا راجع الرابط التالي يوجد فيه ملف مرفق حاول تنزيله يمكن تستفيد منه .
الرابط / http://www.arabteam2000.com/vb/showthread....5443#post125443
تحياتي .
روابط الامثلة غير موجودة
هذا الموضوع مغلق.