بحث مخصص من جوجل فى أوفيسنا
Custom Search
|
-
Posts
3,015 -
تاريخ الانضمام
-
تاريخ اخر زياره
-
Days Won
4
نوع المحتوي
المنتدى
مكتبة الموقع
معرض الصور
المدونات
الوسائط المتعددة
مشاركات المكتوبه بواسطه عبد الفتاح كيرة
-
-
يمكنك تعديل تصميم الجداول
مثلا جدول الهدايا يكون حقوله هكذا
رقم
رقم الطالب
الهدية الأولى
الهدية الثنية
الهدية الثالثة
فيكون لكل طالب سجل واحد أفقى به جميع الهدايا التى حصل عليها
و حينئذ يمكن تجميع الحقول بسهولة
*ملحوظة
تسمية حقل بمسمى no خطأ
فى مواضع معينة سيفسر أكسيس اسم الحقل على أنه = "لا"
- 1
-
3 ساعات مضت, أمير2008 said:
طالما أن الأسماء المشتركة في الجدولين الأول T1 و الجدول الثاني T2 لها نفس ID
فيمكنك عمل استعلام توحيد :
استعلام لكافة الأسماء بالجدول الأول عدا المودود بالجدول الثاني + استعلام لكافة الأسماء بالجدول الثاني
SELECT [T1].Id,[T1].name FROM T1 LEFT JOIN T2 ON [T1].ID = [T2].ID WHERE (((Exists (SELECT * FROM T2 where [T2].[id]=[T1].[id] ))=False)); union SELECT [T2].Id,[T2].name FROM T2 LEFT JOIN T1 ON [T2].ID = [T1].ID;
لو حذفت الشرط
WHERE (((Exists (SELECT * FROM 2 where [2].[id]=[1].[id] ))=False));
لا فرق
جرب
-
أخى @waelgma عليكم السلام و رحمة الله تعالى و بركاته
مرحبا بكاكتسب هذه المعلومات
like تستخدم مع النجمة للبحث فى حقل نصى
و ليس كما استخدمتها فى حقل id
استخدم الاستعلام الفرعى بكل بساطة
ضع فى خانة المعيار من الاستعلام بدلا من جملة like ما يلى
Not In (SELECT [1].ID FROM 1)
أخبرنا بالنتائج
عفوا
جملة استعلام التوحيد ستجمع الجدولين مع استبعاد المكرر
ولا أظن هذا طلب الأخ
ولو كان كذلك
فالجملة هى
SELECT [1].ID, [1].name FROM 1 union SELECT [2].ID, [2].name FROM 2;
و النتيجة كما بالصورة
-
ليس فى هذه القاعدة إلا جداول
-
الإخوة الأساتذة الكرام
المشكلة لدينا لم تكن جلب أسماء التقارير
المشكلة كانت جلب التسميات التوضيحية للتقارير
لأن أسماء التقارير قد تكون غير مفهومة للمستخدم
وقد توصلنا لحل مذهل لهذه المشكلة
باستخدام وظيفة تفتح التقرير مع بارامتر الإخفاء فى وضع التصميم للحصول على التسمية التوضيحية لكل تقرير
وتعبئة الكمبوبوكس بعمودين :اسم التقرير و تسميته التوضيحية
وهذا قدر من النجاح له عيوبه
لكنها للآن طريقة فريدة
أدعو الأساتذة لتطويرها
أو استبدالها بطريقة أفضل
لكن تكون فى نفس إطار حل المشكلة الذى ذكرته
هل هناك طريقة أخرى للحصول على التسميات للتقارير
هذا هو السؤال
-
هناك طريقة أخرى ربما نفكر فيها لاحقا إن شاء الله
و هى أن نعمل جدولا نسجل فيه أسماء التقارير و تسمياتها التوضيحية
و نعمل استعلاما يجعل هذا الجدول دائم التحديث
بحيث كلما أضفنا تقريرا وضعت بياناته أوتوماتيكيا فى الجدول
و الله المستعان
- 1
-
الحمد لله الذى بنعمته تتم الصالحات
بالمناسبة أبا جودى
لم تعمل الوظيفة من خلال الاستعلام
لأن بها سطرا يستدعى التقرير فى حالة التصميم
و هذا لا يتم إلا من خلال vba
-
الان, ابوخليل said:
سلمت اناملك استاذ عبدالفتاح
لايوجد ""لا يمكن"" في بيئة البرمجة
ولكني لا حظت ان الوحدة النمطية ستفتح جميع التقارير في قاعدة البيانات ثم تغلقها عند فتح النموذج
يبدو أن هذه هى الطريقة الوحيدة للحصول على التسمية التوضيحية للتقرير
-
أبشروا بما يسركم جميعا
بفضل الله
تمكنا من حشو الكمبوبوكس بقائمة من عمودين
الثانى اسم التقرير
والأول التسمية التوضيحية للتقرير الموجودة بنافذة الخصائص
والتشغيل
بارك الله فيكم
إنجاز رائع بفضل الله ثم بفضل اقتراحات أبى خليل
تفضل
جلب أسماء التقارير و أسمائها التوضيحية العربية و تشغيلها من كمبوبوكس
- 3
-
5 دقائق مضت, ابا جودى said:
هل يمكن استدعاء GetReportCaption فى استعلام ؟؟؟؟؟؟؟؟؟
طبعا هى وظيفة يمكن استدعاؤها فى الاستعلام
- 1
-
أبشر بما يسرك أبا خليل
هذه وظيفة مخصصة لجلب التسمية التوضيحية للتقارير
Public Function GetReportCaption(RptName As String) As String
Static RptCaptions As CollectionIf RptCaptions Is Nothing Then Set RptCaptions = New Collection
On Error Resume Next
GetReportCaption = RptCaptions(RptName)
If Err.Number = 0 Then Exit Function
On Error GoTo 0DoCmd.OpenReport RptName, acViewDesign, , , acHidden
RptCaptions.Add Reports(RptName).Caption, RptName
DoCmd.Close acReport, RptNameGetReportCaption = RptCaptions(RptName)
End Function
وهذا استدعاؤها من نفس كود الكمبوبوكس
Private Sub Form_Load()
Dim newvallist As String, myrpt As String
newvallist = ""
Dim obj As AccessObjectFor Each obj In CurrentProject.AllReports
myrpt = GetReportCaption(obj.Name)
newvallist = newvallist + Chr(34) + myrpt + Chr(34) + ";"
Next obj
Me.objCombo.RowSource = "value list"
Me.objCombo.RowSource = newvallist
Me.objCombo.Value = Me.objCombo.ItemData(1)
End Sub
طبعا أنا مؤقتا وضعت التسمية التوضيحية مكان اسم التقرير
المطلوب الآن
هو
وضع اسم التقرير فى العمود الأول للكمبوبوكس
ووضع التسمية فى العمود الثانى له
يعنى خطوة واحدة إضافية و نعلن الانتصار بعون الله
المرفق
- 2
-
يبدو أننا سنغير الاتجاه فى التفكير
تصدير قائمة أسماء التقارير التى حصلنا عليها إلى جدول
ثم ملء الكمبوبوكس بها
يعنى الجدول وسيط بين الكود و الكمبوبوكس
-
56 دقائق مضت, ابوخليل said:
هذا غير فعال مع قاعدة بها 50 تقريرا مثلا
يبدو أن التسمية التوضيحية غير عنوان التقرير
caption = عنوان التقرير
و يمكن الوصول إليها من داخل التقرير
me.caption= "أبو خليل"
أما الوصف أو التسمية التوضيحية فلا
-
نسيت
يجب أن يكون للتقرير تسمية توضيحية فى نافذة الخصائص
-
أعتقد أننا نضيف فى الكود حقلا ثانيا
و نحاول الوصول إلى خاصية التسمية التوضيحية للتقرير
و هى إحدى خواص التقرير كالاسم و الطول و العرض .....الخ
نملأ بها الحقل الثانى
التشغيل يبقى تبعا للحقل الأول مع إخفاء و إظهار الثانى الذى به التسمية
و الله أعلم
-
عليكم السلام أستاذنا و حبيبنا أبا خليل
حياك الله
ولا حرمنا الله إثراءاتك القيمة
جار الاطلاع
يمكن بتغيير كلمة واحدة فى الكود
جلب النماذج
لا التقارير
-
السلام عليكم و رحمة الله
هذا كود منقول من أحد الكتب
يجلب أسماء كل التقارير فى القاعدة
ويشغلها من كمبوبوكس
الكود
فى حدث عند التحميل للنموذج Private Sub Form_Load() Dim newvallist As String newvallist = "" Dim obj As AccessObject For Each obj In CurrentProject.AllReports newvallist = newvallist + Chr(34) + obj.Name + Chr(34) + ";" Next obj Me.objCombo.RowSource = "value list" Me.objCombo.RowSource = newvallist Me.objCombo.Value = Me.objCombo.ItemData(0) End Sub ثم فى حدث بعد التحديث للكمبوبوكس لفتح التقارير حسب الاسم المختار Private Sub objCombo_AfterUpdate() DoCmd.OpenReport Me.objCombo, acViewPreview End Sub
الملف المستخدم 2003 - 2007
كود أسماء كل تقارير القاعدة الحالية.rar
و هذا تعديل للكود بحيث يجلب أسماء التقارير مع مسمياتها التوضيحية
- 3
-
وفقكم الله
- 1
-
اسمح لى
البحث بدالة dlookup فى عشرة حقول
فى جدول أو استعلام "code"
بشرط [pn]=forms!frm_dataentry!Combopn
الفاصل "|"
لاستخدامه فى تقسيم الحقول بعد ذلك بدالة split
و هى تطلب
1 - النص المراد تقسيمه
2 - علامة معينة تفصل عندها
والعلامة هنا هى "|"
بعد التقسيم ترجع عشرة قيم
تخزن فى عشرة متغيرات فى المصفوفة
نعيد إسنادها للحقول المطلوبة مرة أخرى
- 2
-
لا ماينفعش كده
أنتم كده هاتلزقونا فى الأجهزة مش هانعرف نقوم
-
الآن فى الملف الأصلى كتب فى مصدر بيانات مربع النص
=DLast("[zdate]";"Transactions";"[Qty in]<>0")
جاءت النتيجة
21/03/2017
وهى خطأ
و باستخدام دالة الأخ أبي إبراهيم
جاءت النتيجة
13/04/2017 و هى صواب
مع أن جملة الاستعلام واحدة
هل من تفسير لذلك
يعنى التعبير لا يعمل فى مصدر بيانات مربع النص
و تعمل من خلال الكود
هل هناك ميزة للعمل من خلال الأكواد فى مثل هيك حالة؟
-
السلام عليكم
لما رأيت هذه المشاركة خشيت أن تتوه فى الزحام
من إبداعات الأستاذ جعفر
الكود مع تعليقى عليه
فى رأس التقرير
ترى الناتج فى عرض الطباعة
Private Sub ReportHeader_Format(Cancel As Integer, FormatCount As Integer) 'الإعلان عن مصفوفة نصية Dim x() As String 'جلب آخر قيمة مضافة بدلالة حقل الترقيم التلقائى 'بشرط [qty_in]<>0 MX = DMax("[ID]", "Transactions", "[Qty in]<>0") 'البحث فى حقل مكون من حقلين بينهما فاصل 'الحقلان هما أنفسهما المطلوبان فى مربعى نص فى التقرير 'استخدام نتيجة mx كشرط ' DL = DLookup("[add_doc] & '|' & [zdate]", "Transactions", "[ID]=" & MX) 'التقسيم لفصل العمودين x = Split(DL, "|") Me.Text53 = x(0) Me.Text48 = x(1) End Sub
- 3
-
7 ساعات مضت, رمهان said:
حبيت انبه هنا الشي معين
دوال المجال ومنها dlast خصوصا والتي تعتمد على ترتيب البيانات في المصدر فانه :
شكرا لك
-
الشرح
يعمل هذا الكود فى حال كان العنوان ليس به علامة صح
ثم نحاول وضع علامة صح فيه
فى هذه الحالة
افحص العنوان الأول
إذا لم يكن فارغا
أظهر رسالة
أعد حالة العنوان إلى الحالة السابقة يعنى بدون صح
مشكلة اظهار البيانات بشكل معين بالتقرير
في قسم الأكسيس Access
قام بنشر · تم تعديل بواسطه عبد الفتاح كيرة
تفضل بدون استئذان أستاذ @Shivan Rekany
منكم نستفيد
أرسل المرفق لنتعلم