Amr Ashraf قام بنشر مايو 11, 2017 قام بنشر مايو 11, 2017 السلام عليكم عندى قاعدة بيانات استخدمت فيها الدالة Dlast لتخبرنى اخر تاريخ تم تسجيل المستندات فيه فى جداول معينة بالاضافة الى اخر رقم مستند تم تسجيله وكانت النتيجة جيدة فى الاول لكن تجمد التاريخ على يوم معين وحتى بعد التسجيل فى تواريخ لاحقة لا تتغير نتيجة الدالة ونفس المشكلة تظهر فى اخر رقم مستند تم تسجيله وليس فى التواريخ فقط مثال تم تسجيل مستندات بتاريخ 1 / 5 / 2017 ولكن الكود يظهر ان اخر تاريخ فى الجدول هو 19 / 3 / 2017 وتم تسجيل المستند رقم 005252 والبرنامج يعطى نتيجة ان اخر اذن هو 005000 والاكواد المستخدمة كالتالى : DLast("[Zdate]","Production","") =DLast("[zdate]","Transactions","[Qty in]<>0") =Nz(DLast("[Zdate]","Production","[client]='" & [client] & "'"),"لا يوجد") =DLast("[DocumentNumber]","Transactions","[Qty in]<>0") مش عارف سبب المشكلة دى ايه بس ممكن اتغلب عليها فى موضوع التاريخ باستبدال الدالة بدالة Dmax لكن بالنسبة لرقم المستند بيكون Short Text وبالتالى محتاج دالة Dlast لمعرفة اخر مستند تم تسجيله أية أفكار ؟؟ 1
محمد ايمن قام بنشر مايو 11, 2017 قام بنشر مايو 11, 2017 اخي الكريم لماذا رقم المستند Shorttext ؟؟؟؟؟؟؟؟؟؟؟؟ قم بتحويله الى رقم و جرب
Amr Ashraf قام بنشر مايو 11, 2017 الكاتب قام بنشر مايو 11, 2017 9 دقائق مضت, محمد ايمن said: اخي الكريم لماذا رقم المستند Shorttext ؟؟؟؟؟؟؟؟؟؟؟؟ قم بتحويله الى رقم و جرب اولا تشرفت بمرورك اخى الكريم ثانيا بالنسبة لرأيك هو رأى مظبوط طبعا لكن رقم المستند عندى بيتكون من حروف وأرقام والحروف اللى قبل الارقام بترمز للجهة الصادر منها المستند دون فتحه ومعرفة محتواه وبالتالى مينفعش أحوله لرقم لأنه بيبقى بالشكل التالى مثلا HS000025 تقبل تحياتى
jjafferr قام بنشر مايو 11, 2017 قام بنشر مايو 11, 2017 السلام عليكم الموضوع ظاهرا ليس ببسيط ، فياريت مرفق ، ونجرب عليه جعفر 1
Amr Ashraf قام بنشر مايو 11, 2017 الكاتب قام بنشر مايو 11, 2017 1 دقيقه مضت, jjafferr said: السلام عليكم الموضوع ظاهرا ليس ببسيط ، فياريت مرفق ، ونجرب عليه جعفر منور استاذنا جعفر ولكن المشكلة انى عملت مرفقات كتير وكانت النتيجة مظبوطة ومفيهاش مشكلة وبالنسبة لقاعدتى كمان مكانش فيها مشكلة حتى وقت قريب وبدون تعديلات عليها من الأساس فلذلك انا بسأل عن سبب حدوث المشكلة ومع ذلك هحاول اعمل مرفق مصغر من قاعدتى فيها التقارير والجداول المرتبطة وبها المشكلة تقبل تحياتى 1
jjafferr قام بنشر مايو 11, 2017 قام بنشر مايو 11, 2017 في هذه الحالة خلينا نسأل ونشوف اذا كان السبب واضح: - هل عملت تغيير في التاريخ في اعدادات الوندوز؟ او اي اعدادت اخرى في الوندوز؟ جعفر
Amr Ashraf قام بنشر مايو 11, 2017 الكاتب قام بنشر مايو 11, 2017 11 دقائق مضت, jjafferr said: في هذه الحالة خلينا نسأل ونشوف اذا كان السبب واضح: - هل عملت تغيير في التاريخ في اعدادات الوندوز؟ او اي اعدادت اخرى في الوندوز؟ جعفر لا مفيش اى تغيير فى الاعدادات سواء فى الاوفيس او الويندوز ومرفق تقرير وجداول بها المشكلة ex.rar
jjafferr قام بنشر مايو 11, 2017 قام بنشر مايو 11, 2017 السلام عليكم احد اهم الحقول اللي عندك هو حقل الترقيم التلقائي ، والذي دائما سيعطي الرقم المسلسل لإدخالك ، فإستعماله سيحل لك المشكلة: Private Sub ReportHeader_Format(Cancel As Integer, FormatCount As Integer) Dim x() As String MX = DMax("[ID]", "Transactions", "[Qty in]<>0") DL = DLookup("[add_doc] & '|' & [zdate]", "Transactions", "[ID]=" & MX) x = Split(DL, "|") Me.Text53 = x(0) Me.Text48 = x(1) End Sub جعفر 3
Amr Ashraf قام بنشر مايو 11, 2017 الكاتب قام بنشر مايو 11, 2017 19 دقائق مضت, jjafferr said: احد اهم الحقول اللي عندك هو حقل الترقيم التلقائي ، والذي دائما سيعطي الرقم المسلسل لإدخالك ، فإستعماله سيحل لك المشكلة: واذا ذكرت الافكار الجميلة ذكرت يا استاذى الفاضل نتيجة رائعة وده المتوقع جزاك الله خير وزادك من علمه :) 1
رمهان قام بنشر مايو 11, 2017 قام بنشر مايو 11, 2017 حبيت انبه هنا الشي معين دوال المجال ومنها dlast خصوصا والتي تعتمد على ترتيب البيانات في المصدر فانه : قد لا تحصل على نتيجة متوقعه اذا كان المصدر جدول لان البيانات في الجدول لايحكمها ترتيب معين في خصوصا اذا الحقل الداخل في الداله ليس مفهرس كما انها ليست عمليه اذا لديك سجلات ضخمة في الجدول هنا اعمل استعلام ثم قم بعمل ترتيب بشكل صريح في الاستعلام ثم اجعل الاستعلام مصدر للدالة . هنا ستاتي اخر قيمة في الاستعلام لاني اعلم ان البيانات مرتبه بالشكل الذي اريده تحياتي 3
Amr Ashraf قام بنشر مايو 11, 2017 الكاتب قام بنشر مايو 11, 2017 4 دقائق مضت, رمهان said: حبيت انبه هنا الشي معين دوال المجال ومنها dlast خصوصا والتي تعتمد على ترتيب البيانات في المصدر فانه : قد لا تحصل على نتيجة متوقعه اذا كان المصدر جدول لان البيانات في الجدول لايحكمها ترتيب معين في خصوصا اذا الحقل الداخل في الداله ليس مفهرس كما انها ليست عمليه اذا لديك سجلات ضخمة في الجدول هنا اعمل استعلام ثم قم بعمل ترتيب بشكل صريح في الاستعلام ثم اجعل الاستعلام مصدر للدالة . هنا ستاتي اخر قيمة في الاستعلام لاني اعلم ان البيانات مرتبه بالشكل الذي اريده تحياتي ماشاء الله استاذنا الكبير رمهان كما تعودنا منك زادك الله من علمه شكرا على المعلومة القيمة
jjafferr قام بنشر مايو 11, 2017 قام بنشر مايو 11, 2017 28 دقائق مضت, رمهان said: حبيت انبه هنا الشي معين دوال المجال ومنها dlast خصوصا والتي تعتمد على ترتيب البيانات في المصدر فانه : قد لا تحصل على نتيجة متوقعه اذا كان المصدر جدول لان البيانات في الجدول لايحكمها ترتيب معين في خصوصا اذا الحقل الداخل في الداله ليس مفهرس كما انها ليست عمليه اذا لديك سجلات ضخمة في الجدول هنا اعمل استعلام ثم قم بعمل ترتيب بشكل صريح في الاستعلام ثم اجعل الاستعلام مصدر للدالة . هنا ستاتي اخر قيمة في الاستعلام لاني اعلم ان البيانات مرتبه بالشكل الذي اريده تحياتي حياالله أخوي رمهان وهذا اللي عملته ، بإستخدام DMax اولا للحصول على القيمة العليا للحقل ID ، اي Order by ID desc ، ثم استخدام قيمة هذا الحقل ، للحصول على الحقول الصحيحة من السجل الصحيح جعفر 2
عبد الفتاح كيرة قام بنشر مايو 12, 2017 قام بنشر مايو 12, 2017 7 ساعات مضت, رمهان said: حبيت انبه هنا الشي معين دوال المجال ومنها dlast خصوصا والتي تعتمد على ترتيب البيانات في المصدر فانه : شكرا لك
أبو إبراهيم الغامدي قام بنشر مايو 12, 2017 قام بنشر مايو 12, 2017 (معدل) يمكن أن نصور ما قرره الاستاذين @جعفر و @رمهان بالدالتين التاليتين Public Function ULast(Expr As String, Domain As String, Optional Criteria) Dim RS As Recordset If IsMissing(Criteria) Then Set RS = CurrentDb.OpenRecordset("Select Top 1 " & Expr & " From " & _ Domain & " Order By " & Expr & " Desc") ULast = RS(0) Else Set RS = CurrentDb.OpenRecordset("Select Top 1 " & Expr & " From " & _ Domain & " Where " & Criteria & " Order By " & Expr & " Desc") ULast = RS(0) End If End Function Public Function UFirst(Expr As String, Domain As String, Optional Criteria) Dim RS As Recordset If IsMissing(Criteria) Then Set RS = CurrentDb.OpenRecordset("Select Top 1 " & Expr & " From " & _ Domain & " Order By " & Expr & " Asc") UFirst = RS(0) Else Set RS = CurrentDb.OpenRecordset("Select Top 1 " & Expr & " From " & _ Domain & " Where " & Criteria & " Order By " & Expr & " Acs") UFirst = RS(0) End If End Function تم تعديل مايو 12, 2017 بواسطه أبو إبراهيم الغامدي 3
jjafferr قام بنشر مايو 12, 2017 قام بنشر مايو 12, 2017 ترجمة رائعة مع بعض التغييرات البسيطة المطلوبة لكل حالة جعفر
عبد الفتاح كيرة قام بنشر مايو 12, 2017 قام بنشر مايو 12, 2017 (معدل) الآن فى الملف الأصلى كتب فى مصدر بيانات مربع النص =DLast("[zdate]";"Transactions";"[Qty in]<>0") جاءت النتيجة 21/03/2017 وهى خطأ و باستخدام دالة الأخ أبي إبراهيم جاءت النتيجة 13/04/2017 و هى صواب مع أن جملة الاستعلام واحدة هل من تفسير لذلك يعنى التعبير لا يعمل فى مصدر بيانات مربع النص و تعمل من خلال الكود هل هناك ميزة للعمل من خلال الأكواد فى مثل هيك حالة؟ تم تعديل مايو 12, 2017 بواسطه عبد الفتاح كيرة
Amr Ashraf قام بنشر مايو 12, 2017 الكاتب قام بنشر مايو 12, 2017 (معدل) 56 دقائق مضت, أبو إبراهيم الغامدي said: يمكن أن نصور ما قرره الاستاذين @جعفر و @رمهان بالدالتين التاليتين جزاك الله خير على الفكرة استاذى الفاضل ممكن تطبيقها عملى على المثال ؟ تم تعديل مايو 12, 2017 بواسطه Amr Ashraf
أبو إبراهيم الغامدي قام بنشر مايو 12, 2017 قام بنشر مايو 12, 2017 صيغة الشفرة السابقة فيها بعض الطول! وهذا اختصارها Public Function ULast(Expr As String, Domain As String, Optional Criteria) Dim RS As Recordset If IsMissing(Criteria) Then Criteria = "1=1" End If Set RS = CurrentDb.OpenRecordset("Select Top 1 " & Expr & " From " & _ Domain & " Where " & Criteria & " Order By " & Expr & " Desc") ULast = RS(0) End Function Public Function UFirst(Expr As String, Domain As String, Optional Criteria) Dim RS As Recordset If IsMissing(Criteria) Then Criteria = "1=1" End If Set RS = CurrentDb.OpenRecordset("Select Top 1 " & Expr & " From " & _ Domain & " Where " & Criteria & " Order By " & Expr & " Acs") UFirst = RS(0) End Function 4
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.