Telephone Billing System
Telephone Billing System
Telephone Billing System
CONTENTS
1) Introduction i) Introduction of the Project ii) Objective of the Project 2) System Analysis i) Introduction ii) Existing System iii) Drawback of the Existing System iv) Proposed System v) Objective and Advantage of Proposed System vi) Software Requirement Specification vii) Data Flow Diagram viii) Gantt Chart 3) System Design i) Introduction ii) Design Strategy iii) Input Design iv) Output Design v) Table Design 4) Tools Chosen i) Proposed System Environment ii) About Front End iii) About Back End 5) Source Code 6) Input And Output Screen 7) Testing And Debugging 8) Scope And Result Discussion 9) Bibliography
2) Maintenance of database as well as overall project will become 3) Security measure will be adopted, by maintaining the login of username and the password. 4) Data redundancy will be greatly reduced because this new system is built using Visual Basic 6.0 as front-end. It entails looking into duplication of efforts , bottlenecks and inefficient existing procedures.
2) (i) INTRODUCTION
System analysis is the performance management and documentation of activities related to the four life cycle phases of any software namely: The Study Phase The Design Phase The Development Phase The Operators Phase System analysis is a vast field of study through which system analyst puts his thoughts and searches for the solution of problem. He has to get a clear idea of what he has in hand and what he has to produce. He has to extract the essence of expectations. He has to satisfy the user in the very possible way. System analysis needs and should include the following steps of study: Study of current methods, the basic inputs available and output desired. The splitting of a variable inputs into (.dbf) files so as to reduce redundancy and increase consistency. Give the idea of key field (if any) . Ideas regarding code generation.
Software Analysis starts with a preliminary analysis and later switches on to a detailed one. During the preliminary analysis the Analyst takes a quick look at what is needed and whether the cost benefits. Detailed analysis studies in depth all the cornered factors, which builds and strengthens the software. A system study is a step-by-step process used to identify and then developed the software needed to control the processing of specific application. System study is also known as SDLC (Software Development Life Cycle). Steps of SDLC are: 1. Problem Definition 2. Feasibility Study 3. System Analysis 4. System Design 5. Implementation 6. Post Implementation 7. Maintenance
2) (ii)
EXISTING SYSTEM
The existing system was a manual one. Whatever be the process involved in the system were done through register (files) . There were lots of complexities involved in the system. When any customer takes new connections then separate files were maintained. Updating of data was very tedious job. It was not easy to do several administrative works like managing rates of calls, addition or modification of metered calls & customer entries.
The manual jobs such as calculation are more error prone. There are plenty of chances of duplicity of data and information. Updating is very tedious job. There is no central database from where one can get different statistical data at one place. The above facts, figures and drawbacks clearly indicate that there is need for computerization and thus decided to computerize the TELEPHONE BILLING SYSTEM. Since the existing system was totally manual which has lots of complexities, shortcomings in itself and all the data was being stored in registers, files etc thus to overcome the limitation of the existing system, the new computerized system was needed, so that information can be provided to the user more quickly, easily and more accurately.
3) (iv)
PROPOSED SYSTEM
The new system titled TELEPHONE BILLING SYSTEM was hence proposed to remove all the drawbacks discussed above. Information is a vital ingredient for the operation and management of any organization. Thus any system should have the ability to provide error free filtered information after processing the required data. This system has been taken up with a view for developing a more sophisticated system that can be easily handled by any kind of users. The proposed system aims at efficient and timely information for
To provide greater flexibility. Make maintenance changes easy. To store data in a centralized location to reduce redundancy and increase consistency.
2) (vi) SRS
SRS (Software Requirement Specification) is a document that completely describes what the proposed should do, without describing how the software does it.
PURPOSE : The purpose of the project is to develop a system which
is user friendly, easy to use , maintain and satisfies all the requirements of the user. PERFORMANCE REQUIREMENT 1) The operation time should be small and the throughput should be high. 2) It should produce timely and accurate result. SOFTWARE QUALITY ATTRIBUTES
i)
Maintainability Since it is directly associated with the database, so there is very little maintainability problem with this tool.
ii)
Portability Since there is very limited usage of separate forms, this tool is very much portable. This tool uses several canvases on the same form.
iii)
GENERATED BILL
CUSTOMER
1
Login Verificatio n
Valid User
New Customer Details
2
Processing of new customer information
Input Ratings
Rate Maintenance
ADMINISTRATOR
3
Processing of ratings for different types of calls ( table 2)
Ratings
(continued)
Ratings
5 Generation of Bill
Generated Bill
Rate Maintenance
User
Ratings ( table 3)
5.2
( table 2) Multiplied Result Multiplied Result is inserted in table
5.3 Bill is generated, using this multiplied result, monthly rental, getting the sum with customer name & address
Generated Bill
Feasibility Study
1 Jun07
20 Jun07
10 Jul07
30 Jul07
20 Aug07
3) (i) INTRODUCTION
System design is the second step in the system life cycle, in which overall design of the system is achieved. The functionalities of the system is designed and studied in this phase. The first step is designing of program specification. This determines the various data inputs to the system, data flow and the format in which output is to be obtained. Design phase is a transmission phase because it is a transition from user oriented document to computer data. The activity in the design phase is the allocation of functions to manual operations, equipment and computer programs. Flow charts prepared in the study time received and decomposed until all functions in the system perform evidently. Design is a multistep process that focuses on data structures, software architecture, procedural details( algorithms etc) and links between the modules. The design process goes through logical and physical stages. In logical design reviews are made linking existing system and specification
gathered. The physical plan specifies any hardware and software requirement, which satisfies the local design. Modularization of task is made in the mode. The success of any integrated system depends on the planning of each and every fundamental module. Usually a project is revised in step by step sequence. Inter phase management of such module is also important.Software design methodology changes continually as new methods, better analysis and broader understanding evolve. Various techniques for software design do exit with the availability of criteria for design quality. Software design leads three technical activitiesdesign, code and test. The techniques for software design do exit with the availability of criteria for design quality. Software design leads three technical activities-design, code and test that are required to build and verify software. Each activity transforms information, which validates the software. The design system converts theoretical solution introduced by the feasibility study into a logical reality.
The design of a system should be such that if a small portion is changed. The rest of the system should be unaffected. This is the flexibility of the system. Greater the system flexibility greater will be the system reliability. While carrying out the job of designing of a new system one has to consider many factors. These factors include the drawbacks and limitations of the present manual system as well as of the features and advantages of the proposed system. It should be designed in such a manner that even a layman can run it without any difficulty. An important quality of a software must enjoy is user friendliness. It can be achieved in many ways like providing menu, giving context sensitive help, doing automatic validation to input data, etc. Another main factor is speed efficiency. In order to achieve speed efficiency, the program should be designed accordingly and the user is provided with a compiled copy of the software package with necessary data file format rather than source code. Design of input and output formats is equally important for any design. The output format should be designed in such a way that it must reflect all the required information in detail. The design of the database itself such as type of data stored, size of data etc. Some of the decisions made during database design are: Which data items are to be recorded and in which database. Length of each record, based on the characteristics of the data items on which it is based. Data whos unauthorized change must be prevented. Data, which must be avoided from redundancy. Maintenance of data integrity etc.
Avoid over writings. Prevents invalid data access and changes. Having all this, a positive interaction with clients at every stage of development is the core around which the software is built.
3) (iii)
INPUT DESIGN
Input design is the process of converting user-originate inputs to a computer-based format. The goal of design input data is to make data entry as easy, logical and free. The most common source of data processing errors is inactive input data. Effective design of the input data minimizes the error made by data entry operators. Catching errors on input is far less costly than correcting after data storage is complete. User-friendly input design enables quick error detecting and correction. Verification and validation is the most important in input design. Since the system is used interactively, it has two types of inputs. Interactive inputwhich is the point contact of the user with the system and the input to the internal system i.e. Databases. For full efficiency of the system, it is necessary that the input must be accurate. Since the user of the system may not be a technical person and may not know input concepts so it is required that he warn, prevent and correct invalid data entry. There are many ways that can be designed to handle such a situation. We can prevent the user entering invalid data into the databases by warning, neglecting or messaging appropriately. The user is then allowed to input correct data. Some help provisions may aid the user to point out the error. In this system inputs are collected from terminals through keyboard.
3)
1. CUSTOMER_RECORDS
3. CUSTOMER_METER_READING custphno mLocal mmobile mSTD mISD 4. BILL_RECORD custname custphno custadd localmt mobilemt STDmt ISDmt 5. LOGIN LOGIN_ID LOGIN_NAME LOGIN_PASSWORD AutoNumber Text Text Text Text Text Number Number Number Number Text Number Number Number Number
4)
The system environment can be classified into two categories Hardware environment Software environment
Hardware Environment
The application front-end (client) will be designed on machines with Windows 98/ Window XP, Pentium III processors, 64/128 MB RAM. The database will be running on Windows OS, Pentium III processors, 64 MB RAM. Mouse as pointing device.
Software Environment
The application front end will be designed using Visual Basic 6.0.
The database has been designed on Microsoft Access (Office
Package).
consideration to the user interface. A windows program offers a high degree of user interaction using the graphical elements that forms the objects on the window the user sees .If the user interface is not correct, user will not like the program. Visual Basic lets one add menus, text boxes, command buttons, option buttons (for making exclusive choice), check boxes, list boxes, scroll bars and file and directory boxes to black windows. One can use Visual Basic to communicate with other applications, running under windows. Visual Basic offers: More Internet features, better support for data base development, more language feature to make programming job easier. SOME TOOLS OF VISUAL BASIC 6.0 Data access features allow creating databases, front-end applications and scalable server side components for most popular databases formats including Microsoft SQL server and other enterprise level databases. Active X technology allows using functionality provided by other applications such as Microsoft Word, Microsoft Excel and other applications and objects could be created using the Professional Enterprise editions of Visual Basic. Internet capabilities make it easy to provide access to documents and applications across the Internet or Intranet server applications. The finished applications are a true .exe files that uses a Visual Basic virtual machine that can be freely distributed. SIGNIFICANCE FEATURES OF VISUAL BASIC 6.0
Toolbox: The Tool Box window differs from the tool bar. The Tool Box is a collection of tool that acts as a repository of controls we can place on forms. Some tools are Selection Pointer, Picture Box, Label, Text Box, Frame Button, Command Botany, Check Box, Option Button etc. Form: Visual Basic uses a window; controls are the widgets one place of a form. In a form we will customize by adding controls such as command buttons, list boxes to it. At the top of the black form is the little bar with its caption. Common Form properties: There are several common properties to customize a form, these are: Caption: Caption is used as a title that the Microsoft Window for the application icon when the user minimizes the application. Name: This property is used to give the name that one want to use to refer to the form. Enabled: If user sets Enabled to false, the form cannot respond to any events such as the user checking on the form. Icon: The icon property determines the icon users application will display when it is minimized on tool bar or turned into a stand-alone application on windows desktop. Visible: If the value of the property is set to false, it will no longer be visible. Text Boxes: It is used to display text or to accept user input. Most of the code is written to process the information users enter into them. Several properties of text boxes are as follows: -
Text: The text property in text box is the analog of the caption property for a command button or a form; it controls text the users see. It determines whether text on the control such as label or command button, is left justified, centered, or right justified on the control. The Alignment property take one of the three values: 0-Left justify, 1-Right justify, 2-Center. Multiline: This property determines whether a text box can accept more than one line of text when the user runs the application, and it is usually combine with resulting the value of the scrollbar property. If true the property specifies the text box can hold more than a line of text. Max Length: This property specifies the maximum number of characters that the text box will accept. A value of 0 indicates that the user can enter a value of any length.
Locked: This property determines whether the user can enter a value or change the default value of the text box. If true, the user cannot change the text box value until the program, at run time assigns a false to this property. Password char: The Password property lets us limit what the text box displays. Labels: Use Labels to display information programmer does not want the user to be able to change. Most common use for Labels is to identify a text box or other control by describing its contents. Another common use is to display help information. Message Boxes:
Message boxes display information in the dialog box superimposed on the form. They want for the user to choose a button before return to the application. User cannot switch to another form in programmers applications as long as Visual Basic is displaying a message box. Value 0 1 2 3 4 Frames: Programmer usually frames passively to group images or controls. Named constant vbOKOnly vbOKCancel vbAboRetryIgnore vbYesNoCancel vbYesNo Description OK button OK and Cancel buttons Abort,Retry and Cancel buttons Yes and No and Cancel buttons Yes and No buttons
Option Buttons: They all work together. When the user chooses one button, all other buttons in the group are turned off. The value property of the option button tells us whether a button was selected by the user. If the value property is true, the user selected that button; otherwise, its value property is false. Check Boxes: Check Boxes differ from option button in that, regardless of how many Check Boxes one places on a form, they can all be turned on and off
independently. If the user has selected Check Boxes, the value property switches to true. It stays true until the user deselects that box. List and Combo boxes: Use list boxes when we have a fixed list of choices. Visual Basic automatically adds vertical scroll bars when the list box is small for all items it contains. To allow users to input data as well as choices from a list, we use a Combo Box. FOLLOWING ARE THE CUSTOM CONTROLS, WHICH ARE ALSO DATA AWARE: Data List Data Combo Data Grid Microsoft Flex Grid Microsoft Hierarchical Flex Grid Rich Textbox Microsoft Chart Date Time Picker Image Combo
MICROSOFT ACCESS Database: -A database is a set of data, organized for easy access. The database is the actual data. It is the database that you will be accessing when you need to retrieve data. Data Dictionary: -The data dictionary is a set of tables Access uses to maintain information about the database. The data dictionary contains information about tables, indexes, clusters, and so on. DBA (Database Administrator): -The DBA is the person responsible for the operation, configuration, and performance of the database. The DBA is charged with keeping the database operating smoothly, ensuring that backups are done on a regular basis (and that the backups work), and installing new software. Other responsibilities might include planning for future expansion and disk space needs, creating databases and tablespaces, adding users and maintaining security, and monitoring the database and retuning it as necessary. Large installations might have teams of DBAs to keep the system running smoothly; alternatively, the tasks might be segmented among the DBAs.
DBMS or RDBMS: -The Database Management System is the software and collection of tools that manages the database. Access software is the DBMS. A Relational Database Management System is a DBMS that is relational in nature. This means that the internal workings access data in a relational manner. Access is an RDBMS.
Query: -A query is a read-only transaction against a database. A query is generated using the SELECT statement. Users generally distinguish between queries and other transaction types because a query does not change the data in the database. Schema: -A schema is a collection of objects associated with the database. Microsoft Access is a very effective DBMS tool which is generally used by all the users. It is compatible with all types of systems & can be installed and used as and when required.
5) SOURCE CODE
*******************Code For Start Form******************* Dim i As Integer Private Sub Form_Load() start.Show Timer1.Enabled = True ProgressBar1.Value = 0 i=0 Shape1(i).BackColor = "&HC00000"
i=i+1 ProgressBar1.Scrolling = ccScrollingSmooth End Sub Private Sub Timer1_Timer() ProgressBar1.Value = ProgressBar1.Value + 2 If ProgressBar1.Value Mod 20 = 0 Then Shape1(i).BackColor = "&HC00000" i=i+1 End If If ProgressBar1.Value = 100 Then Timer1.Enabled = False: Unload start1: Unload Me: frmopt.Show End Sub *******************Code For Start1 Form******************* Private Sub Form_GotFocus() start.Show End Sub Private Sub Timer1_Timer() r = Rnd * 150 g = Rnd * 200 b = Rnd * 150 Label1.Forecolor = RGB (r , g , b) Label2.Forecolor = RGB (r , g , b) End Sub *******************Code For Login Form******************* Option Explicit Public LoginSucceeded As Boolean Private Sub cmdcancel_Click() LoginSucceeded = False Me.Hide frmopt.Show End Sub
Private Sub cmdok_Click() If txtPassword = "teleproject" And txtUserName = "poonam" Then LoginSucceeded = True MDIForm1.Show Unload Me Unload frmopt Unload frmLoginbase Else MsgBox "Invalid Password, try again!", , "Login" txtPassword.SetFocus SendKeys "{Home} + {End}" End If End Sub *******************Code For (frmopt) Form******************* Private Sub cmdenter_Click() frmLoginbase.Show frmLogin.Show Me.Hide End Sub Private Sub cmdexit_Click() End End Sub Private Sub cmdhelp_Click() frmAbout.Show Me.Hide End Sub Private Sub Form_Load() Unload start1 Unload start End Sub Private Sub Timer1_Timer() r = Rnd * 200 g = Rnd * 100 b = Rnd * 150
Label1.ForeColor = RGB(r, g, b) Label5.ForeColor = RGB(r, g, b) Label6.ForeColor = RGB(r, g, b) End Sub Private Sub Timer3_Timer() r = Rnd * 100 g = Rnd * 150 b = Rnd * 200 Label2.ForeColor = RGB(r, g, b) Label3.ForeColor = RGB(r, g, b) Label4.ForeColor = RGB(r, g, b) End Sub *******************Code For (MDIForm1) Form******************* Option Explicit Private Sub about_Click() frmAbout.Show End Sub Private Sub exit_Click() Unload Me frmopt.Show End Sub Private Sub mnucb_Click() frmbill.Show End Sub Private Sub newcon_Click() frmnew.Show End Sub Private Sub option_Click() frmoptad.Show End Sub Private Sub viewrec_Click()
frmrec.Show End Sub **********Code For frmnew called by MDIForm1 Form********** Option Explicit Dim rs As Recordset Dim con As Connection Private Sub err_han() Dim response As Integer Select Case Err.Number Case -2147467259 Call EDTB(Empty) Call EmptyTB MsgBox "Duplicate Record Entry", vbInformation + vbOKOnly, "TELEBILL SOFTWARE" Case Else If Err.Number <> 0 Then MsgBox Err.Number & " : " & Err.Description End If End Select End Sub Private Sub cmdadd_Click() On Error GoTo error_handler If Text1.Text <> Empty Or Text2.Text <> Empty Then con.Execute "insert into table1 values('" & Text1.Text & "','" & Text3.Text & "','" & Text2.Text & "')" MsgBox "Records Inserted Successfully", vbInformation + vbOKOnly, "TELEBILLING SOFTWARE" Else MsgBox "Check for Empty Boxes", vbInformation + vbOKOnly, "TELEBILLING SOFTWARE" End If Call EmptyTB Call EDTB(False) error_handler: err_han End Sub
Private Sub cmdback_Click() Me.Hide MDIForm1.Show End Sub Private Sub Form_Load() Set con = New Connection con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Poonam\tele.mdb';Persist Security Info=False" End Sub Public Function EDTB(cho As Boolean) Text1.Enabled = cho Text2.Enabled = cho Text3.Enabled = cho End Function Public Sub EmptyTB() Text1.Text = Empty Text2.Text = Empty Text3.Text = Empty End Sub
**********Code For frmrec called by MDIForm1 Form********** Option Explicit Dim rs As Recordset Dim rs1 As Recordset Dim con As Connection Private Sub err_han() Dim response As Integer Select Case Err.Number Case 3021 Text1.Text = rs.Fields(0) Text2.Text = rs.Fields(2) Text3.Text = rs.Fields(1) Text4.Text = 0 Text5.Text = 0
Text6.Text = 0 Text7.Text = 0 Case Else If Err.Number <> 0 Then MsgBox Err.Number & " : " & Err.Description End If End Select End Sub Private Sub cmdexit_Click() Call Clear Call EDCmd(True) Me.Hide MDIForm1.Show End Sub Private Sub cmdok_Click() Dim match As Boolean match = False rs.MoveFirst Do While Not rs.EOF If LCase(Left(rs.Fields(0), 1)) = LCase(Text8.Text) Then match = True Exit Do
Else rs.MoveNext End If Loop If match = False Then MsgBox "No such record is there!!!", vbInformation + vbOKOnly, "TELEBILL SOFTWARE" rs.MoveFirst Else Call LocateMtr Call Display End If End Sub
Private Sub cmdpre_Click() If rs.BOF Then MsgBox "No more records!!!", vbInformation + vbOKOnly, "TELEBILL SOFTWARE" rs.MoveNext Else rs.MovePrevious End If If Not rs.BOF Then Call LocateMtr Call Display Else Call Clear End If End Sub Private Sub cmdnext_Click() If rs.EOF Then MsgBox "End of record!!!", vbInformation + vbOKOnly, "TELEBILL SOFTWARE" rs.MovePrevious Else rs.MoveNext End If If Not rs.EOF Then Call LocateMtr Call Display Else Call Clear End If End Sub Private Sub cmdfirst_Click() rs.MoveFirst Call LocateMtr Call Display End Sub Private Sub cmdlast_Click() rs.MoveLast Call LocateMtr
Call Display End Sub Private Sub Form_Activate() Set con = New Connection con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Poonam\tele.mdb';Persist Security Info=False" Set rs = New Recordset Set rs1 = New Recordset rs.Open "select * from table1 order by custname", con, adOpenDynamic, adLockOptimistic rs1.Open "select * from table3 ", con, adOpenDynamic, adLockOptimistic If Not rs.BOF Then Call LocateMtr Call Display Else Call EDCmd(False) End If End Sub Public Function Display() On Error GoTo error_handler Text8.Text = "a" Text1.Text = rs.Fields(0) Text2.Text = rs.Fields(1) Text3.Text = rs.Fields(2) Text4.Text = rs1.Fields(1) Text5.Text = rs1.Fields(2) Text6.Text = rs1.Fields(3) Text7.Text = rs1.Fields(4) error_handler: err_han End Function Public Function Clear() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = ""
Text6.Text = "" Text7.Text = "" End Function Public Function LocateMtr() On Error GoTo error_handler rs1.MoveFirst Do While Not rs.EOF If rs.Fields(2) = rs1.Fields(0) Then Exit Function End If rs1.MoveNext Loop error_handler: err_han End Function Public Function EDCmd(choice As Boolean) cmdok.Enabled = choice cmdfirst.Enabled = choice cmdpre.Enabled = choice cmdnext.Enabled = choice cmdlast.Enabled = choice End Function
**********Code For frmbill called by MDIForm1 Form********** Option Explicit Dim con As Connection Dim rs As Recordset Dim sum1 As Double Dim sum2 As Double Dim sum3 As Double Private Sub Combo1_Change() Dim reco As Recordset Set reco = New Recordset reco.Open "select * from table1 where custphno='" & Combo1.Text & "'", con, adOpenDynamic, adLockOptimistic
If Not reco.EOF Then txtname.Text = reco!custname txtadrs.Text = reco!custadd End If Set reco = Nothing Dim pp As Recordset Set pp = New Recordset pp.Open "select * from table3 where custphno='" & Combo1.Text & "' ", con, adOpenDynamic, adLockOptimistic If Not pp.EOF Then txtmtrlocal.Text = pp!mlocal txtmtrmobile.Text = pp!mmobile txtmtrstd.Text = pp!mSTD txtmtrisd.Text = pp!mISD Else txtmtrlocal.Text = Empty txtmtrmobile.Text = Empty txtmtrstd.Text = Empty txtmtrisd.Text = Empty End If Set pp = Nothing End Sub Private Sub Combo1_Click() Dim reco As Recordset Set reco = New Recordset reco.Open "select * from table1 where custphno='" & Combo1.Text & "'", con, adOpenDynamic, adLockOptimistic If Not reco.EOF Then txtname.Text = reco!custname txtadrs.Text = reco!custadd End If Set reco = Nothing Dim pp As Recordset Set pp = New Recordset pp.Open "select * from table3 where custphno='" & Combo1.Text & "' ", con, adOpenDynamic, adLockOptimistic If Not pp.EOF Then txtmtrlocal.Text = pp!mlocal
txtmtrmobile.Text = pp!mmobile txtmtrstd.Text = pp!mSTD txtmtrisd.Text = pp!mISD Else txtmtrlocal.Text = Empty txtmtrmobile.Text = Empty txtmtrstd.Text = Empty txtmtrisd.Text = Empty End If Set pp = Nothing End Sub Private Sub DTPicker1_Change() If (DateValue(Date) - DateValue(DTPicker1.Value)) > 0 Then MsgBox "Invalid Entry Plz Enter Again, Thank U!!!", vbCritical + vbOKOnly, "TBS SOFTWARE" DTPicker1.Value = Date End If End Sub Private Sub Form_Activate() Set con = New Connection con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Poonam\tele.mdb';Persist Security Info=False" Set rs = New Recordset rs.Open "select custphno from table1 group by custphno", con, adOpenDynamic, adLockOptimistic Combo1.Clear Do While Not rs.EOF Combo1.AddItem (rs!custphno) Combo1.Text = rs!custphno rs.MoveNext Loop Set rs = Nothing Dim kk As Recordset Set kk = New Recordset kk.Open "select * from table2", con, adOpenDynamic, adLockOptimistic If Not kk.EOF Then txtlocal.Text = kk!Local
txtmobile.Text = kk!Mobile txtstd.Text = kk!STD txtisd.Text = kk!ISD txtmonrent.Text = kk!MonthlyRental Else MsgBox "No Pulse rate entry!!!", vbInformation + vbOKOnly, "TBS SOFTWARE" Me.Hide Set kk = Nothing Exit Sub End If Set kk = Nothing DTPicker1.Value = Format$(Now, "dd-MMM-yyyy") Call EmptyTB End Sub Public Function TotalBill() txttotlocal.Text = Val(txtlocal.Text) * Val(txtmtrlocal.Text) txttotmobile.Text = Val(txtmobile.Text) * Val(txtmtrmobile.Text) txttotstd.Text = Val(txtstd.Text) * Val(txtmtrstd.Text) txttotisd.Text = Val(txtisd.Text) * Val(txtmtrisd.Text) sum1 = Val(txttotlocal.Text) + Val(txttotmobile.Text) + Val(txttotstd.Text) + Val(txttotisd.Text) txttot.Text = "Rs. " & sum1 sum3 = Val(txtmonrent.Text) sum2 = sum1 * 0.08 txttax.Text = "Rs. " & Int(sum2) txttot1.Text = "Rs. " & Int(sum1 + sum2 + sum3) txtdue.Text = "Rs. " & Int(sum1 + sum2 + sum3 + 50) End Function Private Sub lblbill_Click() con.Execute "delete from table4" con.Execute "insert into table4 values ('" & Combo1.Text & "','" & txtname.Text & "','" & txtadrs.Text & "','" & Val(txttotlocal.Text) & "','" & Val(txttotmobile.Text) & "','" & Val(txttotstd.Text) & "','" & Val(txttotisd.Text) & "')" Dim reco As Recordset Set reco = New Recordset
reco.Open " select * from table4", con, adOpenDynamic, adLockOptimistic If Not reco.EOF Then With DataReport1 Set .DataSource = reco .Sections("section1").Controls.Item("lbltelno").Caption = Combo1.Text .Sections("section1").Controls.Item("lblname").Caption = txtname.Text .Sections("section1").Controls.Item("lbladrs").Caption = txtadrs.Text .Sections("section1").Controls.Item("lblmtrlocal").Caption = txtmtrlocal.Text .Sections("section1").Controls.Item("lblmtrmobile").Caption = txtmtrmobile.Text .Sections("section1").Controls.Item("lblmtrstd").Caption = txtmtrstd.Text .Sections("section1").Controls.Item("lblmtrisd").Caption = txtmtrisd.Text .Sections("section1").Controls.Item("lblmonrent").Caption = txtmonrent.Text .Sections("section1").Controls.Item("lbltotlocal").Caption = "Rs. " & txttotlocal.Text .Sections("section1").Controls.Item("lbltotmobile").Caption = "Rs. " & txttotmobile.Text .Sections("section1").Controls.Item("lbltotstd").Caption = "Rs. " & txttotstd.Text .Sections("section1").Controls.Item("lbltotisd").Caption = "Rs. " & txttotisd.Text .Sections("section1").Controls.Item("lbltot").Caption = txttot1.Text .Sections("section1").Controls.Item("lbltax").Caption = txttax.Text .Sections("section1").Controls.Item("lblafterdate").Caption = txtdue.Text .Sections("section1").Controls.Item("lbldate").Caption = Format$ (DTPicker1.Value, "dd-MMM-yyyy") .Show End With End If Set reco = Nothing End Sub Private Sub lblexit_Click() Me.Hide MDIForm1.Show End Sub
Private Sub txtmtrlocal_Change() Call TotalBill End Sub Private Sub txtmtrmobile_Change() Call TotalBill End Sub Private Sub txtmtrstd_Change() Call TotalBill End Sub Private Sub txtmtrisd_Change() Call TotalBill End Sub Public Function EmptyTB() Combo1.Text = Empty txtname.Text = Empty txtadrs.Text = Empty txtmtrlocal.Text = Empty txtmtrmobile.Text = Empty txtmtrstd.Text = Empty txtmtrisd.Text = Empty End Function **********Code For frmoptad called by MDIForm1 Form********** Private Sub cmdback_Click() Unload Me MDIForm1.Show End Sub Private Sub cmdok_Click() If Option1.Value Then frmmtrentry.Show: frmoptad.Hide If Option2.Value Then frmratentry.Show: frmoptad.Hide If Option3.Value Then frmeditcust.Show: frmoptad.Hide End Sub
Private Sub Label2_Click() Option1.Value = True End Sub Private Sub Label3_Click() Option2.Value = True End Sub Private Sub Label4_Click() Option3.Value = True End Sub **********Code For frmmtrentry called by frmoptad Form********** Option Explicit Dim choosemoddel As Integer Dim rs As Recordset Dim con As Connection Private Sub err_han() 'Handling the expected errors Dim response As Integer Select Case Err.Number Case -2147467259 Call EDSaveCancel(True, False) Call EDTB(Empty) Call EmptyTB MsgBox "Duplicate Record Entry", vbInformation + vbOKOnly, "TELEBILL SOFTWARE" Case Else If Err.Number <> 0 Then MsgBox Err.Number & " : " & Err.Description End If End Select End Sub Private Sub cmdok_Click() If txtpwd.Text <> "poonampoonam" Then MsgBox "Wrong password entered!!!", vbCritical + vbOKOnly, "TELEBILL SOFTWARE" Call EDPwd(False)
Call EDTB(False) Call EDSaveCancel(True, False) Exit Sub End If Call EDPwd(False) Call EDSaveCancel(False, True) Dim list As ListItem With lvwModDel .ListItems.Clear End With Set rs = New Recordset rs.Open "select * from table3 ", con, adOpenDynamic, adLockOptimistic If rs.BOF Then MsgBox "No Records", vbInformation + vbOKOnly, "TELEBILL SOFTWARE" Call EDSaveCancel(True, False) Else lvwModDel.Visible = True Do While Not rs.EOF Set list = lvwModDel.ListItems.Add list.Text = rs(0) list.SubItems(1) = rs(1) list.SubItems(2) = rs(2) list.SubItems(3) = rs(3) list.SubItems(4) = rs(4) rs.MoveNext Loop End If Set rs = Nothing End Sub Private Sub cmdadd_Click() choosemoddel = 0 Call EDSaveCancel(False, True) Call EDTB(True) Call EmptyTB txtteleno.SetFocus End Sub Private Sub cmdcancel_Click() Call EDTB(False)
Call EDSaveCancel(True, False) lvwModDel.Visible = False Call EmptyTB End Sub Private Sub cmddelete_Click() choosemoddel = 2 Call EDTB(False) Call EDPwd(True) Call EDSaveCancel(False, False) txtpwd.Text = "" txtpwd.SetFocus End Sub Private Sub cmdmodify_Click() choosemoddel = 1 Call EDTB(True) Call EDPwd(True) Call EDSaveCancel(False, False) txtpwd.Text = "" txtpwd.SetFocus End Sub Private Sub cmdsubmit_Click() Dim duplicate As Boolean duplicate = False If txtteleno.Text <> Empty Then If choosemoddel = 1 Then con.Execute "update table3 set mLocal='" & Val(txtlocal.Text) & "',mmobile='" & Val(txtmobile.Text) & "',mSTD='" & Val(txtstd.Text) & "',mISD='" & Val(txtisd.Text) & "'where custphno = '" & txtteleno.Text & "'" MsgBox "Records Modified", vbInformation + vbOKOnly, "TELEBILL SOFTWARE" End If If choosemoddel = 0 Then con.Execute "insert into table3 values('" & txtteleno.Text & "','" & txtlocal.Text & "','" & txtmobile.Text & "','" & txtstd.Text & "','" & txtisd.Text & "')"
MsgBox "Records Inserted Successfully", vbInformation + vbOKOnly, "TELEBILL SOFTWARE" End If Else MsgBox "Check for Empty Boxes", vbInformation + vbOKOnly, "TELEBILL SOFTWARE" End If Call EDSaveCancel(True, False) Call EmptyTB Call EDTB(False) End Sub Private Sub cmdexit_Click() Unload Me frmoptad.Show End Sub Private Sub Form_Activate() Call EDTB(False) Call EDSaveCancel(True, False) Set con = New Connection con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Poonam\tele.mdb';Persist Security Info=False" End Sub Public Function EDSaveCancel(choose As Boolean, choice As Boolean) cmdadd.Enabled = choose cmdmodify.Enabled = choose cmddelete.Enabled = choose cmdcancel.Enabled = choice cmdsubmit.Enabled = choice End Function Public Function EDTB(cho As Boolean) txtteleno.Enabled = cho txtlocal.Enabled = cho txtmobile.Enabled = cho txtstd.Enabled = cho txtisd.Enabled = cho End Function
Public Sub EmptyTB() txtteleno.Text = Empty txtlocal.Text = Empty txtmobile.Text = Empty txtstd.Text = Empty txtisd.Text = Empty End Sub Public Function EDPwd(wish As Boolean) Label7.Visible = wish txtpwd.Visible = wish cmdok.Visible = wish End Function Private Sub lvwModDel_Click() lvwModDel.Visible = False txtteleno.Text = lvwModDel.SelectedItem.Text txtlocal.Text = lvwModDel.SelectedItem.SubItems(1) txtmobile.Text = lvwModDel.SelectedItem.SubItems(2) txtstd.Text = lvwModDel.SelectedItem.SubItems(3) txtisd.Text = lvwModDel.SelectedItem.SubItems(4) If choosemoddel = 2 Then If MsgBox("Are You Sure!!", vbDefaultButton2 + vbYesNo, "TELEBILL SOFTWARE") = vbYes Then con.Execute "delete from table3 where custphno='" & txtteleno.Text & "' and val(mLocal) ='" & txtlocal.Text & "' and val(mmobile) = '" & txtmobile.Text & "'and val(mSTD) ='" & txtstd.Text & "' and val(mISD) ='" & txtisd.Text & "' " End If Call EmptyTB Call EDSaveCancel(True, False) Call EDTB(False) choosemoddel = 0 End If End Sub Private Sub lvwmoddel_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then lvwModDel.Visible = False txtteleno.Text = lvwModDel.SelectedItem.Text txtlocal.Text = lvwModDel.SelectedItem.SubItems(1)
txtmobile.Text = lvwModDel.SelectedItem.SubItems(2) txtstd.Text = lvwModDel.SelectedItem.SubItems(3) txtisd.Text = lvwModDel.SelectedItem.SubItems(4) If choosemoddel = 2 Then If MsgBox("Are You Sure!!", vbDefaultButton2 + vbYesNo, "TELEBILL SOFTWARE") = vbYes Then con.Execute "delete from table2 where telno='" & txtteleno.Text & "' and val(localm) ='" & txtlocal.Text & "' and val(mobile) = '" & txtmobile.Text & "'and val(std) ='" & txtstd.Text & "' and val(isd) ='" & txtisd.Text & "' " End If Call EmptyTB Call EDSaveCancel(True, False) Call EDTB(False) choosemoddel = 0 End If End If End Sub
*******Code For frmratentry called by frmoptad Form********** Option Explicit Dim rs As Recordset Dim con As Connection Private Sub err_han() Text1.Text = "0.00" Text2.Text = "0.00" Text3.Text = "0.00" Text4.Text = "0.00" Text6.Text = "0.00" End Sub Private Sub cmdadd_Click() con.Execute "insert into CALL_RATES values('" & Text1.Text & "','" & Text2.Text & "','" & Text3.Text & "','" & Text4.Text & "','" & Text6.Text & "')" MsgBox "Rate Changed Successfully", vbInformation + vbOKOnly, "TELEBILL SOFTWARE" cmdback.SetFocus End Sub
Private Sub cmdback_Click() frmoptad.Show Unload Me End Sub Private Sub cmdchange_Click() Text5.Visible = True Label6.Visible = True Text5.Text = "" Text5.SetFocus cmdok.Visible = True End Sub Private Sub cmdok_Click() If Text5.Text = "Poonam Kumari" Then con.Execute "delete from CALL_RATES" Text1.Enabled = True Text2.Enabled = True Text3.Enabled = True Text4.Enabled = True Text6.Enabled = True Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text6.Text = "" Text1.SetFocus cmdadd.Enabled = True cmdadd.Visible = True Else MsgBox "Invalid Password, try again!", , "Login" Text5.Visible = False Label6.Visible = False End If cmdok.Visible = False Text5.Visible = False Label6.Visible = False End Sub Private Sub Form_Load() On Error GoTo error_handler
Set con = New Connection con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Poonam Kumari\tele.mdb ';Persist Security Info=False" Set rs = New Recordset rs.Open "select * from CALL_RATES", con, adOpenDynamic, adLockOptimistic cmdadd.Enabled = False cmdadd.Visible = False cmdok.Visible = False Text5.Visible = False Label6.Visible = False Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False Text6.Enabled = False Text1.Text = rs.Fields(0) Text2.Text = rs.Fields(1) Text3.Text = rs.Fields(2) Text4.Text = rs.Fields(3) Text6.Text = rs.Fields(4) error_handler: err_han End Sub *******Code For frmeditcust called by frmoptad Form********** Option Explicit Dim choosemoddel As Integer Dim rs As Recordset Dim con As Connection Private Sub err_han() Dim response As Integer Select Case Err.Number Case -2147467259 Call EDSaveCancel(True, False) Call EDTB(Empty) Call EmptyTB MsgBox "Duplicate Record Entry", vbInformation + vbOKOnly, "TBS SOFTWARE" Case Else
If Err.Number <> 0 Then MsgBox Err.Number & " : " & Err.Description End If End Select End Sub Private Sub cmdok_Click() If txtpwd.Text <> "Poonam Kumari" Then MsgBox "Wrong password entered!!!", vbCritical + vbOKOnly, "TBS SOFTWARE" Call EDPwd(False) Call EDTB(False) Call EDSaveCancel(True, False) Exit Sub End If Call EDPwd(False) Call EDSaveCancel(False, True) Dim list As ListItem With lvwModDel .ListItems.CLEAR End With Set rs = New Recordset rs.Open "select * from CUSTOMER_RECORDS", con, adOpenDynamic, adLockOptimistic If rs.BOF Then MsgBox "No Records", vbInformation + vbOKOnly, "TBS SOFTWARE" Call EDSaveCancel(True, False) Else lvwModDel.Visible = True Do While Not rs.EOF Set list = lvwModDel.ListItems.Add list.Text = rs(0) list.SubItems(1) = rs(1) list.SubItems(2) = rs(2) rs.MoveNext Loop End If Set rs = Nothing End Sub Private Sub cmdsubmit_Click() On Error GoTo error_handler
If txtaddress.Text <> Empty Or txtname.Text <> Empty Then If choosemoddel = 1 Then con.Execute "update CUSTOMER_RECORDS set custname='" & txtname.Text & "',custadd='" & txtaddress.Text & "'where custphno = " & Combo1.Text & "" MsgBox "Records Modified", vbInformation + vbOKOnly, "TBS SOFTWARE" End If Else MsgBox "Check for Empty Boxes", vbInformation + vbOKOnly, "TBS SOFTWARE" End If Call EDSaveCancel(True, False) Call EmptyTB Call EDTB(False) error_handler: err_han End Sub Private Sub cmdexit_Click() Call EmptyTB Unload Me frmoptad.Show End Sub Private Sub cmdmodify_Click() choosemoddel = 1 Call EDTB(True) Call EDPwd(True) Call EDSaveCancel(False, False) txtpwd.Text = "" txtpwd.SetFocus End Sub Private Sub cmddelete_Click() choosemoddel = 2 Call EDTB(False) Call EDPwd(True) Call EDSaveCancel(False, False) txtpwd.Text = "" txtpwd.SetFocus End Sub Private Sub cmdcancel_Click() Call EDTB(False)
Call EDSaveCancel(True, False) lvwModDel.Visible = False Call EmptyTB End Sub Private Sub Combo1_Click() Set rs = New Recordset If rs.State = adStateOpen Then rs.Close End If rs.Open "select * from CUSTOMER_RECORDS WHERE custphno=" + Combo1.Text, con, adOpenDynamic, adLockOptimistic Do While Not rs.EOF txtname.Text = Trim(rs.Fields(1)) txtaddress.Text = Trim(rs.Fields(2)) rs.MoveNext Loop Set rs = Nothing End Sub Private Sub Form_Activate() Call EDTB(False) Call DISPLAY1 Combo1.Refresh Call EDSaveCancel(True, False) End Sub Public Function EDSaveCancel(choose As Boolean, choice As Boolean) cmdmodify.Enabled = choose cmddelete.Enabled = choose cmdcancel.Enabled = choice cmdsubmit.Enabled = choice End Function Public Function EDTB(cho As Boolean) txtname.Enabled = cho txtaddress.Enabled = cho End Function Public Function EDPwd(wish As Boolean) Label5.Visible = wish txtpwd.Visible = wish cmdok.Visible = wish
End Function Public Sub EmptyTB() Call DISPLAY1 txtname.Text = Empty txtaddress.Text = Empty End Sub Private Sub Form_Load() Set con = New Connection con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Poonam Kumari\tele.mdb';Persist Security Info=False" End Sub Private Sub lvwModDel_Click() lvwModDel.Visible = False Combo1.Text = lvwModDel.SelectedItem.Text txtname.Text = lvwModDel.SelectedItem.SubItems(1) txtaddress.Text = lvwModDel.SelectedItem.SubItems(2) If choosemoddel = 2 Then If MsgBox("Are You Sure!!", vbDefaultButton2 + vbYesNo, "TBS SOFTWARE") = vbYes Then con.Execute "delete from CUSTOMER_RECORDS where custphno=" & Combo1.Text & " and custname ='" & txtname.Text & "' and custadd = '" & txtaddress.Text & "'" End If Call EmptyTB Call EDSaveCancel(True, False) Call EDTB(False) choosemoddel = 0 End If End Sub Private Sub lvwmoddel_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then lvwModDel.Visible = False txttelno.Text = lvwModDel.SelectedItem.Text txtname.Text = lvwModDel.SelectedItem.SubItems(1) txtaddress.Text = lvwModDel.SelectedItem.SubItems(2) If choosemoddel = 2 Then If MsgBox("Are You Sure!!", vbDefaultButton2 + vbYesNo, "TBS SOFTWARE") = vbYes Then
con.Execute "delete from CUSTOMER_RECORDS where custphno=" & Combo1.Text & " and custname ='" & txtname.Text & "' and custadd = '" & txtaddress.Text & "'" End If Call EmptyTB Call EDSaveCancel(True, False) Call EDTB(False) choosemoddel = 0 End If End If End Sub Public Sub DISPLAY1() Set rs = New Recordset If rs.State = adStateOpen Then rs.Close End If rs.Open "select custphno from CUSTOMER_RECORDS ", con, adOpenDynamic, adLockOptimistic Combo1.CLEAR Do While Not rs.EOF Combo1.AddItem (rs!custphno) Combo1.Text = rs!custphno rs.MoveNext Loop Set rs = Nothing End Sub **********Code For frmAbout called by MDIForm1 Form********** Private Sub cmdok_Click() Unload Me MDIForm1.Show End Sub Private Sub Timer1_Timer() r = Rnd * 150 g = Rnd * 200 b = Rnd * 150 lblTitle.ForeColor = RGB(r, g, b)
End Sub
**********Code For EXISTING CUSTOMER RECORDS Form********** Option Explicit Dim rs As Recordset Dim rs1 As Recordset Dim con As Connection Private Sub err_han() Dim response As Integer Select Case Err.Number Case 3021 Text1.Text = rs.Fields(0) Text2.Text = rs.Fields(2) Text3.Text = rs.Fields(1) Text4.Text = 0 Text5.Text = 0 Text6.Text = 0 Text7.Text = 0 Case Else If Err.Number <> 0 Then MsgBox Err.Number & " : " & Err.Description End If End Select End Sub Private Sub cmdexit_Click() Call CLEAR Call EDCmd(True) Me.Hide MDIForm1.Show End Sub Private Sub cmdok_Click() Dim match As Boolean match = False
If rs.BOF = True Then rs.MoveFirst End If Do While Not rs.EOF If LCase(Left(rs.Fields(1), 1)) = LCase(Text8.Text) Then match = True Exit Do Else rs.MoveNext End If Loop If match = False Then MsgBox "No such record is there!!!", vbInformation + vbOKOnly, "TELEBILL SOFTWARE" rs.MoveFirst Else Call LocateMtr Call Display End If End Sub Private Sub cmdpre_Click() If rs.BOF Then MsgBox "No more records!!!", vbInformation + vbOKOnly, "TELEBILL SOFTWARE" rs.MoveNext Else rs.MovePrevious End If If Not rs.BOF Then Call LocateMtr Call Display Else Call CLEAR End If End Sub Private Sub cmdnext_Click() If rs.EOF Then MsgBox "End of record!!!", vbInformation + vbOKOnly, "TELEBILL SOFTWARE" rs.MovePrevious
Else rs.MoveNext End If If Not rs.EOF Then Call LocateMtr Call Display Else Call CLEAR End If End Sub Private Sub cmdfirst_Click() rs.MoveFirst Call LocateMtr Call Display End Sub Private Sub cmdlast_Click() rs.MoveLast Call LocateMtr Call Display End Sub Private Sub Form_Activate() Set con = New Connection con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source='C:\Poonam Kumari\tele.mdb ';Persist Security Info=False" Set rs = New Recordset Set rs1 = New Recordset rs.Open "select * from CUSTOMER_RECORDS ", con, adOpenDynamic, adLockOptimistic rs1.Open "select * from CUSTOMER_METER_READING ", con, adOpenDynamic, adLockOptimistic If Not rs.BOF Then Call LocateMtr Call Display Else Call EDCmd(False) End If End Sub Public Function Display()
On Error GoTo error_handler 'Text8.Text = "" Text1.Text = rs.Fields(1) Text2.Text = rs.Fields(0) Text3.Text = rs.Fields(2) Text4.Text = rs1.Fields(1) Text5.Text = rs1.Fields(2) Text6.Text = rs1.Fields(3) Text7.Text = rs1.Fields(4) error_handler: err_han rs.MoveNext End Function Public Function CLEAR() Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" Text5.Text = "" Text6.Text = "" Text7.Text = "" End Function Public Function LocateMtr() On Error GoTo error_handler rs1.MoveFirst Do While Not rs.EOF If rs.Fields(0) = rs1.Fields(0) Then Exit Function End If rs1.MoveNext Loop error_handler: err_han End Function Public Function EDCmd(choice As Boolean) cmdok.Enabled = choice cmdfirst.Enabled = choice cmdpre.Enabled = choice
2. LOGIN FORM
Tele Admin
3. WELCOME FORM
4. MDI Form
5. ENTRY FORM
9. ADMINISTRATIVE FORM
10.
RATE ENTRY
UNIT TESTING
Unit testing focuses verification effort on the smallest unit of software design, the module. It comprises the set of test performed by the programmer prior to integration of the unit into larger system. The testing was carried out during the coding stage itself. In this step each module is found to be working satisfactorily as regards to the expected output from the module.
INTEGRATION TESTING
Integration testing is a systematic technique for constructing the program structure while at the same time conducting tests to uncover error associated within the interface. The objective is to take unit tested modules and build a program structure that has been dictated by design. All modules are combined in this step. The entire program is tested as whole. And chaos in interfaces may usually result. A set of errors is encountered in such a case.
The first one is done where integration is carried out by addition of minor modules to major modules. While Bottom Up integration follows combination of smaller ones to large one. Here Bottom Up Integration was encouraged. Even though correction was difficult because the isolation of causes is complicated by the vastness of the entire program, all the errors found in the system were corrected and then forwarded to the next testing steps.
Software to be developed is planned on the basis of requirement of the user. The problem definition statement description of present situation and goal to be achieved by news system. The success of system depends on how accurately a problem is defined, thoroughly investigated carried out through choice of solution. User need identification and analysis that are concerned with what the uses needs rather than what he/she wants. System explains how to perform specific activities or task, which does what and what.
d) The user can also do several administrative works like managing rates of calls, addition or modification of metered calls & customer entries. It is a computerized system, which can be used very easily & effectively by the administrators of the telephone billing system.
Chapter 9 Bibliography
BIBLIOGRAPHY
The great help from our faculty members and my project guide that led the successful completion of the project. Besides that, I took the help of some books and websites to develop the project. They are : -1. VISUAL BASIC BLACK BOOK --- Steven Holzner 2. MASTERING VISUAL BASIC 6.0 ---- Evangelos Petroutsos SITES :
1. www.a1vbcode.com 2. www.google.co.in