1.2 Synopsis: Vehicle Showroom Management System Describes The Complete Process of Selling A Vehicle To A
1.2 Synopsis: Vehicle Showroom Management System Describes The Complete Process of Selling A Vehicle To A
1.2 Synopsis: Vehicle Showroom Management System Describes The Complete Process of Selling A Vehicle To A
INTRODUCTION
This is a live project which was developed for a local Vehicle Agent. It is useful to the Agent to maintain the Customers details, Sales Details, Company items and Vehicle Details. Vehicle Recognition System, which will cover the following modules The agent will enter the Vehicle No It will help the user to search the vehicle details and the required details of the customer .The agent enters the customer details and maintain company details. Regarding the registration module, it contains the information about newly joined User details like name of the user, password etc. Vehicle Details module contains the details like Name of the Vehicle, send from, send to etc. Billing and Payment Detail will contain the details like Actual Amount to be paid, emir. Searching is having the details of the customer. Any agent will login and search the details of the customer it will show all details like customer Details, vehicle name, payment type etc.
1.2
SYNOPSIS
Vehicle showroom management system describes the complete process of selling a vehicle to a customer from the dealers showroom. Before selling, the vehicle belongs to the fixed asset of the dealers showroom. So the main point of this scenario is posting the vehicle from a fixed asset to a current asset. While executing the process, the dealer can manually maintain the vehicle business transaction type, which means, the vehicle can be set as a new or used vehicle to sell to the customer. This scenario shows the process of new vehicle sales. Vehicle showroom management system is ideal for dealers or resellers of any size. The vehicle showroom control panel can be installed on any Operating System. The product features include: easy stock inventory updates, full user management, photograph uploads, image optimization, marketing reports, and easy installation. This software does not require special templates, frames, coding, or serverside technology.
SYSTEM SPECIFICATION
: : :
Intel Dual Core 1.80 GHz or Above 160 GB with 7200 RPM or Above 1 GB or Above
2.2 SOFTWARE SPECIFICATION Operating System Front End Back End 2.3 SOFTWAREDESCRIPTION : : : Windows XP Professional or Above Visual Basic 6.0 MS Access 2003
FEATURES
Like the BASIC programming language, Visual Basic was designed to be easily learned and used by beginner programmers. The language not only allows programmers to create simple GUI applications, but can also develop complex applications. Programming in VB is a combination of visually arranging components or controls on a form, specifying attributes and actions of those components, and writing additional lines of code for more functionality. Since default attributes and actions are defined for the components, a simple program can be created without the programmer having to write many lines of code. Performance problems were experienced by earlier versions, but with faster computers and native code compilation this has become less of an issue. Although programs can be compiled into native code executables from version 5 onwards, they still require the presence of runtime libraries of approximately 1 MB in size. This runtime is included by default in Windows 2000 and later, but for earlier versions of Windows like 95/98/NT it must be distributed together with the executable.
Forms are created using drag-and-drop techniques. A tool is used to place controls (e.g., text boxes, buttons, etc.) on the form (window). Controls have attributes and event handlers associated with them. Default values are provided when the control is created, but may be changed by the programmer. Many attribute values can be modified during run time based on user actions or changes in the environment, providing a dynamic application. For example, code can be inserted into the form resize event handler to reposition a control so that it remains centered on the form, expands to fill up the form, etc. By inserting code into the event handler for a key press in a text box, the program can automatically translate the case of the text being entered, or even prevent certain characters from being inserted. Visual Basic can create executables (EXE files), ActiveX controls, or DLL files, but is primarily used to develop Windows applications and to interface database systems. Dialog boxes with less functionality can be used to provide pop-up capabilities. Controls provide the basic functionality of the application, while programmers can insert additional logic within the appropriate event handlers. For example, a drop-down combination box will automatically display its list and allow the user to select any element. An event handler is called when an item is selected, which can then execute additional code created by the programmer to perform some action based on which element was selected, such as populating a related list. Alternatively, a Visual Basic component can have no user interface, and instead provide ActiveX objects to other programs via Component Object Model (COM). This allows for serverside processing or an add-in module. The language is garbage collected using reference counting, has a large library of utility objects, and has basic object oriented support. Since the more common components are included in the default project template, the programmer seldom needs to specify additional libraries. Unlike many other programming languages, Visual Basic is generally not case sensitive, although it will transform keywords into a standard case configuration and force the case of variable names to conform to the case of the entry within the symbol table. String comparisons are case sensitive by default, but can be made case insensitive if so desired. The Visual Basic compiler is shared with other Visual Studio languages (C, C++), but restrictions in the IDE do not allow the creation of some targets (Windows model DLLs) and threading models.
ADVANCED FEATURES
Integrate Visual database tools Visual Basic 6.0 provides a complete set of tools for integrating databases with any application. Database features include design tools for creating and modifying Microsoft SQL Server, Oracle 7.3.3 or above, and AS/400 databases. Data Environment designer for data connectivity Visually create reusable record set command objects with drag-and-drop functionality. Bind to multiple data sources for data aggregation and manipulation. Drag and drop creation of data bound forms and reports Using the new Data Environment designer, developers can quickly drag-and-drop custom data-bound controls to create forms; they can create reports with the new Data Report Designer. Creation of custom data hierarchies is as easy as filling out a dialog box and dragging the command to the form. Visual Basic Web class Designer Create server-side applications and components that are easily accessible from any Web browser on any platform. Dynamic HTML Page Designer Develop multimedia-rich applications using the document object model and Dynamic HTML surface as the user interface. New performance enhancements Use new String Functions and features such as "Retain in Memory" to create faster, more scalable applications and components.
COMMAND WINDOW
The command window is an amalgamation of a command line and visual basic immediate window. It has two modes: Command and immediate In command mode, you can enter IDE command names after the angle bracket( >). In immediate mode, you can execute code statements, set or assign variables, evaluate expressions, and more.
PROPERTIES WINDOW
Use this window to view and change the design-time properties and events of selected objects that rare located in editors and designers. You can also use the properties window to edit and view file, project and solution properties. Properties window is available from the view menu.
SOLUTION EXPLORER
Solution explorer provides you with an organize view of your projects and their files as well as ready access to the commands that pertain to them. A toolbar associated with this window offers commonly used commands for the item you highlight in the list. To access solution explorer, select solution explorer on the view menu.
WINDOW MANAGEMENT
Visual Studio makes it easier than ever to view more of your code on-screen at one time.
TOOLS:
We use the controls for getting the input and displaying the output. Some of the controls we include in an application are text boxes, label boxes, command buttons etc. Each type of control has its own set of properties.
LABEL BOX:
Used for text that you dont want the user to change as a caption under a graphics image.
TEXT BOX
Windows forms text boxes are used to get input from the user or to display text. The text box control is generally used for editable text, although it can also be made read only. Text boxes can display multiple lines, wrap text to the size of the control, and add basic formatting.
GROUP BOX
Here frame take into the form group box that is used to provide an identifiable grouping for other controls. Typically, you use group boxes to subdivide a form by functions.
BUTTON
Used to create a button the users can select to carry out a command. If we click the button, an event will take place. Here we can change for color, which is not available in visual basic.
TIMER
Used to trap timer events at set intervals. This control is invisible at runtime.
LIST BOX
Used to display a list of item from which the user can choose one. The list can be scrolled if it has more items then that can be displayed at one time.
COMBO BOX
A Combo Box displays a dieting field combined with a List box, allowing the user to select from the list or to enter new text. The default behavior of Combo Box displays an edit field with a hidden drop-down list.
LIST VIEW
The Windows Forms List-View control displays a list of items with icons. You can use a list view to create a user interface like the right pane of Windows Explorer. The control has four view modes: Large Icon, Small Icon, List and Details.
CONTEXT MENUS
Context menus are used within applications to give users acces tp frequently used commands via a right-click of the mouse. Often, context menus are assigned to controls, and provide particular commands that relate to that specific control.
USES
Microsoft Access is used to create simple database solutions. Access tables support a variety of standard field types, indices, and referential integrity. Access also includes a query interface, forms to display and enter data, and reports for printing. The underlying Jet database, which contains these objects, is multiuser-aware and handles record-locking and referential integrity including cascading, updates and deletes. Simple tasks can be automated through macros with point-and-click options. Microsoft Access is very popular among non-programmers who can create visually pleasing and relatively advanced solutions on their own. It is also easy to place a database on a network and have multiple users share and update data without overwriting each other's work. Data is locked at the record level which is significantly different from Excel which locks the entire spreadsheet.
Microsoft Access also offers the ability for programmers to create solutions using the programming language Visual Basic for Applications (VBA), which is similar to Visual Basic 6.0 (VB6) and used throughout the Microsoft Office programs such as Excel, Word, Outlook and PowerPoint. Most VB6 code including the use of Windows API calls can be used in VBA. Power users and developers can extend basic end-user solutions to a professional solution with advanced automation, data validation, error trapping, and multi-user support. Applications that simply view data or have simple data entry can support considerably more users. Applications that run complex queries or analysis across large datasets would naturally require greater bandwidth and memory. Microsoft Access is designed to scale to support more data and users by linking to multiple Access databases or using a back-end database like Microsoft SQL Server. With the latter design, the amount of data and users can scale to enterprise-level solutions. Microsoft Access' role in web development prior to version 2010 is limited. User interface features of Access, such as forms and reports, only work in Windows. The Microsoft Jet Database Engine, core to Access, can be accessed through technologies such as ODBC or OLE DB. The data (i.e., tables and queries) can be accessed by web-based applications developed in ASP.NET, PHP, or Java.
FEATURES
Users can create tables, queries, forms and reports, and connect them together with macros. Advanced users can use VBA to write rich solutions with advanced data manipulation and user control. The original concept of Access was for end users to be able to "access" data from any source. Other uses include: the import and export of data to many formats including Excel, Outlook, ASCII, dBase, Paradox, FoxPro, SQL Server, Oracle, ODBC, etc. It also has the ability to link to data in its existing location and use it for viewing, querying, editing, and reporting. This allows the existing data to change and the Access platform to always use the latest data. It can perform heterogeneous joins between data sets stored across different platforms. Access is often used by people downloading data from enterprise level databases for manipulation, analysis, and reporting locally. There is also the Jet Database format (MDB or ACCDB in Access 2007) which can contain the application and data in one file. This makes it very convenient to distribute the entire application to another user, who can run it in disconnected environments. One of the benefits of Access from a programmer's perspective is its relative compatibility with SQL (structured query language) queries can be viewed graphically or edited as SQL statements, and SQL statements can be used directly in Macros and VBA Modules to manipulate Access tables. Users can
mix and use both VBA and "Macros" for programming forms and logic and offers object-oriented possibilities. VBA can also be included in queries. Microsoft Access offers parameterized queries. These queries and Access tables can be referenced from other programs like VB6 and .NET through DAO or ADO. From Microsoft Access, VBA can reference parameterized stored procedures via ADO. The desktop editions of Microsoft SQL Server can be used with Access as an alternative to the Jet Database Engine. This support started with MSDE (Microsoft SQL Server Desktop Engine), a scaled down version of Microsoft SQL Server 2000, and continues with the SQL Server Express versions of SQL Server 2005 and 2008. Microsoft Access is a file server-based database. Unlike clientserver relational database management systems (RDBMS), Microsoft Access does not implement database triggers, stored procedures, or transaction logging. Access 2010 includes table-level triggers and stored procedures built into the ACE data engine. Thus a Client-server database system is not a requirement for using stored procedures or table triggers with Access 2010. Tables, queries, Forms, reports and Macros can now be developed specifically for web base application in Access 2010. Integration with Microsoft SharePoint 2010 is also highly improved.
While all Access data can migrate to SQL Server, some queries cannot migrate successfully. In some situations, you may need to translate VBA functions and user defined functions into TSQL or .NET functions / procedures. Crosstab queries can be migrated to SQL Server using the PIVOT command. Microsoft Access has a reputation among IT professionals as not being as economical on server resources when running large query transactions, especially if users force-terminate the application on the client side. Transactions that were running might still be running on the SQL server unbeknownst to the end-user.
PROTECTION
Microsoft Access offers several ways to secure the application while allowing users to remain productive. The most basic is a database password. Once entered, the user has full control of all the database objects. This is a relatively weak form of protection which can be easily cracked. A higher level of protection is the use of workgroup security requiring a user name and password. Users and groups can be specified along with their rights at the object type or individual object level. This can be used to specify people with read only or data entry rights but may be challenging to specify. A separate workgroup security file contains the settings which can be used to manage multiple databases. Databases can also be encrypted. The ACCDB format offers significantly advanced encryption from previous versions. Additionally, if the database design needs to be secured to prevent changes, Access databases can be locked/protected (and the source code complied) by converting the database to an .MDE file. All changes to the VBA project (modules, forms or reports) need to be made to the original MDB and then reconverted to MDE. In Access 2007, the ACCDB database is converted to an ACCDE file. Some tools are available for unlocking and decompiling, although certain elements including original VBA comments and formatting are normally irretrievable.
DATABASE WINDOWS
In Access all, objects a database are stored in a single file and the file name has and MDB extension.
TABLES
Tables are the primary building block of ACCESS database. All datas are stored in tables.
QUERIES
A query is a question that you ask of the data that I stored in the tables of your database.
1.
PROBLEM DESCRIPTION
This project entitled Vehicle Showroom Management System managing the details of employees
working in an organization. This project has the following modules, Login Main Form Employee Details Vehicle Details Purchase Details Customer Details Sales Details Report
LOGIN
The user who has the right privilege to access this application can only work with this. By providing the user name and password to the user, we can manage who can work with application.
MAIN FORM:
This is page contains all other option of this application; user can select the option which one he needs.
EMPLOYEE DETAILS:
This module will contain the details of all existing employee and new employee details including photo, address, contact number, etc.
VEHICLE DETAILS:
This module will handle all the details of vehicles, and their model, size, and price.
PURCHASE DETAILS:
This module will handle the amount details of the purchase of vehicles.
CUSTOMER DETAILS:
This module will help the organization to manage their customer efficiently.
SALES DETAILS:
This module will help us to maintain the vehicle sales details
REPORT
This module will help the organization to get the records in print out format.
3.
SYSTEM ANALYSIS
3.1EXISTING SYSTEM
The HR Administration falls short of controlling the employees activities in analyzing his/her strengths and weakness. The decision nor appraisal of assigning next project to the employee or to train him/her to enhance the skills - where lies with proper projection. He is not provided with the detailed project information done or to be assigned based on Application verticals. DRAWBACKS IN EXISTING SYSTEM Need of extra manual effort. find any employee Not very much accurate. It used to take much time to
4.
Login
Main menu
Employee Details
Vehicle Details
Customer Details
Sales Details
Employ
Vehicl e
Custom er
ee
Purcha se
Sale s
VMS Database
LOGIN TABLE
Data Field User Name Password Type Type Text Text Text
VEHICLE TABLE
Data Field Id Model Name Category Pattern Price Quantity Min Max Type Text Text Text Text Number Number Number Number
PURCHASE TABLE
Data Filed Order Id Date Supplier Address Vehicle Code Details Date Type Text Date Text Text Text Text Date
CUSTOMER TABLE
Date Field Code Name Address Contact Type Number Text Text Number
SALES TABLE
Data Field ID Date Customer Name Vehicle Code Description Price Quantity Amount Discount Total Type Text Date Number Text Text Number Number Number Number Number
2.
IMPLEMENTATION
Implementation is the stage in the project where the theoretical design is turned into a working system and is giving confidence on the new system for the users that it will work efficiently and effectively. It involves careful planning, investigation of the current system and its constraints on implementation, design of methods to achieve the changeover, an evaluation, of change over methods. Testing the developed software with sample data. Debugging of any errors if identified. Creating the files of the system with actual data. Making necessary changes to the system to find out errors.
The implementation process begins with preparing the plan for the implementation for the system. According to this plan, the activities are to be carried out, discussion made regarding the equipment and resources and the additional equipment as to be acquired to implement the new system.
3.
TEST PLAN:
TESTING
Testing presents an interesting challenge for the software engineer. During the earliest definition and development phases, the engineer attempts to build software from the abstract concept to an acceptable implementation. In testing the engineering creates a series of test that are intended to demolish the software that has been built. Testing requires that the developer discard preconceived. Notions of the correctness of the software developed and overcome a conflict of interest that occurs when errors are uncovered.
TESTING OBJECT:
Testing is a process of executing a program with the intent of finding an error. A good case is one that has a probability of finding an undiscovered error. A successful test is one that undiscovered error. There are two main factors that have to be kept in mind. While deciding the test plan time and cost. The testing should consume minimum time and cost and ensures the above objectives are achieved.
UNIT TESTING:
Unit testing focuses verification effort on the smallest unit of software design (i.e.) the module. The unit testing is always white box oriented and the step can be conducted in parallel for modules. The local data structure for a module is a common source for error. Test cases should be designed to uncover error in improper or inconsistent typing.
INTEGRATION TESTING:
Integration testing is a symmetric technique for constructing the program structure while at the same time conducting test to uncover errors associated with interfacing. The objective is to take unit-test modules and build the program that has been dictated by design.
VALIDATION TESTING:
At the end of integration testing, software is completed testing begins. The validation succeeds when software function in a manner that can be reasonably accepted by the customer. An important of validation process is a configuration view.
SYSTEM TESTING:
System testing is a series of different tests whose primary purpose is to fully exercise the computerbased system. Although each test has different purpose, all the work should be verify that all system element has been properly integrated and perform allocated functions.
8.
CONCLUSION
The various process of the development of this system for computerization the administration section
has been completed. It has been a long and tedious journey. With the different aspects of a system falling in please one by one, the writer has crossed the final these hold on the system. Weaving through the of tabling this project, this is mentioned as follows. understanding the problem studying the existing situation designing the best solution building the method to overcome the problems designing the problem
All the hard works make a man to improve. There are so many reports had been produced but this assignment was not meant to be just a simple solution to the problem that was posing this also a foundation stone for something that makes the man of hard work to improve. I sincerely believe that this object has been realized
7. SAMPLE SCREEN
a.
LOGIN SCREEN
SCREEN LAYOUT
MAIN FORM
VEHICLE DETAILS
CUSTOMER DETAILS
CUSTOMER DETAILS
EMPLOYEE DETAILS
6. SOURCE CODE
LOGIN
Option Explicit Dim mb Private Sub cmdEnter_Click() If txtUsername.Text = "admin" And txtPassword.Text = "admin" Then frmMenu.Show Unload Me Else MsgBox "Invalid User Name or Password" End If End Sub Private Sub cmdNew_Click() Unload Me End Sub
MAIN FORM
Private Sub cmdEnter_Click() End Sub Private Sub cmdCustomer_Click() frmCustomer.Show Unload Me End Sub Private Sub cmdInvoice_Click() frmInvoice.Show Unload Me End Sub Private Sub cmdMonthly_Click()
frmMonthly.Show Unload Me End Sub Private Sub cmdOrder_Click() frmPurchase.Show Unload Me End Sub Private Sub cmdTire_Click() frmTire.Show Unload Me End Sub Private Sub Command1_Click() Form1.Show End Sub
VEHICLE DETAILS
Option Explicit Dim mb Private Sub cmdAdd_Click() Adodc4.Recordset.AddNew addupdate Randomize txtCode = "TIR" & Round(Rnd() * 999999) & txtCode + Chr(Round(Rnd() * 25) + 65) End Sub Private Sub cmdCancel_Click() Unload Me frmTire.Show End Sub Private Sub cmdDelete_Click()
Adodc4.Recordset.delete delete End Sub Private Sub cmdReport_Click() Set DataReport1.DataSource = Adodc4 DataReport1.Show frmTire.Enabled = False End Sub Private Sub cmdSave_Click() If Len(txtCategory) > 0 And Len(txtSize) > 0 And Len(txtPattern) > 0 And IsNumeric(txtPrice) = True And Len(txtQuantity) > 0 And Len(txtMin) > 0 And Len(txtMax) > 0 And Val(txtMin) <= Val(txtMax) Then Adodc4.Recordset.UpdateBatch savecancel delete If Val(txtQuantity) > Val(txtMax) Then mb = MsgBox("Reminder: This tire is above its maximum quantity.", vbExclamation, "Yokohama") ElseIf Val(txtQuantity) < Val(txtMin) Then mb = MsgBox("Reminder: This tire is below its minimum quantity.", vbExclamation, "Yokohama") End If Else mb = MsgBox("Invalid data.", vbCritical, "Yokohama") End If
End Sub Private Sub DataGrid1_Click() txtCategory = txtCategory2 txtCategory.SetFocus End Sub Private Sub DataGrid2_Click() txtSize = txtSize2 txtSize.SetFocus End Sub Private Sub DataGrid3_Click() txtPattern = txtPattern2 txtPattern.SetFocus End Sub Private Sub Form_Activate() delete End Sub Private Function addupdate() cmdAdd.Enabled = False cmdUpdate.Enabled = False cmdSave.Enabled = True cmdCancel.Enabled = True cmdDelete.Enabled = False cmdReport.Enabled = False cmdCategory.Enabled = False cmdSize.Enabled = False cmdPattern.Enabled = False DataGrid1.Enabled = True DataGrid2.Enabled = True
DataGrid3.Enabled = True DataGrid4.Enabled = False updQuantity.Enabled = True updMin.Enabled = True updMax.Enabled = True txtPrice.Locked = False End Function Private Function savecancel() DataGrid4.Refresh cmdAdd.Enabled = True cmdUpdate.Enabled = True cmdSave.Enabled = False cmdCancel.Enabled = False cmdReport.Enabled = True cmdCategory.Enabled = True cmdSize.Enabled = True cmdPattern.Enabled = True updQuantity.Enabled = False updMin.Enabled = False updMax.Enabled = False DataGrid1.Enabled = False DataGrid2.Enabled = False DataGrid3.Enabled = False DataGrid4.Enabled = True txtPrice.Locked = True End Function
Private Function delete() DataGrid4.Refresh If Adodc4.Recordset.RecordCount = 0 Then cmdDelete.Enabled = False cmdUpdate.Enabled = False cmdReport.Enabled = False Else cmdDelete.Enabled = True cmdUpdate.Enabled = True cmdReport.Enabled = True End If End Function Private Sub cmdBack_Click() frmMenu.Show Unload Me End Sub Private Sub cmdCategory_Click() frmCategory.Show Unload Me End Sub Private Sub cmdPattern_Click() frmPattern.Show Unload Me End Sub Private Sub cmdSize_Click() frmSize.Show Unload Me End Sub Private Sub Form_Unload(Cancel As Integer)
Adodc4.Recordset.CancelBatch End Sub Private Sub txtCategory2_Change() txtCategory = txtCategory2 End Sub Private Sub txtPattern2_Change() txtPattern = txtPattern2 End Sub Private Sub txtSize2_Change() txtSize = txtSize2 End Sub Private Sub updMax_DownClick() txtMax = Val(txtMax) - 1 If txtMax < 0 Then txtMax = 0 End If txtMax.SetFocus End Sub Private Sub updMax_UpClick() txtMax = Val(txtMax) + 1 txtMax.SetFocus End Sub Private Sub updMin_DownClick() txtMin = Val(txtMin) - 1 If txtMin < 0 Then txtMin = 0 End If
txtMin.SetFocus End Sub Private Sub updMin_UpClick() txtMin = Val(txtMin) + 1 txtMin.SetFocus End Sub Private Sub updQuantity_DownClick() txtQuantity = Val(txtQuantity) - 1 If txtQuantity < 0 Then txtQuantity = 0 End If txtQuantity.SetFocus End Sub Private Sub updQuantity_UpClick() txtQuantity = Val(txtQuantity) + 1 txtQuantity.SetFocus End Sub
PURCHASE DETAILS
Option Explicit Dim mb Private Sub cmdAdd_Click() Adodc4.Recordset.AddNew addupdate Randomize txtCode = "ORD" & Round(Rnd() * 999999) & txtCode + Chr(Round(Rnd() * 25) + 65) txtCode.SetFocus txtDate = Now
End Sub Private Sub cmdCancel_Click() Unload Me frmPurchase.Show End Sub Private Sub cmdDelete_Click() End Sub Private Sub cmdSave_Click() If Len(txtSupplier) > 0 And Len(txtTCode) > 0 And Len(txtQuantity) > 0 Then Adodc4.Recordset.UpdateBatch savecancel cmdSlip.Enabled = True Else mb = MsgBox("Invalid data.", vbCritical, "Yokohama") End If
End Sub Private Sub cmdSlip_Click() If Adodc3.Recordset.RecordCount > 0 Then Adodc3.Recordset.delete End If Adodc3.Recordset.AddNew txtCode2 = txtCode txtSupplier3 = txtSupplier txtAddress3 = txtAddress txtTCode3 = txtTCode txtSize3 = txtSize txtDate2 = txtDate txtQuantity2 = txtQuantity Adodc3.Recordset.UpdateBatch
Set DataReport3.DataSource = Adodc3 DataReport3.Show frmPurchase.Enabled = False End Sub Private Sub cmdSupplier_Click() frmSupplier.Show Unload Me End Sub Private Sub Command1_Click() End Sub Private Sub DataGrid1_Click() txtSupplier = txtSupplier2 txtAddress = txtAddress2 End Sub Private Sub DataGrid2_Click() txtTCode = txtTCode2 txtSize = txtSize2 End Sub Private Function addupdate() cmdAdd.Enabled = False cmdSave.Enabled = True cmdCancel.Enabled = True cmdSupplier.Enabled = False cmdSlip.Enabled = False DataGrid1.Enabled = True DataGrid2.Enabled = True DataGrid4.Enabled = False
updQuantity.Enabled = True End Function Private Function savecancel() DataGrid4.Refresh cmdAdd.Enabled = True cmdSave.Enabled = False cmdCancel.Enabled = False cmdSupplier.Enabled = True cmdSlip.Enabled = True DataGrid1.Enabled = False DataGrid2.Enabled = False DataGrid4.Enabled = True updQuantity.Enabled = False End Function Private Sub cmdBack_Click() frmMenu.Show Unload Me End Sub Private Sub Form_Activate() If Adodc4.Recordset.RecordCount = 0 Then cmdSlip.Enabled = False End If
Private Sub txtAddress2_Change() txtAddress = txtAddress2 End Sub Private Sub txtSize2_Change() txtSize = txtSize2 End Sub Private Sub txtSupplier2_Change() txtSupplier = txtSupplier2 End Sub Private Sub txtTCode2_Change() txtTCode = txtTCode2 End Sub Private Sub updQuantity_DownClick() txtQuantity = Val(txtQuantity) - 1 If txtQuantity < 0 Then txtQuantity = 0 End If End Sub Private Sub updQuantity_UpClick() txtQuantity = Val(txtQuantity) + 1 txtQuantity.SetFocus End Sub
CUSTOMER DETAILS
Option Explicit Dim mb Private Sub cmdAdd_Click() Adodc1.Recordset.AddNew addupdate Randomize txtCode = "CUS" & Round(Rnd() * 999999) & txtCode + Chr(Round(Rnd() * 25) + 65) End Sub Private Sub cmdBack_Click() frmMenu.Show Unload Me End Sub Private Sub cmdCancel_Click() Unload Me frmCustomer.Show End Sub Private Sub cmdDelete_Click() Adodc1.Recordset.delete delete End Sub Private Sub cmdReport_Click() Set DataReport4.DataSource = Adodc1 DataReport4.Show frmCustomer.Enabled = False End Sub
Private Sub cmdSave_Click() If Len(txtName) > 0 And Len(txtAddress) > 0 And Len(txtNumber) > 0 Then Adodc1.Recordset.UpdateBatch savecancel delete Else mb = MsgBox("Invalid data.", vbCritical, "Yokohama") txtName.SetFocus End If End Sub Private Sub cmdUpdate_Click() addupdate End Sub Private Sub Form_Activate() delete End Sub Private Function addupdate() cmdAdd.Enabled = False cmdUpdate.Enabled = False cmdSave.Enabled = True cmdCancel.Enabled = True cmdDelete.Enabled = False cmdReport.Enabled = False txtName.Locked = False txtAddress.Locked = False txtNumber.Locked = False txtName.SetFocus SendKeys "{Home}+{End}"
Adodc1.Enabled = False DataGrid1.Enabled = False End Function Private Function savecancel() DataGrid1.Refresh cmdAdd.Enabled = True cmdSave.Enabled = False cmdCancel.Enabled = False txtName.Locked = True txtAddress.Locked = True txtNumber.Locked = True End Function Private Function delete() DataGrid1.Refresh If Adodc1.Recordset.RecordCount = 0 Then Adodc1.Enabled = False DataGrid1.Enabled = False cmdDelete.Enabled = False cmdUpdate.Enabled = False cmdReport.Enabled = False Else Adodc1.Enabled = True DataGrid1.Enabled = True cmdDelete.Enabled = True cmdUpdate.Enabled = True cmdReport.Enabled = True End If End Function
SALES DETAILS
Option Explicit Dim mb, monthx Private Sub cmdAdd_Click() If Adodc4.Recordset.RecordCount > 0 Then Adodc4.Recordset.delete End If Adodc3.Recordset.AddNew addupdate Randomize txtCode = "INV" & Round(Rnd() * 999999) & txtCode + Chr(Round(Rnd() * 25) + 65) txtDate = Now End Sub Private Sub cmdCancel_Click() Unload Me frmInvoice.Show End Sub Private Sub cmdCompute_Click() If Val(txtPaid) >= Val(txtTotal) And IsNumeric(txtPaid) = True Then txtChange = Val(txtPaid) - Val(txtTotal) cmdCompute.Enabled = False cmdSave.Enabled = True Else mb = MsgBox("Invalid data.", vbCritical, "Yokohama") End If
End Sub Private Sub cmdDelete_Click() Adodc3.Recordset.delete delete End Sub Private Sub cmdReceipt_Click() If Adodc4.Recordset.RecordCount > 0 Then Adodc4.Recordset.delete End If Adodc4.Recordset.AddNew txtCode2 = txtCode txtDate2 = txtDate txtName3 = txtName txtAddress3 = txtAddress txtTireCode3 = txtTireCode txtDescription3 = txtDescription txtPrice3 = txtPrice txtQuantity2 = txtQuantity txtAmount2 = txtAmount txtDiscount2 = txtDiscount txtTotal2 = txtTotal txtPaid2 = txtPaid txtChange2 = txtChange Adodc4.Recordset.UpdateBatch Set DataReport2.DataSource = Adodc4 DataReport2.Show frmInvoice.Enabled = False End Sub Private Sub cmdSave_Click() If Len(txtName) > 0 Then Adodc2.Recordset.UpdateBatch
Adodc3.Recordset.UpdateBatch savecancel If Month(Now) = 1 Then monthx = "January" ElseIf Month(Now) = 2 Then monthx = "February" ElseIf Month(Now) = 3 Then monthx = "March" ElseIf Month(Now) = 4 Then monthx = "April" ElseIf Month(Now) = 5 Then monthx = "May" ElseIf Month(Now) = 6 Then monthx = "June" ElseIf Month(Now) = 7 Then monthx = "July" ElseIf Month(Now) = 8 Then monthx = "August" ElseIf Month(Now) = 9 Then monthx = "September" ElseIf Month(Now) = 10 Then monthx = "October" ElseIf Month(Now) = 11 Then monthx = "November" ElseIf Month(Now) = 12 Then monthx = "December" End If Adodc5.Recordset.Find "Month=" & "'" & monthx & "'" If Len(txtMonth) > 0 And Year(Now) = txtYear Then txtEarnings = Val(txtEarnings) + Val(txtTotal) txtEarnings.SetFocus Adodc5.Recordset.UpdateBatch Else Adodc5.Recordset.AddNew
txtMonth = monthx txtYear = Year(Now) txtEarnings = txtTotal Adodc5.Recordset.UpdateBatch End If cmdReceipt.Enabled = True Else mb = MsgBox("Invalid data.", vbCritical, "Yokohama") End If End Sub Private Sub cmdTotal_Click() If Len(txtPrice) > 0 And Len(txtQuantity) > 0 And Len(txtDiscount) > 0 And Val(txtAvailable) >= Val(txtQuantity) Then txtAmount = Val(txtPrice) * Val(txtQuantity) txtTotal = Val(txtAmount) - Val(txtAmount) * Val(txtDiscount) / 100 txtAvailable = Val(txtAvailable) - Val(txtQuantity) txtAvailable.SetFocus txtPaid.Locked = False cmdCompute.Enabled = True cmdTotal.Enabled = False updQuantity.Enabled = False updDiscount.Enabled = False DataGrid2.Enabled = False If Val(txtAvailable) > Val(txtMax) Then mb = MsgBox("Reminder: This tire is above its maximum quantity.", vbExclamation, "Yokohama") ElseIf Val(txtAvailable) < Val(txtMin) Then mb = MsgBox("Reminder: This tire is below its minimum quantity.", vbExclamation, "Yokohama") End If Else mb = MsgBox("Invalid data.", vbCritical, "Yokohama")
End If
End Sub Private Sub DataGrid1_Click() txtName = txtName2 txtAddress = txtAddress2 End Sub Private Sub DataGrid2_Click() txtTireCode = txtTireCode2 txtDescription = txtDescription2 txtPrice = txtPrice2 End Sub Private Function addupdate() cmdAdd.Enabled = False cmdCancel.Enabled = True cmdTotal.Enabled = True cmdReceipt.Enabled = False DataGrid1.Enabled = True DataGrid2.Enabled = True DataGrid3.Enabled = False updQuantity.Enabled = True updDiscount.Enabled = True txtPaid.Locked = False End Function Private Function savecancel() DataGrid3.Refresh cmdAdd.Enabled = True
cmdSave.Enabled = False cmdCancel.Enabled = False cmdReceipt.Enabled = True DataGrid1.Enabled = False DataGrid3.Enabled = True updQuantity.Enabled = False End Function Private Sub cmdBack_Click() frmMenu.Show Unload Me End Sub Private Sub Form_Activate() If Adodc4.Recordset.RecordCount = 0 Then cmdReceipt.Enabled = False End If End Sub Private Sub Form_Unload(Cancel As Integer) Adodc2.Recordset.CancelBatch Adodc3.Recordset.CancelBatch End Sub Private Sub txtAddress2_Change() txtAddress = txtAddress2 End Sub Private Sub txtDescription2_Change() txtDescription = txtDescription2 End Sub Private Sub txtName2_Change() txtName = txtName2
End Sub Private Sub txtPrice2_Change() txtPrice = txtPrice2 End Sub Private Sub txtTireCode2_Change() txtTireCode = txtTireCode2 End Sub Private Sub updDiscount_Change() txtDiscount = updDiscount End Sub Private Sub updQuantity_DownClick() txtQuantity = Val(txtQuantity) - 1 txtQuantity.SetFocus If txtQuantity < 0 Then txtQuantity = 0 End If End Sub Private Sub updQuantity_UpClick() txtQuantity = Val(txtQuantity) + 1 txtQuantity.SetFocus End Sub
EMPLOYEE DETAILS
Dim adoconn As New ADODB.Connection Dim rs As New ADODB.Recordset Private Declare Function ShellExecute Lib _ "shell32.dll" Alias "ShellExecuteA" _ (ByVal hWnd As Long, _ ByVal lpOperation As String, _
ByVal lpFile As String, _ ByVal lpParameters As String, _ ByVal lpDirectory As String, _ ByVal nShowCmd As Long) As Long Private SW_SHOWNORMAL
Private Sub cmdAdd_Click() rs.AddNew txtNo.Text = "" txtName.Text = "" txtCity.Text = "" txtDob.Text = "" txtPhone.Text = "" cmdFirst.Enabled = False cmdLast.Enabled = False cmdNext.Enabled = False cmdPrevious.Enabled = False cmdDelete.Enabled = False cmdSearch.Enabled = False cmdUpdate.Enabled = False cmdAdd.Visible = False cmdSave.Visible = True End Sub Private Sub cmdDelete_Click() Dim ans As String, str As String ans = MsgBox("Do you really want to delete the current record?", vbExclamation + vbYesNo, "DELETE") If ans = vbYes Then adoconn.Execute ("delete from emp where e_no=" & txtNo.Text) MsgBox ("The record has been deleted successfully.") Set rs = Nothing str = "select * from emp" rs.Open str, adoconn, adOpenDynamic, adLockPessimistic rs.MoveFirst txtNo.Text = rs(0)
txtName.Text = rs(1) txtCity.Text = rs(2) txtDob.Text = rs(4) txtPhone.Text = rs(3) End If End Sub Private Sub cmdFirst_Click() rs.MoveFirst txtNo.Text = rs(0) txtName.Text = rs(1) txtCity.Text = rs(2) txtDob.Text = rs(4) txtPhone.Text = rs(3) End Sub Private Sub cmdLast_Click() rs.MoveLast txtNo.Text = rs(0) txtName.Text = rs(1) txtCity.Text = rs(2) txtDob.Text = rs(4) txtPhone.Text = rs(3) End Sub Private Sub cmdNext_Click() rs.MoveNext If rs.EOF = True Then MsgBox "This is the last record.", vbExclamation, "Note it..." rs.MoveLast End If txtNo.Text = rs(0) txtName.Text = rs(1) txtCity.Text = rs(2) txtDob.Text = rs(4) txtPhone.Text = rs(3) End Sub
Private Sub cmdPrevious_Click() rs.MovePrevious If rs.BOF = True Then MsgBox "This is the first record.", vbExclamation, "Note it..." rs.MoveFirst End If txtNo.Text = rs(0) txtName.Text = rs(1) txtCity.Text = rs(2) txtDob.Text = rs(4) txtPhone.Text = rs(3) End Sub Private Sub cmdSave_Click() rs(0) = txtNo.Text rs(1) = txtName.Text rs(2) = txtCity.Text rs(4) = txtDob.Text rs(3) = txtPhone.Text rs.Update MsgBox "The record has been saved successfully.", , "ADD" cmdFirst.Enabled = True cmdLast.Enabled = True cmdNext.Enabled = True cmdPrevious.Enabled = True cmdDelete.Enabled = True cmdSearch.Enabled = True cmdUpdate.Enabled = True cmdSave.Visible = False cmdAdd.Visible = True End Sub Private Sub cmdSearch_Click() Dim key As Integer, str As String key = InputBox("Enter the Employee No whose details u want to know: ")
Set rs = Nothing str = "select * from emp where e_no=" & key rs.Open str, adoconn, adOpenForwardOnly, adLockReadOnly txtNo.Text = rs(0) txtName.Text = rs(1) txtCity.Text = rs(2) txtDob.Text = rs(4) txtPhone.Text = rs(3) Set rs = Nothing str = "select * from emp" rs.Open str, adoconn, adOpenDynamic, adLockPessimistic End Sub Private Sub cmdUpdate_Click() Dim ans As String ans = MsgBox("Do you really want to modify the current record?", vbExclamation + vbYesNo, "DELETE") If ans = vbYes Then rs.Update cmdFirst.Enabled = False cmdLast.Enabled = False cmdNext.Enabled = False cmdPrevious.Enabled = False cmdDelete.Enabled = False cmdSearch.Enabled = False cmdUpdate.Enabled = False cmdSave.Visible = True cmdAdd.Visible = False End If End Sub
Me.Caption = "Company Database" Set adoconn = Nothing adoconn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=db1.mdb;Persist Security Info=False" str = "select * from emp" rs.Open str, adoconn, adOpenDynamic, adLockPessimistic rs.MoveFirst txtNo.Text = rs(0) txtName.Text = rs(1) txtCity.Text = rs(2) txtDob.Text = rs(4) txtPhone.Text = rs(3) End Sub Private Sub Label6_Click() ShellExecute Me.hWnd, _ vbNullString, _ "http://zsoftwares.googlepages.com/VBprograms.htm", _ vbNullString, _ "c:\", _ SW_SHOWNORMAL End Sub
8.FUTURE ENHANCEMENT
In every Organization, computerization plays the most important role in day-to-day activities. The computerization of inventory system is reliable and very easy to use. It saves a lot of time and is very efficient. The flexibility of the program developed is quite high. The use of computerization with the project has very little chance of committing any data entry error since it has enough validation check. The system is flexible and changes can be made without any difficulties. The system is tested with possible sample data before any valid data is inputted. The system has been developed to do most of the transactions. The manual system resulted in loss of time as well as errors in transactions that resulted in minor loss. The system has been developed using Visual Basic with the help of MS-Access, the system was able to process and update the database with more ease. It helped in developing a total integrated system. The successful completion of the system resulted in: Elimination of manual processing The system is user friendly with GUI & tool tip help Fast data processing compared to manual processing More security Generation of reports
9.BIBLIOGRAPHY
Brian Siler and Jeff Spots, Special Edition Using Basic 6, prentice Hall of India Private Limited, New Delhi-110001, 2005. T. Vinayan, Visual Basic 6 for Beginners, McGraw Hall Company , Reprint: 2005, Mumbai. David Mchartz, Microsoft Visual Basic 6.0 , Hungry minds, Inc, 909 Third Avenue, New Delhi.
WEB REFERENCES:
www.wiley.com /WileyCDA/WileyTitle/productCd-0782122833.html www.pdfoo.com/result--visual-basic-handbook.html http://en.wikipedia.org/wiki/visual_Basic