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

مربع نص موجود في نموذج اذا كتبنا فيه رقم الموظف يقوم باستيراد بياناته من نموذج تاني في نفس القاعدة

بدأه أبو شادي في 10 يناير 2009 · 11 رد · 1,424 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي استفسار عن امكانية هذا الاستيراد

عندي جدولين لكل منهما نموذج الاول به بيانات موظفين والاخر فارغ

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

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

مرفق مثال للتعديل

جزاكم الله خير

___________.rar

#2

تفضل ملفك بعد التعديل

db8_UP.rar

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#3

استاذنا الاخ الكريم / محمد فؤاد

بارك الله فيك اخي محمد هذا الحل جميل جدا ولكن

انا طبعا وضعت مثال صغير جدا ولكن اصل البرنامج به بيانات كثيرة جدا وصعب ان اضع DLookup لكل هذا البيانات

فأنا عملت استعلام الحاق من الجدول الاول الى الجدول الثاني وعملت زر امر في النموذج T2 بحيث ينفذ هذا الاستعلام وطبعا يطلب قيمة معلمة

فهل يمكن عند كتابة رقم الموظف في مربع النص ( غير منضم ) ينفـذ استعلام الالحاق دون المطالبة ويستورد السجل الخاص بهذا الرقم

اذا كان هناك حل فأكون شاكرا لك

مرفق مثال به الاستعلام

مع الشكر والتقدير لك

db8.rar

#4

تفضل مثالك بعد التعديل

ولو اني افضل الدالة Dlookup في جميع الاحوال لانها تتميز بسرعة الاداء عن الاستعلامات

عموماً راجع الرابط وانظر الي هذه الامكانيات الهائلة للدالة Elookup

/index.php?showtopic=152680

MF_db8.rar

certifiedj.jpg

 

 

Image Hosted by ImageShack.us
#5

الاستاذ / محمد فؤاد

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

جرب ان تكتب في مربع النص رقم 1 مثلا فعلا ياتي بسجل رقم 1 من الجدول او النموذج

اكتب رقم 2 او 4 او 5 او 6 لا ياتي شيئ

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

وان يحتفظ النموذج F2 باي استيراد يتم فيه اي يحتفظ بجميع السجلات التي تم استيرادها

#6

للرفع

#7

بارك الله فيك اخي الغالي محمد فؤاد تركي وجزاك خير الجزاء

اخي ابوشادي

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

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

ارجو ان يفيدك هذا الحل

بالتوفيق للجميع ان شاء الله

db8.rar

#8

حياك الله اخويا / يوسف

بارك الله فيك وجزاك خيرا

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

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

اذا كان هنالك امكانية اكون شاكرا بهذه الطريقة او اي طريقة اخري

جزاك الله خير الجزاء

#9

واياكم اخي العزيز ابو شادي

ومرحباً بك

لعمل ذلك ضع الكود ادناه بحدث بعد التحديث لمربع النص الغير منضم

Dim db [color= #b1b100;]As DAO[color= #339933;].Database

    Dim rs [color= #b1b100;]As Recordset

    Dim t [color= #b1b100;]As String

    Set db [color= #339933;]= CurrentDb

    Set rs [color= #339933;]= db[color= #339933;].OpenRecordset[color= #009900;]([color= #0000ff;]"t2"[color= #009900;])

    t [color= #339933;]= Me[color= #339933;].txtcod2[color= #339933;].Value

    DoCmd[color= #339933;].SetWarnings [color= #000000; font-weight: bold;]False

    DoCmd[color= #339933;].RunSQL [color= #0000ff;]"INSERT INTO t2 SELECT t1.* FROM t1 WHERE (((t1.txtcod)=[forms]![f2]![txtcod2]
));"

    DoCmd[color= #339933;].SetWarnings [color= #000000; font-weight: bold;]True

    Me[color= #339933;].Requery

    DoCmd[color= #339933;].FindRecord t

    rs[color= #339933;].Close

    db[color= #339933;].Close

    Me[color= #339933;].txtcod2[color= #339933;].Value [color= #339933;]= [color= #0000ff;]""

اليك الملف بعد التعديل

تحرير : تم استبدال الملف بعد حذف استعلام الإلحاق المخزن والذي كان قد تم التعويض عنه بجملة اسكيوال المكافئة له.

بالتوفيق

db8.rar

تم تعديل هذه المشاركة بواسطة يوسف احمد في 12 يناير 2009 في 14:41

#10

اخي الكريم الاستاذ/ يوسف

ما شاء الله عليك بارك الله فيك وفي والديك وفي اولادك

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

اخي / يوسف

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

وبقي شئ بسيط حاولت فيه بكل الطرق ولم اصل لنتيجة وهو

عند كتابة الرقم في مربع النص txtcod2 الموجود في النموذج f2 للأستيراد ولم يكون هذا الرقم المطلوب استيراده غير موجود ارغب في عمل رسالة صغير تقول "هذا رقم غير موجود "

بارك الله فيك وفي علمك

#11

اخي الغالي أبو شادي

جزاك الله كل الخير على هذه الدعوات الطيبة .. ولك مثلها وزياة ان شاء الله

اقتباس
وبقي شئ بسيط حاولت فيه بكل الطرق ولم اصل لنتيجة وهو

عند كتابة الرقم في مربع النص txtcod2 الموجود في النموذج f2 للأستيراد ولم يكون هذا الرقم المطلوب استيراده غير موجود ارغب في عمل رسالة صغير تقول "هذا رقم غير موجود "

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

ملاحظة هامة : الكود لا يقوم بمعالجة عدم التكرار في عملية الإلحاق ... اذا كنت تريد عدم التكرار الرجاء الإفادة .. مع انني لا اعتقد ذلك .. ;)

بالتوفيق اخي الكريم

db8.rar

تم تعديل هذه المشاركة بواسطة يوسف احمد في 13 يناير 2009 في 22:53

#12

الاخ العزيز / يوسف

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

ولكن الشئ الذي اتعبني فعلا وارهقني وضاق صدري بعد محولات كثيرة وبحث في المنتدي وهي :

بعد الكتابة في مربع النص (TXTCOD2) ويتم الالحاق لن يظهر السجل الذي تم الحاقه بل يظهر سجل تاني وأجبر على البحث عنه

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

والسؤال الان كيف نجبر النموذج على اظهار اخر سجل تم اضافته وليس اخر سجل في الترتيب (GoToRecord acLast)

والغريب ان في المثال المرفق سابقا يعمل بشكل صحيح ويظهر لنا اخر سجل اضيف

كما انني فعلا ان محتاج عدم التكرار بعد الالحاق لان هذا النموذج يعتبر في برنامجي( نموذج اجازات ) وطبعا عند احصاء عدد الاجازات لا يكون هناك تكرار

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

جزاك الله عنا كل خير والله يعينك علينا

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

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

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

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

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