اذهب الي المحتوي
أوفيسنا

فرز البيانات بالاكسيس


Khalid Jnb

الردود الموصى بها

السلام عليكم

عندي ملف اكسيس  مرفق يوجد فيه (جدول ونموذج وتقرير) يحتوي على:

التسلسل واسم الموظف و الدرجة الوظيفية و المرحلة الوظيفية و مجموع الراتب

-----------------

سؤالي ؟ كيف تتم عملية فرز الاسماء حسب ( الدرجة الوظيفية والمرحلة الوظيفية ومجموع الراتب من الدرجة (1 وهي الاعلى الى الدرجة 4 وهي اقل وظيفيا )

وشكرا

test.accdb

رابط هذا التعليق
شارك

وعليكم السلام ورحمة الله وبركاته:smile:

 

اذا اردت الفرز في النموذج ، فيجب ان تعمل استعلام ، وتعمل فيه الفرز المطلوب ، ثم تجعل هذا الاستعلام مصدر بيانات للنموذج،

واما اذا اردت الفرز في التقرير ، فيجب ان تختار حقول الفرز من المجموعات والفرز:

680.4.Clipboard04.jpg

.

جعفر

رابط هذا التعليق
شارك

شكرا لك 

اولا هل ممكن  تعمل لي الاستعلام وفق طريقتك

ثانيا عند جعل الاستعلام مصدر بيانات النموذج  سيبدا التسلسل مثلا من رقم 3   وليس 1    ( يعني التسلسل يختلف )

شو هو الحل برايك

وشكرا لك 

رابط هذا التعليق
شارك

اخوي خالد

 

لوسمحت تأخذ البيانات اللي في برنامجك ، وتضعها في ملف اكسل ، وترتبها بالطريقة اللي تريدها ، وخلينا نشوف قصدك ، فسؤالك يخبي وراه اشياء ثانيه:smile:

 

جعفر

  • Like 1
رابط هذا التعليق
شارك

السلام عليكم اخ جعفر 

انا احاول ان اعمل نظام للرواتب  يخص الموظفين 

انا رتبت الملف حسب  نصيحتك وجعلت الاستعلام مصدر بيانات النموذج وعملت للتقرير فرز بالصورة التي اريدها  انا ( حسب الدرجه الوظيفية (فرز تصاعدي)  والمرحلة الوظيفية ومجموع الراتب ( فرز تنازلي) اوكانت النتيجه جيده ؟ 

لكن 1-  التسلسل بالنموذج والتقرير اصبح من الرقم 3 يبدا  وانا اريده تلقائي من 1  يبدا 

      2-  ارجو منك رؤية الاستعلام الذي عملته انا وقول لي رايك فيه او تصححه لي ان كان فيه خطا

وشكرا لك اخي جعفر وبارك الله فيك

 

 

 

test.accdb

تم تعديل بواسطه خالد سيسكو
رابط هذا التعليق
شارك

عملك صحيح 100% :smile:

والسبب ان التسلسل في النموذج يبدأ بالرقم 3 ، هو لأنك ادخلت هذا السجل كثالث سجل في الجدول ، وهذا طبيعي.

 

السؤال هو:

لماذا تريد ان ترى حقل التسلسل ، اجعله مخفي وانتهى الموضوع:smile:

 

اما اذا اردت ان ترى تسلسل لسجلات النموذج ، فيمكنك عمل:

953.Clipboard01.jpg.7dbbac97653ac1255736f3045439c505.jpg

.

وهذه الوحدة النمطية التي تعطي التسلسل في الاستعلام:

Public Function RowCounter( _
  ByVal strKey As String, _
  ByVal booReset As Boolean, _
  Optional ByVal strGroupKey As String) _
  As Long
  
' Builds consecutive RowIDs in select, append or create query
' with the possibility of automatic reset.
' Optionally a grouping key can be passed to reset the row count
' for every group key.
'
' Usage (typical select query):
'   SELECT RowCounter(CStr([ID]),False) AS RowID, *
'   FROM tblSomeTable
'   WHERE (RowCounter(CStr([ID]),False) <> RowCounter("",True));
'
' Usage (with group key):
'   SELECT RowCounter(CStr([ID]),False,CStr([GroupID])) AS RowID, *
'   FROM tblSomeTable
'   WHERE (RowCounter(CStr([ID]),False) <> RowCounter("",True));
'
' The Where statement resets the counter when the query is run
' and is needed for browsing a select query.
'
' Usage (typical append query, manual reset):
' 1. Reset counter manually:
'   Call RowCounter(vbNullString, False)
' 2. Run query:
'   INSERT INTO tblTemp ( RowID )
'   SELECT RowCounter(CStr([ID]),False) AS RowID, *
'   FROM tblSomeTable;
'
' Usage (typical append query, automatic reset):
'   INSERT INTO tblTemp ( RowID )
'   SELECT RowCounter(CStr([ID]),False) AS RowID, *
'   FROM tblSomeTable
'   WHERE (RowCounter("",True)=0);
'
' 2002-04-13. Cactus Data ApS. CPH
' 2002-09-09. Str() sometimes fails. Replaced with CStr().
' 2005-10-21. Str(col.Count + 1) reduced to col.Count + 1.
' 2008-02-27. Optional group parameter added.
' 2010-08-04. Corrected that group key missed first row in group.

  Static col      As New Collection
  Static strGroup As String
  
  On Error GoTo Err_RowCounter
  
  If booReset = True Then
    Set col = Nothing
  ElseIf strGroup <> strGroupKey Then
    Set col = Nothing
    strGroup = strGroupKey
    col.Add 1, strKey
  Else
    col.Add col.Count + 1, strKey
  End If
  
  RowCounter = col(strKey)
  
Exit_RowCounter:
  Exit Function
  
Err_RowCounter:
  Select Case Err
    Case 457
      ' Key is present.
      Resume Next
    Case Else
      ' Some other error.
      Resume Exit_RowCounter
  End Select

End Function


Public Function Reset_RowCounter()

    Call RowCounter(vbNullString, False)
End Function

 

جعفر

953.test.accdb.zip

  • Thanks 1
رابط هذا التعليق
شارك

عاشت ايدك اساذ جعفر

بارك الله فيك

اخر سؤال؟؟؟؟؟؟؟

هل يمكن اظهار كلمه (جديد)  في التسلسل عند اضافة سجل جديد واضافتها  مثل التسلسل الموجود بالجدول ام لا

مع فائق التقدير 

 

 

رابط هذا التعليق
شارك

8 دقائق مضت, خالد سيسكو said:

1. هل يمكن اظهار كلمه (جديد)  في التسلسل عند اضافة سجل جديد 2. واضافتها  مثل التسلسل الموجود بالجدول ام لا

1. لا ، ولا انصح بعمل اللي تريده ،

ولكن يمكن عمل حقل فوق هذا الحقل (بالضبط ، وبنفس اللون ، ونجعله مخفي ، وليكن اسمه For_New_Record) ، ونكتب في هذا الحقل الغير مضمن ، كلمة (جديد) ،

وفي حدث الحالي في النموذج ، نكتب هذا الكود لإخفاء احدهم وإظهار الآخر ، في الوقت الصحيح:

Private Sub Form_Current()

    If Me.NewRecord Then
        Me.For_New_Record.Visible = True
        Me.RowID.Visible = False
    Else
        Me.For_New_Record.Visible = False
        Me.RowID.Visible = True
    End If
    
End Sub

.

2. لا يمكنك ان تضيف اي رقم لهذا الحقل ، فالرقم سيظهر تلقائيا عند حفظ السجل ، لذا اقفل هذا الحقل

 

جعفر

953.2.test.accdb.zip

  • Thanks 1
رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information