You are on page 1of 21

EX.NO.

:2 STUDENTMARKANALYSISSYSTEM

AIM:

Tocreateasystemtoanalyzethestudentsmarksstoredinthedatabase.

PROBLEMSTATEMENT:

Thepurposeofthissystemistoanalyzeandperformoperationondatastoredin
the database and to provide authentication to avoid unauthorized access. The entire
systemisdividedintovariousmodulesandithasitsownobjectsandclasses.

Reportsareprovidedontheirbasis:

Student marks
Average
Percentage

Themainadvantageinoursystemisthatdataentrybecomesveryeasyand
othermanipulation,updatingcanbedoneeasily.

Formdescription:

Form1:LoginForm

Heretheusernameandpasswordischeckedandaccessisgrantedifthe
verifieddataiscorrect.

Form2:StudentProfileForm

Herethedetailofeachstudentisenteredanditisstoredinthedatabase.We
canalsosearchthedetailsofaparticularstudentandalsomakechangestothe
availabledata.

Form3:AcademicDetails

Herethestudentname,registerno,departmentandallthesubjectmarksare
enteredandstoredinthedatabase.Finally,wearecalculatingthetotal,averageand
percentageforeachstudent.
USECASEDIAGRAM:

login

get Student personal details

student
get student marks
administrator

Display detail

calculate percentage
dob : date
dept : String address : String

login_verify()
add_per_detail()
<<Class Module>> diaplay_avail() display_per_det()

stud_per_det

regno : String
pwd : String
name : String
e>> stud_mark
CLASS
regno : String
DIAGRAM:
sem : String

+NewPropertymark1 : Integer
mark2 : Integer
mark3 : Integer

<<Cl
add_mark_detail()
a
display_mar_det()
s cal_percentage()

M <<Class Module>>
o admin
d
uname : String
u pwd : string

l
login_verify()

LOGINSEQUENCEDIAGRAM

stud_per_detail_obj :
student : student
stud_per_det
login_verify(String, String)

diaplay_avail(Boolean)
STUDENTMARKANALYSIS:LOGINCOLLABORATIONDIAGRAM

2: diaplay_avail(Boolean)

1: login_verify(String, String)
stud_per_detail_obj :
stud_per_det

student : student

StudentgetsaccesstoStudentpersonaldetailtoprovideinformation.

GETSTUDENTSPERSONALDETAILS:SEQUENCEDIAGRAM

stud_per_det_obj :
student : student stud_per_det
login_verify(String, String)

diaplay _avail(Boolean)

add_per_detail( )

STUDENTMARKANALYSIS:GETSTUDENTPERSONALDATA
COLLABORATIONDIAGRAM

2: diaplay_avail(Boolean)

1: login_verify(String, String) 3:
add_per_detail( )

stud_per_det_obj :
stud_per_det

student : student
Studentloginisverifiedandtheirpersonaldetailsareobtained.
GETSTUDENTSMARKDETAILS:SEQUENCEDIAGRAM

stud_mark_det :
admin : stud_mark
administrator

add_mark_detail( )

STUDENTMARKANALYSIS:GETSTUDENT
MARKDETAILSCOLLABORATIONDIAGRAM

1: add_mark_detail( )
stu
d
_
m
a
r
k
_
d
e
t

s
t
u
d
_
m
a
r
k
a
d
m
i
n

a
d
m
i
n
i
s
t
r
a
t
o
r

Administratorloginstoaddthemarkdetailsofstudents.

DISPLAY:SEQUENCEDIAGRAM

stud_per_det_obj : stud_mark :
student : student stud_per_det stud_mark

display_per_det( )

display_mar_det( )
STUDENTMARKANALYSIS:DISPLAYCOLLABORATIONDIAGRAM

1: display_per_det( )

stud_per_det_obj :
stud_per_det
student : student

2: display_mar_det( )

stud_mark :
stud_mark

Studentsgetaccesstodisplaytheirpersonaldetailsandmarkdetails.

CALCULATEPERCENTAGE:SEQUENCEDIAGRAM

stud_mark_det :
admin :
stud_mark
administrator cal_percentage( )

STUDENTMARKANALYSIS:PERCENTAGECALCULATION
COLLABORATIONDIAGRAM

1: cal_percentage( ) stud_mark_det : stud_mark

admin : administrator

Administratorcalculatesthepercentageofstudentmarks.
Tablerequirement:

Therearetwotablesrequired.Theyare:

Studentprofiletable:

Inthistable,wegetthedetailsofthestudentslikename,fathersname,date
ofbirth,age,regulation,hobbies,emailid,address,bloodgroupandcontactnumber.
Italsohasfieldstosearchaparticularstudentdetails,academicdetailsandtomodify
theexistingdata.

Academictable:

Inthistable,wegetthename,registerno,department,marksforeachsubject,
totalandaverage.Italsohasfieldstosearch,add,updateandtocalculatethe
percentage.

DATABASETABLES:

Admin
ad_name ad_pwd
adm Adm

stud_mark
a_regno s_sem s_mark1 s_mark2 s_mark3 s_per
222 1 80 90 90 87

stud_per
s_regno s_pwd s_name s_dob s_dept s_address
111 aaa arunraj 2/2/1997CSE Text4
222 bbb abilasha 10/13/1987ECE kkdi
333 ccc uma 12/10/1980EEE kkd
FORM1DESIGN:

FORM1CODING:

PrivateSubCommand1_Click()
DimsAsstud_per_det
DimadAsadmin

IfOption1.Value=TrueThenSet
s=Newstud_per_det
Calls.login_verify(Trim(Text1.Text),Trim(Text2.Text))
Else
IfOption2.Value=TrueThen
Setad=Newadmin
Callad.login_verify(Trim(Text1.Text),Trim(Text2.Text))
EndIf
EndIf

EndSub
FORM2DESIGN:

FORM2CODING:

Dims_perAsstud_per_det

PrivateSubCommand1_Click()
Sets_per=Newstud_per_det

Calls_per.add_per_detail(Text1.Text,Text2.Text,Combo1.Text,Text4.Text)

EndSub

PrivateSubCommand2_Click()
Sets_per=Newstud_per_det
Calls_per.display_per_det

EndSub

PrivateSubCommand3_Click()
Form2.Hide
Form3.Show
Form3.Command1.Visible=False
Form3.Command2.Visible=False
Form3.Text1.Text=Form2.Text3.Text
EndSub
PrivateSubCommand4_Click()
Form2.Hide
Form1.Show

EndSub

PrivateSubCommand5_Click()
End
EndSub

PrivateSubForm_Load()
Text3.Text=Form1.Text1.Text

EndSub

FORM3DESIGN:
FORM3CODING:

Dims_markAsstud_mark

PrivateSubCommand1_Click()
Sets_mark=Newstud_mark

Calls_mark.add_mark_detail(Trim(Text1.Text),Combo1.Text,
Int(Trim(Text2.Text)),Int(Trim(Text3.Text)),Int(Trim(Text4.Text)))

EndSub

PrivateSubCommand2_Click()Set
s_mark=Newstud_mark
Calls_mark.cal_percentage(Trim(Text1.Text),Combo1.Text)
EndSub

PrivateSubCommand3_Click()Set
s_mark=Newstud_mark
Calls_mark.display_mar_det(Trim(Text1.Text),Combo1.Text)
EndSub

PrivateSubCommand4_Click()
Form3.Hide
Form1.Show

EndSub

PrivateSubCommand5_Click()
End
EndSub

ADMINCLASSMODULE:

OptionExplicit

'##ModelId=4AB45CA30389
PrivateunameAsString

'##ModelId=4AB45CA801D4
PrivatepwdAsString
DimdbAsDatabase
DimrsAsRecordset
'##ModelId=4AB45CD702A5
PublicSublogin_verify(anameAsString,apwdAsString)
Setdb=OpenDatabase("C:\DocumentsandSettings\cse1\Desktop\vino\studdb.mdb")Set
rs=db.OpenRecordset("admin")
rs.MoveFirst
DimflagAsBoolean
flag=False
DoWhileNotrs.EOF
IfTrim(rs(0).Value)=anameThenIf
Trim(rs(1).Value)=apwdThen
Form3.Show
Form3.Command1.Visible=True
Form3.Command2.Visible=True
Form1.Hide

ExitDo
EndIf
EndIf
rs.MoveNext

Loop

rs.Close
db.Close
EndSub

STUDENTPERSONALDETAILCLASSMODULE:

OptionExplicit

'##ModelId=4AB1F3320269
PrivateregnoAsString

'##ModelId=4AB1F33A0375
PrivatepwdAsString

'##ModelId=4AB1F33F01FE
PrivatenameAsString

'##ModelId=4AB1F3450065
PrivatedobAsDate

'##ModelId=4AB1F34C02C5
PrivatedeptAsString

'##ModelId=4AB1F34E033B
PrivateaddressAsString
'##ModelId=4AB1F3D20371Public
NewPropertyAsstud_markDimdb
AsDatabase
DimrsAsRecordset

'##ModelId=4AB1F36F0067
PublicSublogin_verify(regnoAsString,pwdAsString)
Setdb=OpenDatabase("C:\DocumentsandSettings\cse1\Desktop\vino\studdb.mdb")Set
rs=db.OpenRecordset("stud_per")
rs.MoveFirst
DimflagAsBoolean
flag=False
DoWhileNotrs.EOF
IfTrim(rs(0).Value)=regnoThenIf
Trim(rs(1).Value)=pwdThen
flag=True

ExitDo
EndIf
EndIf
rs.MoveNext

Loop

Calldisplay_avail(flag)

rs.Close
db.Close
EndSub

'##ModelId=4AB1F3780097
PublicSubadd_per_detail(snameAsString,sdateAsString,sdeptAsString,saddAs
String)
Setdb=OpenDatabase("C:\DocumentsandSettings\cse1\Desktop\vino\studdb.mdb")Set
rs=db.OpenRecordset("stud_per")
rs.MoveFirst
DoWhileNotrs.EOF
IfTrim(rs(0).Value)=Trim(Form2.Text3.Text)Then

rs.Edit
rs(2).Value=sname
rs(3).Value=sdate
rs(4).Value=sdept
rs(5).Value=sadd
rs.Update
MsgBox"detadded"
ExitDo
EndIf
rs.MoveNext
Loop
rs.Close
db.Close
EndSub

'##ModelId=4AB1F4760303
PublicSubdisplay_avail(flagAsBoolean)If
flag=TrueThen
MsgBox"validstudent"
Form1.HideForm2.Show
Else
MsgBox"invalidlogin"
EndIf
EndSub

'##ModelId=4AB1F724028B
PublicSubdisplay_per_det()
Setdb=OpenDatabase("C:\DocumentsandSettings\cse1\Desktop\vino\studdb.mdb")Set
rs=db.OpenRecordset("stud_per")
rs.MoveFirst
DoWhileNotrs.EOF
IfTrim(rs(0).Value)=Trim(Form2.Text3.Text)Then
Form2.Text1.Text=rs(2).Value
Form2.Text2.Text=rs(3).Value
Form2.Combo1.Text=rs(4).Value
Form2.Text4.Text=rs(5).ValueExit
Do
EndIf
rs.MoveNext
Looprs.Close
db.Close

EndSub

STUDENTMARKDETAILCLASSMODULE:

OptionExplicit

'##ModelId=4AB1F358025B
PrivateregnoAsString

'##ModelId=4AB1F35B00A1
PrivatesemAsString

'##ModelId=4AB1F363004A
Privatemark1AsInteger
'##ModelId=4AB1F36600BF
Privatemark2AsInteger

'##ModelId=4AB1F3680146
Privatemark3AsIntegerDim
dbAsDatabase
DimrsAsRecordset
'##ModelId=4AB1F3890359
PublicSubadd_mark_detail(sregnoAsString,ssemAsString,sm1AsInteger,sm2As
Integer,sm3AsInteger)
Setdb=OpenDatabase("C:\DocumentsandSettings\cse1\Desktop\vino\studdb.mdb")Set
rs=db.OpenRecordset("stud_mark")
MsgBox"inside"
rs.AddNewrs(0).Value
=sregnors(1).Value=
ssemrs(2).Value=sm1
rs(3).Value=sm2
rs(4).Value=sm3
rs(5).Value=0
rs.Update
MsgBox"added"

EndSub

'##ModelId=4AB1F3B000B6
PublicSubdisplay_mar_det(sregnoAsString,ssemAsString)
Setdb=OpenDatabase("C:\DocumentsandSettings\cse1\Desktop\vino\studdb.mdb")Set
rs=db.OpenRecordset("stud_mark")
rs.MoveFirst
DoWhileNotrs.EOF
Ifrs(0).Value=sregnoThenIf
rs(1).Value=ssemThen
Form3.Text2.Text = rs(2).Value
Form3.Text3.Text = rs(3).Value
Form3.Text4.Text = rs(4).Value
Form3.Text5.Text=rs(5).ValueExit
Do
EndIfEndIf
rs.MoveNext
Loop
EndSub

'##ModelId=4AB1F3B701D3
PublicSubcal_percentage(sregnoAsString,ssemAsString)
Setdb=OpenDatabase("C:\DocumentsandSettings\cse1\Desktop\vino\studdb.mdb")Set
rs=db.OpenRecordset("stud_mark")
rs.MoveFirst
DoWhileNotrs.EOF
Ifrs(0).Value= sregnoThenIf
rs(1).Value = ssem Then
rs.Edit
rs(5).Value=(rs(2).Value+rs(3).Value+rs(4).Value)/3

Form3.Text5.Text=rs(5).Value
rs.Update

ExitDo
EndIf
EndIf
rs.MoveNext
Looprs.Close
db.Close

EndSub

RESULT:
ThusthesystemforStudentmarkanalysisiscreatedandexecuted.Theoutputis
verified.

You might also like