رجاء خذ من وقتك واعمل لي جدول نهائي اشتغل عليه :)
جعفر
رجاء خذ من وقتك واعمل لي جدول نهائي اشتغل عليه :)
جعفر
طويل العمر :)
طلبك غير طبيعي ، واكسس لا يلبيه :(
اضطريت ان اعمل Function في module بحيث يضبط الخانات المطلوبة ، ثم يرسلها للتقرير (او اي مكان اخر):
Public Function SortIt(eID, fld, n)
'eID = EmpId
'fld = Field name
'n = How many Records to return
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset("Select * From test6 Where EmpID = " & eID)
rst.MoveLast: rst.MoveFirst
'if n=1, then send 1 Record only of this field,
'if n=0, then sent All the Records of this field
If n = 0 Then n = rst.RecordCount
'clear the output
aRecords = ""
'loop through the Records
For i = 1 To n
'add the Records
If i = 1 Then
aRecords = rst.Fields(fld)
Else
aRecords = aRecords & vbCrLf & rst.Fields(fld)
End If
rst.MoveNext
Next i
'send the results back
SortIt = aRecords
'clearing the memory
rst.Close: Set rst = Nothing
'Debug.Print aRecords
End Function
والطريقة ان نعمل استعلام كالتالي:
وهنا نعمل عمود لكل حقل نريده في التقرير:
1. اسم انا اعطيته للحقل (يتغير لكل حقل) ،
2. اسم Function اعلاه ، والذي سنرسل اليه طلب جمع المعلومات (ثابت لكل الحقول ولا يتغير) ،
3. رقم الموظف (ثابت لكل الحقول ولا يتغير) ،
4. اسم الحقل الذي نريد معلوماته (يتغير لكل حقل) ،
5. اذا اردنا استرجاع معلومه واحدة فقط ، نضع 1 ، واذا اردنا جميع المعلومات فنضع صفر (يتغير لكل حقل) ،
والنتيجة هكذا:
وعلى اساس هذا الاستعلام نعمل التقرير ، ويظهر لنا هكذ:
جعفر
تم تعديل هذه المشاركة بواسطة jjafferr في 18 نوفمبر 2013 في 22:21
تتمة للشكل النهائي للتقرير بهذا الشكل:
ولكي نحصل على هذا الشكل ، يجب ان نفتح التقرير في هيئة Print Preview
جعفر
تم تعديل هذه المشاركة بواسطة Abo_Yossof في 19 نوفمبر 2013 في 10:39
هذا الموضوع مغلق.
المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية
جارٍ التحقق من المتواجدين…