PDA

View Full Version : سوال:تعيين رتبه دانش آموزان با اكسس



azadich
سه شنبه 16 شهریور 1389, 14:44 عصر
دو فيلد درست كردم كه يكي از فيلدها نمرات از بالا به پايين مرتب كرده است در فيلد ديگري مي خواهم تابعي بنويسم كه در مقابل بالاترين نمره عدديك قرار دهد ودر مقابل بعد از بالاترين نمره عدد دو وتا آخرين ركورد اين عمل انجام شود و فيلدهايي كه نمره يكسان دارند عدديكساني مقابل آن قرار گيرد من با اكسس كار مي كنم اين تابع را براي به دست آوردن رتبه دانش آموزان در برنامه اي كه درست كردم مي خوام

amirzazadeh
چهارشنبه 17 شهریور 1389, 13:24 عصر
دو فيلد درست كردم كه يكي از فيلدها نمرات از بالا به پايين مرتب كرده است در فيلد ديگري مي خواهم تابعي بنويسم كه در مقابل بالاترين نمره عدديك قرار دهد ودر مقابل بعد از بالاترين نمره عدد دو وتا آخرين ركورد اين عمل انجام شود و فيلدهايي كه نمره يكسان دارند عدديكساني مقابل آن قرار گيرد من با اكسس كار مي كنم اين تابع را براي به دست آوردن رتبه دانش آموزان در برنامه اي كه درست كردم مي خوام



سلام
اين نمونه براساس ركودست اماده شده.اميدوارم به دردتون بخوره.(فقط سريع كار كردم ببخشيد)

Private Sub Form_Load()
Dim x, y As Integer
y = DMax("[nomre]", "tblstudent")
x = y + 1
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("select * from tblstudent ORDER BY Tblstudent.nomre DESC ")
With rs
Do Until rs.EOF
If rs.Fields(1) = y Then
y = y
Else
y = y - 1
End If
rs.Edit
rs.Fields("rotbeh") = x - y
rs.Update
.MoveNext
Loop
End With
Set rs = Nothing
End Sub

...................................
موفق باشيد

azadich
جمعه 19 شهریور 1389, 18:23 عصر
سلام
اين نمونه براساس ركودست اماده شده.اميدوارم به دردتون بخوره.(فقط سريع كار كردم ببخشيد)

Private Sub Form_Load()
Dim x, y As Integer
y = DMax("[nomre]", "tblstudent")
x = y + 1
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("select * from tblstudent ORDER BY Tblstudent.nomre DESC ")
With rs
Do Until rs.EOF
If rs.Fields(1) = y Then
y = y
Else
y = y - 1
End If
rs.Edit
rs.Fields("rotbeh") = x - y
rs.Update
.MoveNext
Loop
End With
Set rs = Nothing
End Sub

...................................
موفق باشيد
با تشكر فراوان عالي بود.اما براي نمرات اعشاري كار نمي كند مي خوام كار كنه و
حالا داخل فرم يك تكست بوكس درست كردم كه معدل را محاسبه ميكند چكار كنم رتبه ها بر اساس اين تكست بوكس باشه؟

azadich
یک شنبه 21 شهریور 1389, 00:38 صبح
سلام
اين نمونه براساس ركودست اماده شده.اميدوارم به دردتون بخوره.(فقط سريع كار كردم ببخشيد)

Private Sub Form_Load()
Dim x, y As Integer
y = DMax("[nomre]", "tblstudent")
x = y + 1
Dim rs As Recordset
Set rs = CurrentDb.OpenRecordset("select * from tblstudent ORDER BY Tblstudent.nomre DESC ")
With rs
Do Until rs.EOF
If rs.Fields(1) = y Then
y = y
Else
y = y - 1
End If
rs.Edit
rs.Fields("rotbeh") = x - y
rs.Update
.MoveNext
Loop
End With
Set rs = Nothing
End Sub

...................................
موفق باشيد
براي نمرات اعشاري جواب نميده چه كار بايد كرد؟ ممنون ميشم

amirzazadeh
یک شنبه 21 شهریور 1389, 08:03 صبح
براي نمرات اعشاري جواب نميده چه كار بايد كرد؟ ممنون ميشم
سلام
كافيه تمام فيلدهاي عددي رو در نماي طراحي جدول رو به single تبديل كنيد و همچنين متغيرهاي تعريف شده در بخش كد نويسي هم همينطور.
.........................
موفق باشيد

azadich
یک شنبه 21 شهریور 1389, 12:05 عصر
سلام
كافيه تمام فيلدهاي عددي رو در نماي طراحي جدول رو به single تبديل كنيد و همچنين متغيرهاي تعريف شده در بخش كد نويسي هم همينطور.
.........................
موفق باشيد
خواهش ميكنم يك نمونه بزاريد چون متغيرهاي تعريف شده در بخش كد نتونستم تغيير بدم ممنون ميشم

amirzazadeh
یک شنبه 21 شهریور 1389, 12:59 عصر
خواهش ميكنم يك نمونه بزاريد چون متغيرهاي تعريف شده در بخش كد نتونستم تغيير بدم ممنون ميشم
سلام
لطفا نمونه ضميمه رو ببينيد.

azadich
یک شنبه 21 شهریور 1389, 13:50 عصر
سلام
لطفا نمونه ضميمه رو ببينيد.
سلام دستتون درد نكنه اما بعضي نمره هاي شبيه هم مثل 21/18 به هردو يك رتبه نمي دهد نمونه گذاشتم مي توني درستش كني ممنون ميشم

amirzazadeh
دوشنبه 22 شهریور 1389, 12:26 عصر
سلام دستتون درد نكنه اما بعضي نمره هاي شبيه هم مثل 21/18 به هردو يك رتبه نمي دهد نمونه گذاشتم مي توني درستش كني ممنون ميشم
سلام
از اين تاپيك كمك بگيريد:
http://barnamenevis.org/forum/showthread.php?t=245513
......................
موفق باشيد