اشرف السيد يوسف قام بنشر April 1 قام بنشر April 1 التقرير يخرج بشكل وترتيب مختلف عن ترتيب بيانات فى الجدول ... حيث أجد اختلاف فى ترتيب المحافظات وكذلك اختلاف ترتيب التواريخ عن الجدول .. أرجو حل هذة المشكلة .. و لكم الشكر مقدماً مرسل نموذج للعمل عليه TEST22.accdbFetching info...
Foksh قام بنشر April 1 قام بنشر April 1 وعليكم السلام ورحمة الله وبركاته .. يبدو أنك أخي الكريم قد نسخت ولصقت العبارة فقط في موضوعك الجديد ولم تستكمل باقي التوضيحات التي اقترحتها عليك سابقاً , على العموم هل المقصد من كلامك هو فرز البيانات في التقرير بشكل تصاعدي ؟؟ أي أنك تريد السجلات مفروزة من التاريخ القديم إلى الحديث كما في الصورة ؟؟؟؟؟؟
اشرف السيد يوسف قام بنشر April 1 الكاتب قام بنشر April 1 (معدل) نعم سيدى الفاضل اريد التقرير يخرج بنفس ترتيب الجدول على ان يكون التاريخ الاقدم فى البداية تليه باق التواريخ ارجو قبول اعتذاى لعدم المامى فعلا بكيفيه النشر بالمنتدى واعرف ان اثقلت على سيادتك الاستاذ الفاضل Foksh تم تعديل April 1 بواسطه اشرف السيد يوسف
Foksh قام بنشر April 1 قام بنشر April 1 (معدل) لا عليك أخي الكريم ، هي فقط نصائح كي تحصل على النتائج المطلوبة بشكل أسرع لا غير 😀 . أيضاً استخدم تفعيل نبهني بالردود لتحصل على اشعار سريع عندما تكون في الموضوع . على العموم ، استبدل هذا السطر في الكود :- & " where " & Feld1 & "=" & valFeld1 & " order by " & Feld2 & " DESC ") بالسطر التالي فقط :- & " where " & Feld1 & "=" & valFeld1 & " order by " & Feld2 & " ASC ") وهو فقط تحويل الفرز من تنازلي DESC الى تصاعدي ASC . TEST22.accdbFetching info... تم تعديل April 1 بواسطه Foksh إضافة المرفق وتوضيح بخصوص نبهني بالردود 1
اشرف السيد يوسف قام بنشر April 1 الكاتب قام بنشر April 1 استاذى الفاضل foksh تم بالفعل حل مشكلة ترتيب التواريخ ولكن هناك ملاحظة اخيرة وهى ان المحافظات بالتقرير لا تخرج بنفس ترتيب الجدول وبالتالى يحدث خطأ ان التاريخ المقصود لا يظهر بالجدول امام المحافظة المقصودة حتى لا اطيل على سيادتك كل المطلوب ان يخرج التقرير بنفس ترتير الجدول ولكم جزيل الشكر
Foksh قام بنشر April 1 قام بنشر April 1 (معدل) في 1/4/2025 at 13:49, اشرف السيد يوسف said: حتى لا اطيل على سيادتك كل المطلوب ان يخرج التقرير بنفس ترتير الجدول ولكم جزيل الشكر Expand حسناً ، جرب هذا التعديل في الدالة :- Public Function Horizontal(tabelle As String, Feld1 As String, Feld2 As String, valFeld1, Optional sortField As String = "workdate") Dim DB As DAO.Database, rs As DAO.Recordset Dim sql As String Set DB = CurrentDb sql = "SELECT " & Feld2 & " FROM " & tabelle & " WHERE " & Feld1 & "=" & valFeld1 If sortField <> "" Then sql = sql & " ORDER BY " & sortField & " ASC" End If Set rs = DB.OpenRecordset(sql) Horizontal = "" Do While Not rs.EOF If Horizontal = "" Then Horizontal = "*" & rs(Feld2) Else Horizontal = Horizontal & vbCrLf & rs(Feld2) End If rs.MoveNext Loop rs.Close Set rs = Nothing Set DB = Nothing End Function والإستعلام بعد التعديل :- SELECT basic.id2, Horizontal("basic","id2","name",[id2]) AS name, Horizontal("basic","id2","gov",[id2]) AS gov, Horizontal("basic","id2","workdate",[id2]) AS [work] FROM basic GROUP BY basic.id2; TEST22.accdbFetching info... تم تعديل April 1 بواسطه Foksh إضافة صورة
Foksh قام بنشر April 1 قام بنشر April 1 (معدل) حسناً ، لم تعجبني النتيجة السابقة بسبب تكرار الاسم في كل سجل ، لذا جرب هذا التعديل في الدالة :- Public Function Horizontal(tabelle As String, Feld1 As String, Feld2 As String, valFeld1, Optional sortField As String = "workdate") Dim DB As DAO.Database, rs As DAO.Recordset Dim sql As String Dim isFirst As Boolean Set DB = CurrentDb sql = "SELECT " & Feld2 & " FROM " & tabelle & " WHERE " & Feld1 & "=" & valFeld1 If sortField <> "" Then sql = sql & " ORDER BY " & sortField & " ASC" End If Set rs = DB.OpenRecordset(sql) Horizontal = "" isFirst = True Do While Not rs.EOF If Horizontal = "" Then Horizontal = "*" & rs(Feld2) Else If Feld2 = "name" Then Horizontal = Horizontal & vbCrLf & "" Else Horizontal = Horizontal & vbCrLf & rs(Feld2) End If End If rs.MoveNext Loop rs.Close Set rs = Nothing Set DB = Nothing End Function والإستعلام بعد التعديل :- SELECT basic.id2, Horizontal("basic","id2","name",[id2]) AS name, Horizontal("basic","id2","gov",[id2]) AS gov, Horizontal("basic","id2","workdate",[id2]) AS [work] FROM basic GROUP BY basic.id2; النتيجة :- المرفق الأخير الذي اعتمدته :- TEST22.accdbFetching info... تم تعديل April 1 بواسطه Foksh رفع المرفق والصورة الصحيحين 1
اشرف السيد يوسف قام بنشر April 1 الكاتب قام بنشر April 1 الف شكر للاستاذ الفاضل foksh ساجرب وارد على سيادتك سؤال شخصى لماذا البعض مثل سيادتك تجودون بالعطاء و تبذلون من وقتكم ومجهودكم بهذا الشكل وبلا مقابل ... لا املك لكم الا الدعاء بالبركة وسعة الارزاق والستر 2
Foksh قام بنشر April 1 قام بنشر April 1 (معدل) في 1/4/2025 at 15:50, اشرف السيد يوسف said: بلا مقابل Expand ومن قال لك انها بلا مقابل ؟؟؟؟؟؟؟ صدقني جميعنا نبحث في حياتنا عن هذا المقابل 😇 في 1/4/2025 at 15:50, اشرف السيد يوسف said: لا املك لكم الا الدعاء بالبركة وسعة الارزاق والستر Expand تم تعديل April 1 بواسطه Foksh 1
اشرف السيد يوسف قام بنشر April 1 الكاتب قام بنشر April 1 السادة الأفاضل وخاصة الأستاذ foksh شكراً جزيلا لوقت وتعبك .. وأكرر أسف لقد نفذت كل اقتراحتك بدقة ةلا أدى ما المشكلة هل هى بالاستعلام ام الموديول ... هذا طلب المساعدة الأخير لأنى اعلم ان اثقلت عليكم لثلاث مرات for send.accdbFetching info... 1
Foksh قام بنشر April 1 قام بنشر April 1 (معدل) في 1/4/2025 at 20:30, اشرف السيد يوسف said: ما المشكلة هل هى بالاستعلام ام الموديول Expand لا عليك ، ولكن قبل طرح الحل هنا . هل النتيجة التالية صحيحة ؟؟ تم تعديل April 1 بواسطه Foksh تعديل الصورة
hanan_ms قام بنشر April 1 قام بنشر April 1 مشارك مع الاستاذ @Foksh❤️🌹☕ مشاركة للفرز المتتالي ولكن بطريقة مختلفة ويفضل فصل قاعدة بيانات ADODB.Recordest * بتمرير اسم الجدول ثم اسماء الحقول فقط @اشرف السيد يوسف عرض التقرير هل هو صحيح (( تصميم التقرير )) 1-الاسم تقرير فرعي 1- المحافظة التاريخ ملاحضة 2- الفرعي قابل النمو والتقلص والكل الصف مجموعة صح! او العكس المحافظة وفرعي اسمائهم مشكلتك ما حددة الوظيفه للفهم ADODB_Recordset_Rpt_Az_F1ToF0.rarFetching info...
Foksh قام بنشر April 2 قام بنشر April 2 في 1/4/2025 at 22:54, hanan_ms said: مشارك مع الاستاذ @Foksh❤️🌹☕ Expand أخي الكريم ، برأيك هل الخطأ ( إنشاء استعلام في كل مرة يتم فيها النقر على الزر ) الموضح في الفيديو التالي منطقي بالنسبة لمبرمج 🤔 ؟؟؟؟؟؟
اشرف السيد يوسف قام بنشر April 2 الكاتب قام بنشر April 2 نعم سيدى الفاضل الاستاذ foksh النتيجة صحيحة كما بالصورة المرسلة
Foksh قام بنشر April 2 قام بنشر April 2 (معدل) في 2/4/2025 at 10:30, اشرف السيد يوسف said: نعم سيدى الفاضل الاستاذ foksh النتيجة صحيحة كما بالصورة المرسلة Expand أولاً تعديل الاستعلام بالشكل التالي :- SELECT DISTINCT basic.id2, Horizontal("basic","id2","namee",[basic].[id2]) AS name, Horizontal("basic","id2","school",basic.id2) AS school, Horizontal("basic","id2","work",basic.id2) AS [work], Horizontal("basic","id2","Committee",basic.id2) AS Committee, Horizontal("basic","id2","work_date",basic.id2) AS work_date FROM basic; والدالة في الوحدة النمطية بالشكل التالي :- Public Function Horizontal(tabelle As String, Feld1 As String, Feld2 As String, valFeld1, Optional sortField As String = "workdate") On Error GoTo ErrorHandler Dim DB As DAO.Database, rs As DAO.Recordset Dim sql As String Dim fieldName As String Dim isFirst As Boolean Set DB = CurrentDb sql = "SELECT [" & Feld2 & "] " & _ "FROM [" & tabelle & "] " & _ "WHERE ((([" & tabelle & "].[" & Feld1 & "])=" & valFeld1 & "))" Set rs = DB.OpenRecordset(sql) Horizontal = "" isFirst = True Do While Not rs.EOF If isFirst Then Horizontal = "*" & Nz(rs(Feld2), "") isFirst = False Else If Feld2 = "namee" Then Horizontal = Horizontal & vbCrLf & "" Else Horizontal = Horizontal & vbCrLf & Nz(rs(Feld2), "") End If End If rs.MoveNext Loop rs.Close Set rs = Nothing Set DB = Nothing Exit Function ErrorHandler: Horizontal = "" If Not rs Is Nothing Then rs.Close Set rs = Nothing End If Set DB = Nothing Exit Function End Function لاحظ أيضاً أنني قمت بتغيير أسماء حقلين في الجدول لعدم حدوث مشاكل في الكود أو الاستعلام 😅 . for send (0).accdbFetching info... تم تعديل April 3 بواسطه Foksh
اشرف السيد يوسف قام بنشر الجمعة at 21:39 الكاتب قام بنشر الجمعة at 21:39 الأخ الفاضل foksh والأخوة الأفاضل كل عام وأنتم بخير .. وشاكر لسيادتكم المساعدة السابقة والتى لا اقدرها بثمن و أستحى ان اطلب من سيادتك المزيد من المساعدة لكن ان سمح وقت سيادتكم ارجو التعديل الاخير على الملف المرسل وهو ذات الملف الذى عملت علية سيادتك مؤخراً المطلوب دمج اسم المعلم بالتقرير دمج اسم المدرسة بالتقرير دمج اسم اللجنة اذا تطابق بالتقرير دمج اسم الوظيفة بالتقرير دمج اسم المحافظة بالتقرير دمج اسم الإدارة بالتقرير وهو ما عجزت عن توضيحة لسيادتك سابقاً ... ولكم جزيل الشكر وسنظل أسرى معروفكم for send (2).accdbFetching info...
Foksh قام بنشر الجمعة at 22:06 قام بنشر الجمعة at 22:06 (معدل) في 4/4/2025 at 21:39, اشرف السيد يوسف said: الأخ الفاضل foksh والأخوة الأفاضل كل عام وأنتم بخير .. وشاكر لسيادتكم المساعدة السابقة والتى لا اقدرها بثمن و أستحى ان اطلب من سيادتك المزيد من المساعدة لكن ان سمح وقت سيادتكم ارجو التعديل الاخير على الملف المرسل وهو ذات الملف الذى عملت علية سيادتك مؤخراً المطلوب دمج اسم المعلم بالتقرير دمج اسم المدرسة بالتقرير دمج اسم اللجنة اذا تطابق بالتقرير دمج اسم الوظيفة بالتقرير دمج اسم المحافظة بالتقرير دمج اسم الإدارة بالتقرير وهو ما عجزت عن توضيحة لسيادتك سابقاً ... ولكم جزيل الشكر وسنظل أسرى معروفكم for send (2).accdb 964 kB · 0 downloads Expand أخي الكريم .. تماشياً مع سياسة المنتدى وقواعد المشاركات ، أنصحك بفتح موضوع جديد عند تعدد الطلبات .. فهذا كفيل بمن يبحث عن نفس مشكلتك كي يحصل على إجابة محددة في موضوع محدد لا إجابات متعددة لأكثر من موضوع في موضوع واحد . كما أرجو منك محاولة التوضيح أكثر في موضوعك الجديد لاحقاً مع الدعم بالصور إن شئت . أيضاً متابعة مواضيعك كل على حدة بإغلاقها بأختيار أفضل إجابة كل لا يبقى الموضوع معلقاً 😊 على العموم هل هذه النتيجة التي تريدها ؟ تم تعديل الجمعة at 22:41 بواسطه Foksh إضافة صورة مرفقة
اشرف السيد يوسف قام بنشر السبت at 06:38 الكاتب قام بنشر السبت at 06:38 نعم هذا هو المقصود تماما وزادكم الله علما ورفعة
Foksh قام بنشر السبت at 09:35 قام بنشر السبت at 09:35 (معدل) في 5/4/2025 at 06:38, اشرف السيد يوسف said: نعم هذا هو المقصود تماما Expand إذاً وعليه فأن تعديل الدالة في المديول يصبح كالآتي .. Public Function Horizontal(tabelle As String, Feld1 As String, Feld2 As String, valFeld1, Optional sortField As String = "workdate") On Error GoTo ErrorHandler Dim DB As DAO.Database, rs As DAO.Recordset Dim sql As String Dim isFirst As Boolean Dim lastValue As String Dim fldType As Integer ' قائمة الحقول التي نريد منع تكرارها Dim noRepeatFields As Variant noRepeatFields = Array("name", "Committee", "Job", "school", "Governorate", "Management") Set DB = CurrentDb fldType = DB.TableDefs(tabelle).Fields(Feld1).Type If fldType = dbText Or fldType = dbMemo Then sql = "SELECT [" & Feld2 & "] FROM [" & tabelle & "] WHERE [" & Feld1 & "]='" & valFeld1 & "'" Else sql = "SELECT [" & Feld2 & "] FROM [" & tabelle & "] WHERE [" & Feld1 & "]=" & valFeld1 End If On Error Resume Next Dim testFld As DAO.Field Set testFld = DB.TableDefs(tabelle).Fields(sortField) If Err.Number = 0 Then sql = sql & " ORDER BY [" & sortField & "]" End If On Error GoTo ErrorHandler Set rs = DB.OpenRecordset(sql) Horizontal = "" isFirst = True lastValue = "~|~" ' التحقق إذا كان الحقل الحالي في قائمة Dim isNoRepeatField As Boolean isNoRepeatField = False Dim i As Integer For i = LBound(noRepeatFields) To UBound(noRepeatFields) If Feld2 = noRepeatFields(i) Then isNoRepeatField = True Exit For End If Next i Do While Not rs.EOF Dim currentValue As String currentValue = Nz(rs(Feld2), "") If isNoRepeatField Then If currentValue <> lastValue Then If isFirst Then Horizontal = "*" & currentValue isFirst = False Else Horizontal = Horizontal & vbCrLf & currentValue End If lastValue = currentValue End If Else If isFirst Then Horizontal = "*" & currentValue isFirst = False Else Horizontal = Horizontal & vbCrLf & currentValue End If End If rs.MoveNext Loop rs.Close Set rs = Nothing Set DB = Nothing Exit Function ErrorHandler: Horizontal = "!ERROR: " & Err.Description If Not rs Is Nothing Then rs.Close Set rs = Nothing End If Set DB = Nothing End Function تم إضافة أسلوب لتحديد الحقول التي تريد دمج تكراراتها في النتيجة باستخدام مصفوفة بسيطة .. أما في الإستعلام ، فهو كالآتي بعد إعادتك لتغيير أسماء بأسلوب خاطئ مثل الحقل ( Name ) فهو اسم محجوز لآكسيس وليس من المنطقي تسمية حقل أو عنصر بأسماء محجوزة . SELECT DISTINCT basic.id2, Horizontal("basic","id2","name",[basic].[id2]) AS name, Horizontal("basic","id2","school",[basic].[id2]) AS school, Horizontal("basic","id2","Job",[basic].[id2]) AS [work], Horizontal("basic","id2","Committee",[basic].[id2]) AS Committee, Horizontal("basic","id2","taref",[basic].[id2]) AS taref, Horizontal("basic","id2","Governorate",[basic].[id2]) AS Governorate, Horizontal("basic","id2","Management",[basic].[id2]) AS Management FROM basic; for send (3).accdbFetching info... تم تعديل السبت at 10:46 بواسطه Foksh تصحيح خطأ إملائي
الردود الموصى بها
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.