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

كيفية التحديث التلقائى من خلال نموذج مفرد

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

بسم الله الرحمن الرحيم

لدى فورم يحتوى عدة مربعات نص - وليكن أسمائهم a1 & a2 & a3 & a4

الحقل a4 هو عبارة عن تجميع للبيانات الموجودة بالحقول الثلاثة الأخرى ويتم حسابة عند الخروج من الحقل a3

المطلوب

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

لكن طبعا الحقل الرابع مازال فارغا لانة لا تظهر فية البيانات الا عند الخروج من الحقل a3

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

وشكرا

#2

الاخ العزيز rewnasser

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

قم بانشاء جدول يحتوى على الحقول a1-a2-a3

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

وسيقوم بالحساب دفعة واحدة تلقائياً

1234.rar

ebrahemsound7.gif
#3

شكرا اخى الكريم

حلك سهل جدا

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

حل فعلا مفيد

لكن فى حالتى

المربعات الثلاثة هى أبعاد ثلاثية بمعنى هى المربع الأول طول والثانى عرض والثالث سمك

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

معادلة صعبة تم عملها بقاعدة if

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

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

وشكرا جزيلا لمحاولة المساعدة

#4

..أرفق مثالاً للتعديل عليه...

84CJO.gif

#5

ارفق مثالا بصيغة 2003

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

مش كل مشاركة توضح فيها جزء

ربما بعد عمل الحل الثانى تقول / لم اقصد هكذا و انما محتويات مربعات النص هي احداثيات ديكارتية

ارجو التوضيح جدا لعدم هدر الوقت

و تقبل مروري

1
#6

اخي الكريم إن الاخ gadelrab اجابك اجابة جيدة حسبما طلبت في الطلب الاول

اما الطلب الثاني فإليك الاجابة منفس مثال الاخ gadelrab

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

1234.rar

#7
أواب كتب:

..أرفق مثالاً للتعديل عليه...

شكرا أخى الكريم على ردك البسيط لكنة رقيق و مفيد - فعلا كان يجب أرفق مثال من البداية

tbazh كتب:

ارفق مثالا بصيغة 2003

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

مش كل مشاركة توضح فيها جزء

ربما بعد عمل الحل الثانى تقول / لم اقصد هكذا و انما محتويات مربعات النص هي احداثيات ديكارتية

ارجو التوضيح جدا لعدم هدر الوقت

و تقبل مروري

ردك رقيق جداااااااااااااااااااااااااا - معلش العباقرة أمثالك صدرهم بيكون كتير ضيق عاما اسف على أضاعة وقتك الثمين ياريتك ما رديت ولا ضيعت وقتك بالنظر فى سؤالى أصلا

mirage4pc كتب:

اخي الكريم إن الاخ gadelrab اجابك اجابة جيدة حسبما طلبت في الطلب الاول

اما الطلب الثاني فإليك الاجابة منفس مثال الاخ gadelrab

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

مشكور أخى الكريم على مجهودك الرائع لكن رجاء مراجعة الكود الموضوع على المثال المرفق فى حدث عند الخروج من a8 وستفهم ما أقصد بأذن الله

أما بالنسبة للمطلوب

فهو - قمت بأدخال البيانات من خلال الجدول طبعا البيانات تتعدى ال 5000 سجل مرة واحدة

لكن الحقل newname لا تظهر بياناتة الا من خلال الخروج من الحقل a8

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

راجع المثال أخى وستفهم قصدى - أفتح الفورم وحاول التنقل بين السجلات وسترى ان بيانات newname لا تظهر الا عند الخروج من a8

وشكرا للجميع

db1.rar

#8

للرفع

#9

تفضل الحل

db1.rar

تم تعديل هذه المشاركة بواسطة أواب في 18 يناير 2011 في 07:11

84CJO.gif

#10
أواب كتب:

تفضل الحل

مشكور أخى الكريم

لقد نفذت ما فعلتة بالفعل على البرنامج لدى وفعلا وضعت كود حساب بيانات new name فى حدث الحالى على النموذج وفى حدث الضغط على الزر تحديث

وفعلا تظهر البيانات دون الحاجة للخروج من الحقل a8

لكن للأسف ليس هذا هو المطلوب

المطلوب لو فية 100 سجل بدون بيانات فى new name - افتح الفورم وأضغط على زر تحديث فقط - ثم اذهب وافتح الجدول مصدر الفورم أجد بيانات new name تم حسابها

دون الحاجة للذهاب الى كل سجل فى الفورم كما فى حل حضرتك

مشكور أخى على محاولة المساعدة

#11

تفضل الحل كما تريد بالضبط

db1.rar

84CJO.gif

#12

مشكور أخى الكريم

بس لى طلب أخير

انا عاوز أستخدم نفس الكود بتاعى انا وللاسف جربت أستبدلة فى ألأستعلام بتاعك بدال الكود بتاعك ما صح معى

ممكن تستعمل نفس الكود بتاعى بدون أى تغيير

وشكرا

وهو

Dim f, f1, f2, f3, f4, f5 As String

If Me.a3 = 1 Then

f = ""

Else

f = " ÞØÑ ÎÇÑÌì " & Me.a3 & " ãã"

End If

If Me.a4 = 1 Then

f1 = ""

Else

f1 = " ÞØÑ ÏÇÎáì " & Me.a4 & " ãã"

End If

If Me.a5 = 1 Then

f2 = ""

Else

f2 = " Øæá " & Me.a5 & " ãã"

End If

If Me.a6 = 1 Then

f3 = ""

Else

f3 = " ÚÑÖ " & Me.a6 & " ãã"

End If

If Me.a7 = 1 Then

f4 = ""

Else

f4 = " Óãß " & Me.a7 & " ãã"

End If

If Me.a8 = 1 Then

f5 = ""

Else

f5 = " æÒä " & Me.a8 & " ßÌã"

End If

QWER = f & f1 & f2 & f3 & f4

Me.NewName = QWER

طبعا عند النسخ فى محرر الأكواد بالأكسيس بيضبط

وعامة هو موجود فى مثالى المرفق بالمشاركة رقم 7

وشكرا

تم تعديل هذه المشاركة بواسطة rewnasser في 19 يناير 2011 في 22:00

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

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

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

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

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