Stock maintenance system
ABSTRACT
Stock maintenance system The main objective of this project is to overcome the work load and time consumption which makes the maintenance of the stock in an organization as a tedious process. This project provides complete information about the details of the stock to the users. This project identifies the amount of stock available,the product that is purchased faults in the product,products that are are replaced,products that that have been sold,and the date at which the products are bought and sold in a particular concern.Separate modules have been created for purchasing, viewing stock details,selling, details and delivery details.As a whole ,marketing process can be improved if stock has been maintained maintained properly. This project is developed with help of visual basic 6.0 as a front front end and oracle 9i as back end. The application software Rational Rose is also used.
I
CONTENTS
Stock maintenance system The main objective of this project is to overcome the work load and time consumption which makes the maintenance of the stock in an organization as a tedious process. This project provides complete information about the details of the stock to the users. This project identifies the amount of stock available,the product that is purchased faults in the product,products that are are replaced,products that that have been sold,and the date at which the products are bought and sold in a particular concern.Separate modules have been created for purchasing, viewing stock details,selling, details and delivery details.As a whole ,marketing process can be improved if stock has been maintained maintained properly. This project is developed with help of visual basic 6.0 as a front front end and oracle 9i as back end. The application software Rational Rose is also used.
I
CONTENTS
Stock maintenance system
S.No
Title
Abstracts
List of figures List of tables Introduction 1.
1.1 problem 1.2 problem definition System tools
2.
2.1 MS-VISUAL basic 2.2 ORACLE9i Methodology
3.
3.1 concept 3.2 database connectivity System requirement
4.
4.1 hardware requirement 4.2 software requirement System modules 5.1 structural diagram 5.1.1 use case diagram 5.1.2 class diagram 5.1.3 state diagram 5.1.4 activity diagram
5.
5.1.5 sequence diagram 5.1.6 collaboration diagram 5.2 module diagram 5.2.1 stock module 5.2.2 sales module 5.2.3 delivery module 5.2.4 replacing the fault module
6.
Implementation Implementation and result
Page No I II III
Stock maintenance system
LIST OF FIGURES FIG NO
TITLE OVER ALL DIAGRAM
1.
USE CASE DIAGRAM
2.
CLASS DIAGRAM
3.
STATE DIAGRAM
4.
ACTIVITY DIAGRAM
5.
SEQUENCE DIAGRAM
6.
COLLABORATION DIAGRAM STOCK MODULE
1.
USE CASE DIAGRAM
2.
CLASS DIAGRAM
3.
STATE DIAGRAM
4.
ACTIVITY DIAGRAM
5.
SEQUENCE DIAGRAM
6.
COLLABORATION DIAGRAM
PAGE NO
Stock maintenance system SALES MODULE
1.
USE CASE DIAGRAM
2.
CLASS DIAGRAM
3.
STATE DIAGRAM
4.
ACTIVITY DIAGRAM
5.
SEQUENCE DIAGRAM
6.
COLLABORATION DIAGRAM DELIVERY MODULE
1.
USE CASE DIAGRAM
2.
CLASS DIAGRAM
3.
STATE DIAGRAM
4.
ACTIVITY DIAGRAM
5.
SEQUENCE DIAGRAM
6.
COLLABORATION DIAGRAM
REPLASEING THE FAULT MODULE 1.
USE CASE DIAGRAM
2.
CLASS DIAGRAM
3.
STATE DIAGRAM
4.
ACTIVITY DIAGRAM
5.
SEQUENCE DIAGRAM
6.
COLLABORATION DIAGRAM
Stock maintenance system
II
LIST OF TABLES TABLE NO
TITLE
PAGE NO
1.
STOCK MODULE
2.
SALES MODULE
3.
DELIVERY MODULE
4.
REPLACING THE FAULTS MODULE
Stock maintenance system
III
1. INTRODUCTION 1.1 PROBLEM Stock Maintenance gives an idea about how products are maintained in the particular concern. The products that are to be purchased, the products that are to be sold are maintained here. This project also gives idea about the faults in the purchased product and the products that are to be replaced also been given. Further some additional details of the current stock that is available in the store is also given. Stock maintenance in this project is done in an authorized way. The password and user id has been set here. As a whole the marketing marketing process can be improved if the stock
is
maintained properly.
1.2PROBLEM DEFINITION: The stock has to be maintained properly since the whole marketing process can be improved. Stock maintenance in this project gives the idea about ho w products are maintained in a particular concern. The stock details which includes the amount of stock available, the stock is to be purchased, the date or the time it is being bought or delivered, the amount that is already available are maintained in this project.
Stock maintenance system The stock maintenance in this project is understood by goin through the modules that is being involved. The whole economic status is being improved properly if stock is maintained.
Stock maintenance system
2. SOFTWARE TOOLS 2.1 MS-VISUAL BASIC: Visual Basic 6.0 is fastest and easiest way to create single user and client/server applications for Microsoft Windows. Windows. Visual Basic 6.0 provides complete set of tools to simplify rapid application development both for the experienced professional and new windows programmers.The “Visual” part refers to the method used to create Graphical User Interface.The “Basic” part
refers to the BASIC language used by more
programmers than any other language in the history of computing. It is an ideal programming language for developing sophisticated professional applications for Microsoft.
2.2 ORACLE 9i: Oracle 9i makes most necessary conversion to the code automatically when we convert our data base. However the conversion process makes some changes to code that need to aware of, and there are some additional changes that must made in order to run the application successfully in oracle.
3. METHODOLOGY
Stock maintenance system
3.1 CONCEPT Storing of information about the stock values and updating the stock values for each organization which is using this system, keeps track of all the information about the stock exchange that are made by the customers, having registration feature of adding up new customers to the organization are provided in this system.
3.2 DATABASE CONNECTIVITY: The front end used for implementation of this project is Visual Basic 6.0 and the back end that is used for this project is Oracle9i.The database connectivity between Visual Basic 6..0 and oracle9i is provided by using Microsoft
ADO Data control
6.0(OLEDB). Thus the project makes use of the internal feature of ADODC for communicating with the database and this is responsible for transfer of data to and from the table from and to the front end. A term used to a database or database server used as a source of data. ODBC data source are referred to by their Data Source Name (DSN). Data sources can be created by using the windows control panel or the register database method. A standard protocol that permits application to connect to a variety of external database servers or files. ODBC drivers used by the Microsoft database engine permit access to Microsoft SQL server and several other databases. To add ADO data control to the toolbox go to the components and select Microsoft ado Data control 6.0(OLEDB). There are three different options insetting connection string. They are as follows 1. Use data link file
: any data link file already stored can be specified.
2. Use ODBC Data source name
: any ODBC DSN can be specified.
3. Use connection string
: choose build to create a new connection String specifying the OLEDB provider.
4.SYSTEM REQUIREMENT 4.1 Hardware Requirements:
Stock maintenance system
Processor
:
Intel Pentium III or later.
CPU Speed
:
1.0 GHZ
Strorage Capacity
:
20 GB
RAM Capacity
:
512 MB
4.2 Software Requirements: Front End
:
VISUAL BASIC 6.0
Back End
:
Oracle 9i
Operating System
:
Windows Family
Application Software
:
Rational Rose
5.SYSTEM MODULES 5.1 STRUCTURE DIAGRAM OVERALL DIAGRAM 5.1.1 USE CASE DIAGRAM: Use case diagram is a diagram that shows the interaction between the user and the system to captures the user’s goal.
Stock maintenance system
5.1.2 CLASS DIAGRAM:
Class diagram or object modeling is a collection of static elements such as classes, their relationships connected as a graph to each other.
Stock maintenance system
S TO R E K E EPER a d d re s s p hone no
US E R nam e a d d re s s
O RD E R
re q u e s t () p u rc h a s e ()
D E A LE R
p ric e am ount
nam e ad d re s s
d is p a t c h () c lo s e ()
s e n d s p ri c e d e ta i ls () re q u e s t re p l a c in g d e fe c t e d it e m s ()
DB M A NA GE R u p d a te () d is p la y ()
O R D E R L IN E
C O M P A NY M A NA G E R
q u a n tit y p ric e
id a d d re ss s up p ly it e m s ()
Fig 1.2
5.1.3 STATE DIAGRAM: State diagram shows that the sequence of states that an object goes through during its life in response to outside stimuli and messages.
Stock maintenance system
5.1.4 ACTIVITY DIAGRAM Activity diagram is a variation or special case of a state machine in which the states are activities representing the performance of operations and the transitions are triggered by the completion of the operations.
create requirement fromcustomer
check availablity receive payroll
sup p p ly products
request and
receiveitem
yes
no
check for damage
replace damaged items
Fig 1.4
Stock maintenance system
5.1.5 SEQUENCE DIAGRAM: Sequence diagram is an easy and intuitive way of describing the behaviour of a system by viewing the interaction between the system and its environment.
USER
ORDER
DEALER
SHOP KEEPER
COMPANY
DBMANAGER
request for item
checkfor availablity
update prodect details
order items
askfor quotation
sendprice details
capturedeal
dispatch product
request for delivery
request for customer details
send customer details
update delivery detail
complain about defect detail of defect
request for replacingrefecteditems
replacedefect
replacedeliver item
closeorder
Fig 1.5
Stock maintenance system
5.1.5 COLLABORATION DEIAGRAM: Colloboration diagram represents a collaboration, which is a set of objects related in a particular context and interaction,which is a set of exchanged amongt the objects with in the collaboration to achieve a desired outcome.
9 : re q u e s t fo r d e live ry 1 3 : c o m p l a in a b o ut d e fe c t
S H O P KE EPER
USER 1 : r e q u e s t fo r i t e m
ORD E R
1 1 : s e n d c u s to m e r d e t a i ls
6 : s e n d p ri c e d e t a i ls 1 7 : r e p la c e d e l iv e r it e m 2 : c h e c k fo r a va i la b li t y
1 0 : re q u e s t fo r c u s t o m
1 8 : c lo s e o rd e r 4 : o r d e r it e m s
5 : a s k fo r q u o t a t io n 7 : c a p t u re d e a l 8 : d i s p a t c h p r o d u c1 t4 : d e t a i l o f d e fe c t
3 : u p d a te p r o d e c t d e t a i ls 1 2 : u p d a te d e l ive ry d e t a il
D B M A NAG E R
1 5 : r e q u e s t fo r r e p l a c i n g r e fe c t e d i t e m s
DE AL E
R
COMPAN Y 1 6 : r e p la c e d e fe c t
Fig 1.6
Stock maintenance system
5.2 MODULE DIAGRAM Class diagram or object modeling is a collection of static elements such as classes, their relationships connected as a graph to each other.
5.2.1 STOCK MODULE: USE CASE DIAGRAM
Stock maintenance system
CLASS DIAGRAM: USER
STORE KEEPER
name ad d dress
user id password
complain() purchase()
deliver() senddefects details()
DEALER
ORDER
name address
price amount
replace() request return()
dispatch() close()
DB MANAGER update details() display details()
COMPANY name ad d dress sup p p lyitems() set limit()
Fig 2.2
STATE DIAGRAM:
Stock maintenance system
ACTIVITY DIAGRAM:
SEQUENCE DIAGRAM:
COLLABORATION DIAGRAM:
Stock maintenance system
5.2.2 SALES MODULE:
USE CASE DIAGRAM:
price deal
DEALER
verify price
STORE KEEPER
capturedeal
set limit
update product details
DB MANAGER
COMPANY
MANAGER
Fig 2.7
Stock maintenance system
CLASS DIAGRAM: COM PANY
DE ALE R
ORDER
name addres s
name addres s
price am ount
supply items()
replace()
dispatc h()
set lim it()
request return()
clos e()
STORE KEEP ER user id
DB MA NAGER
pas sword update details()
dis play details()
deli ver() send defec ts details()
Fig 2.8
STATE DIAGRAM:
Stock maintenance system
ACTIVITY DIAGRAM:
SEQUENCE DIAGRAM:
COLLABORATION DIAGRAM:
Stock maintenance system
5.2.3 DELIVERY MODULE: USE CASE DIAGRAM:
as ks for produc t
STORE KEE PER
sends the produc t
US ER
rec eive pay m ent update product's delivery details
DB MANAGE R
Fig 2.13
CLASS DIAGRAM:
USER name a d d re s s
c o m p la i n ( ) p u rc h a s e ()
STORE KE EPER u s e r id p a s s w o rd
d e live r () s e n d d e fe c t s d e t a i l s ( ) Fig 2.14
DB M ANA GE u p d a t e d e t a ils d is p la y d e t a ils
Stock maintenance system
STATE DIAGRAM:
ACTIVITY DIAGRAM:
Stock maintenance system
COLLABORATION DIAGRAM:
Stock maintenance system
5.2.4 REPLACING THE FAULT MODULE: USE CASE DIAGRAM:
DB MANA GE R
details about defec t
DEALE R
update details
complaints about defect
STORE KEEP E R
replaces the defect
reques ts for returern t urn another produc t
USER COM PA NY M A NAGE R
fig 2.18
Stock maintenance system
CLASS DIAGRAM:
USER
STORE KEEPER
name ad d d ress
user id password
complain() purchase()
deliver() send defects details()
DEALER name ad d d ress
DB MANAGER updatedetails() display details()
replace() request return()
COMPANY MANAGER replaceproduct()
Fig 2.19
STATE DIAGRAM:
Stock maintenance system
ACTIVITY DIAGRAM:
COLLABORATION DIAGRAM:
Stock maintenance system
6.IMPLEMENTATION AND RESULT: LOGIN FORM:
Fig 6.1
OUTPUT:
Fig 6.2
CODING: Private Sub cmdCancel_Click() LoginSucceeded = False Unload Me End Sub Private Sub cmdOK_Click() If (txtUserName.Text = "") Then MsgBox "Enter a valid Username", vbCritical + vbOKOnly, "Error" ElseIf (txtPassword.Text = "") Then
Stock maintenance system MsgBox "Enter a valid Password", vbCritical + vbOKOnly, "Error" End If rs.Close rs.Open "Select Passwd from Login where uname = '" & txtUserName.Text & "'", db, 1, 2 If rs.EOF = True Then 'If Search is found MsgBox "User not found", vbCritical + vbOKOnly, "Error" Else If (rs.Fields("Passwd") <> txtPassword.Text) Then MsgBox "Invalid Password", vbCritical + vbOKOnly, "Error" txtPassword.Text = "" txtPassword.SetFocus Else user = txtUserName.Text If (txtUserName.Text = "admin") Then userAdmin = True Text1.Text = True frmLogin.Hide frmmsg.Label1.Caption = "welcome to Stock Maintenance System" frmmsg.Show End If End If End Sub
MAIN FROM:
Stock maintenance system
Fig :6.3
Stock maintenance system
STOCK MAINTENANCE:
Fig 6.4
UPDATE:
Stock maintenance system
Fig :6.5
NEW ENTRY:
Fig 6.6
Stock maintenance system
SHOW ALL:
Fig :6.7
CODING: Dim date1 As Date Dim temp, q, p As Integer Dim db As New ADODB.Connection Dim rs As New ADODB.Recordset Private Sub cmddelete_Click() Dim str As String If (MsgBox("Are you sure you want to Delete it", vbYesNo + vbQue stion, "Stock") = vbYes) Then str = "delete from Stock where itemcode='" & rs!itemcode & "'"
Stock maintenance system db.Execute str db.Close connectme MsgBox "Deleted Successfully", vbOKOnly cmbitype.Visible = True Else frmStockDetails.SetFocus End If End If End Sub Private Sub Command2_Click() If (MsgBox("Are you sure you want to update the stock", vbYes No + vbQuestion, "Stock") = vbYes) Then With rs .Update "itemtype", txtitype.Text .Update "itemcode", txticode.Text .Update "itemname", txtiname.Text .Update "netweight", txtnetwt.Text .Update "date_of_entry", txtdate.Text .Update "quantity", txtquantity.Text .Update "price", txtprice.Text End With MsgBox "Stock Detail modified successfully", vbInformation + vbOKOnly, "Update" Unload Me frmStockDetails.Show End If Else frmStockDetails.SetFocus End Sub Private Sub Command1_Click()
Stock maintenance system frmpurchase.Show End Sub Private Sub Command3_Click() txtitype.Visible = False cmbitype.Visible = True Call Reset End Sub Private Sub Form_Load() connectme MSHFlexGrid1.Visible = False rs.Close rs.Open "select * from stock ", db, adOpenKeyset, adLockOptimistic Set MSHFlexGrid1.DataSource = rs End Sub Private Sub connectme() Dim i As Integer, j As Integer db.Open "arun", "scott", "tiger" Call Resetall rs.Open "select itemtype from stock group By itemtype ", db, adOpenKeyset, adLockOptimistic While rs.EOF <> True cmbitype.AddItem rs!itemtype rs.MoveNext Wend txtitype.Visible = False End Sub Private Sub Command4_Click() If MSHFlexGrid1.Visible = True Then MSHFlexGrid1.Visible = False
Stock maintenance system txtitype.Visible = True txticode.Visible = True txtiname.Visible = True txtamount.Visible = True txtnetwt.Visible = True txtquantity.Visible = True txtprice.Visible = True txtdate.Visible = True Command2.Enabled = True cmddelete.Enabled = True Else Unload Me End If End Sub
Private Sub cmbitype_Click() Call Reset rs.Close rs.Open "select * from stock where itemtype=" & "'" & cmbitype.Text & "'", db, adOpenKeyset, adLockOptimistic rs.MoveFirst cmbitype.Visible = False txtitype.Visible = True With rs txtitype = !itemtype txticode = !itemcode txtiname.Text =
!itemname txtnetwt.Text = !netweight txtdate.Text = !date_of_entry txtquantity.Text = !quantity txtprice.Text = !price
Stock maintenance system p = txtprice.Text q = txtquantity.Text txtamount.Text = p * q End With End Sub Public Sub Resetall() cmbitype.Clear txticode.Text = "" txtiname.Text = "" txtnetwt.Text = "" txtquantity.Text = "" txtdate.Text = "" txtprice.Text = "" End Sub Private Sub cmdfirst_Click() txticode.Visible = True On Error GoTo Err cmdNext.Enabled = True cmdLast.Enabled = True rs.MoveFirst Display cmdPrev.Enabled = False cmdFIrst.Enabled = False Err: If Err.Number = 3021 Then MsgBox "NO CURRENT RECORD" cmdNext.Enabled = False cmdLast.Enabled = False cmdPrev.Enabled = False cmdFIrst.Enabled = False
Stock maintenance system End If End Sub Private Sub cmdlast_Click() txticode.Visible = True On Error GoTo Err cmdFIrst.Enabled = True cmdPrev.Enabled = True rs.MoveLast Display cmdNext.Enabled = False cmdLast.Enabled = False Err: If Err.Number = 3021 Then MsgBox "NO CURRENT RECORD" cmdNext.Enabled = False cmdLast.Enabled = False cmdPrev.Enabled = False cmdFIrst.Enabled = False End If End Sub Private Sub cmdnext_Click() txticode.Visible = True On Error GoTo Err If rs.BOF <> True And rs.EOF <> True Then cmdFIrst.Enabled = True cmdPrev.Enabled = True rs.MoveNext Display Else rs.MoveLast
Stock maintenance system Display cmdNext.Enabled = False cmdLast.Enabled = False End If If Err.Number = 3021 Then MsgBox "NO CURRENT RECORD" cmdNext.Enabled = False cmdLast.Enabled = False cmdPrev.Enabled = False cmdFIrst.Enabled = False End If End Sub Private Sub cmdprev_Click() txticode.Visible = True On Error GoTo Err cmdNext.Enabled = True cmdLast.Enabled = True If rs.BOF <> True And rs.EOF <> True Then rs.MovePrevious Display Else rs.MoveFirst Display cmdPrev.Enabled = False cmdFIrst.Enabled = False End If Err: If Err.Number = 3021 Then MsgBox "NO CURRENT RECORD" cmdNext.Enabled = False cmdLast.Enabled = False
Stock maintenance system cmdPrev.Enabled = False cmdFIrst.Enabled = False End If End Sub
SALES MASTER:
Stock maintenance system
Fig 6.8
Stock maintenance system
OUTPUT:
Fig :6.9
Stock maintenance system
Fig :6.10
Fig :6.11
Stock maintenance system
CODING: Dim db As New ADODB.Connection Dim rs As New ADODB.Recordset Dim p, q As Double
Private Sub cmbitype_Click() Command6.Enabled = True Command1.Enabled = True Label17.Visible = False txtcname.Visible = False temp = cmbitype.Text Call Reset cmbicode.Clear rs.Open "select itemcode from stock where itemtype=" & "'" & temp & "'", db, adOpenDynamic, adLockPessimistic While rs.EOF <> True cmbicode.AddItem rs!itemcode rs.MoveNext Wend rs.Close rs.Open "select * from stock where itemtype= " & "'" & temp & "'", db, adOpenKe yset, adLockOptimistic Set MSHFlexGrid1.DataSource = rs rs.Close End Sub
Private Sub Command3_Click() Command6.Enabled = True Command1.Enabled = True Label17.Visible = False
Stock maintenance system txtcname.Visible = False Call save connectme End Sub Private Sub Command6_Click() rs1.Open "select * from itemorder ", db, adOpenKeyset, adLockOptimistic rs1.AddNew rs1!billnumber = txtbillno.Text rs1!itemcode = cmbicode.Text rs1!customername = txtcname.Text rs1!order_date = txtdate.Text rs1!orderedquantity = txtquantity.Text rs1!amount = txtamount.Text rs1.Update rs1.Close MsgBox "Item Detail Save Successfully ", , "Order Master" MsgBox "your item will be Delivered as Soon as Possible", , "Order Master" Call save Call saleanother Label17.Visible = False txtcname.Visible = False Command1.Enabled = True End Sub
Private Sub open1() rs2.Open "select * from stock where itemcode=" & "'" & cmbicode.Text & "'" & "and itemtype=" & "'" & cmbitype.Text & "'" & "and itemname=" & "'" & txtiname.Text & "'", db, adOpenKeyset, adLockOptimistic If rs2.EOF <> True And rs2.BOF <> True Then rs2!quantity = rs2!quantity - Val(txtquantity.Text) If rs2!quantity < 0 Then
Stock maintenance system MsgBox "Sorry Not Enough Stock and you want order it " Exit Sub End If rs2.Update rs2.Close MsgBox "item quantity updated" Else MsgBox "THAT ITEM IS NOT AVIALABLE" End If rs1.Open "select * from sales ", db, adOpenKeyset, adLockOptimistic rs1.AddNew rs1!billnumber = txtbillno.Text rs1!itemtype = cmbitype.Text rs1!itemcode = cmbicode.Text rs1!itemname = txtiname.Text rs1!netweight = txtnetwt.Text rs1!sale_date = txtdate.Text rs1!quantity = txtquantity.Text rs1!price = txtprice.Text rs1!amount = txtamount.Text rs1.Update rs1.Close MsgBox "Item Detail Save Successfully", vbOKOnly, "Sales Master" If (MsgBox("sale another Item", vbYesNo + vbQuestion, "Sales Master ") = vbYes) Then Call save Call saleanother Command6.Enabled = True Else Unload Me frmSaleentry.Show frmSaleentry.SetFocus End If
Stock maintenance system
End Sub Private Sub saleanother() rs.Open "select itemtype from stock group By itemtype ", db, adOpenKeyset, adLockOptimistic While rs.EOF <> True cmbitype.AddItem rs!itemtype rs.MoveNext Wend rs.Close rs.Open "select itemtype from stock group By itemtype ", db, adOpenKeyset, adLockOptimistic
rs.Close End Sub Private Sub save() txtcname.Text = "" cmbitype.Clear cmbicode.Clear txtiname.Text = "" txtnetwt.Text = "" txtdate.Text = "" txtdate.Text = Format$(Date, "dd/mm/yyyy") txtquantity.Text = "" txtprice.Text = "" txtamount.Text = "" End Sub
Private Sub Command2_Click() Dim z, x As Double cmdRefresh_Click
Stock maintenance system connectme cmbitype.SetFocus Command1.Enabled = True Label17.Visible = False txtcname.Visible = False Command6.Enabled = True End Sub Private Sub increment() rs1.Open "select * from sales order by BILLNUMBER", db, adOpenKeyset, adLockOptimistic If rs1.BOF <> True And rs1.EOF <> True Then rs1.MoveLast z = Val(rs1!billnumber) z=z+1 txtbillno.Text = z rs1.Close rs1.Open "select * from itemorder order by BILLNUMBER", db, adOpenKeyset, adLockOptimistic If rs1.BOF <> True And rs1.EOF <> True Then rs1.MoveLast txtbillno.Text = "" x = Val(rs1!billnumber) rs1.Close If x > z Then i = Val(x) i=i+1 txtbillno.Text = i Else i = Val(z) i = i + 1 txtbillno.Text = i
Stock maintenance system End If Else rs1.Close End If Else txtbillno.Text = 7000 rs1.Close End If End Sub Public Sub Reset() txtcname.Text = "" txtiname.Text = "" txtnetwt.Text = "" txtquantity.Text = "" txtprice.Text = "" txtamount.Text = "" End Sub Private Sub cmbicode_Click() Call Reset rs.Open "select * from stock where itemtype=" & "'" & cmbitype.Text & "'" & " and itemcode=" & "'" & cmbicode.Text & "'", db, adOpenKeyset, adLockOptimistic With rs txtiname.Text = !itemname txtnetwt.Text = !netweight txtquantity.Text = "" txtprice.Text = !price End With rs.Close txtquantity.SetFocus End Sub
Stock maintenance system
Private Sub Form_Load() db.Open "arun", "scott", "tiger" connectme End Sub Private Sub connectme() Call Resetall increment rs.Open "select itemtype from stock group By itemtype ", db, adOpenKeyset, adLockOptimistic While rs.EOF <> True cmbitype.AddItem rs!itemtype rs.MoveNext Wend rs.Close rs.Open "select itemtype from stock group By itemtype ", db, adOpenKeyset, adLockOptimistic Set MSHFlexGrid1.DataSource = rs rs.Close End Sub Public Sub Resetall() txtbillno.Text = "" cmbitype.Clear cmbicode.Clear txtiname.Text = "" txtnetwt.Text = "" txtquantity.Text = "" txtdate.Text = "" txtprice.Text = "" txtamount.Text = "" End Sub
Stock maintenance system
DELIVERY MODULE:
Stock maintenance system
Fig :6.12
Stock maintenance system OUTPUT:
Fig :6.13
Stock maintenance system Fig :6.14
CODING:
Dim db As New ADODB.Connection Dim rs As New ADODB.Recordset Private Sub cmbbillno_click() temp = cmbbillno.Text cmbicode.Clear rs.Open "select * from itemorder where billnumber=" & "'" & temp & "'and deliver is NULL", db, adOpenDynamic, adLockPessimistic While rs.EOF <> True cmbicode.AddItem rs!itemcode rs.MoveNext Wend rs.Close rs.Open "select billnumber,itemcode,deliver from itemorder where billnumber=" & "'" & temp & "' and deliver is NULL", db, adOpenDynamic, adLockPessimistic Set MSHFlexGrid1.DataSource = rs rs.Close End Sub End Sub Private Sub cmbicode_Click() rs.Open "select * from stock where itemcode=" & "'" & cmbicode.Text & "'", db, adOpenDynamic, adLockPessimistic With rs txtitype = !itemtype txtiname = !itemname txtnetwt = !netweight txtprice = !price End With rs.Close
Stock maintenance system rs.Open "select * from itemorder where itemcode=" & "'" & cmbicode.Text & "'", db, adOpenDynamic, adLockPessimistic With rs txtcname = !customername txtdate = !order_date txtoquantity = !orderedquantity txtamount = !amount End With rs.Close End Sub Private Sub Command1_Click() Dim x, y As Double rs.Open "select * from stock where itemcode=" & "'" & cmbicode & "'", db, adOpenKeyset, adLockOptimistic x = Val(rs!quantity) If rs.EOF <> True And rs.BOF <> True Then y = x - Val(txtoquantity.Text) If y < 0 Then MsgBox "Sorry Not Enough Stock.So Delivery is not Possible " rs.Close Exit Sub End If rs!quantity = y rs.Update MsgBox "item is Delivered" End If rs.Close rs.Open "select * from itemorder where itemcode=" & "'" & cmbicode.Text & "'" & " and billnumber=" & "'" & cmbbillno.Text & "'", db, adOpenDynamic, adLockPessimistic
With rs .Update "DELIVERY_DATE", txtddate.Text
Stock maintenance system .Update "deliver", txtdeliver.Text End With rs.Close rs.Open "select billnumber,itemcode,deliver from itemorder where billnumber=" & "'" & cmbbillno.Text & "'" & " and billnumber=" & "'" & cmbbillno.Text & "'", db, adOpenDynamic, adLockPessimistic Set MSHFlexGrid1.DataSource = rs End Sub Private Sub Command2_Click() Command1.Enabled = False MSHFlexGrid2.Visible = True rs.Open "select * from itemorder where deliver is not NULL", db, adOpenDynamic, adLockPessimistic Set MSHFlexGrid2.DataSource = rs rs.Close End Sub Private Sub Command3_Click() Command1.Enabled = True If MSHFlexGrid2.Visible = True Then MSHFlexGrid2.Visible = False Else Unload Me End If End Sub Private Sub Command4_Click() Command1.Enabled = False MSHFlexGrid2.Visible = True rs.Open "select * from itemorder ", db, adOpenDynamic, adLockPessimistic Set MSHFlexGrid2.DataSource = rs rs.Close
Stock maintenance system End Sub Private Sub Form_Load() txtddate.Text = Format$(Date, "dd/mm/yyyy") db.Open "arun", "scott", "tiger" rs.Open "select billnumber from(Select * from itemorder group By billnumber)where deliver is NULL", db, adOpenKeyset, adLockOptimistic While rs.EOF <> True cmbbillno.AddItem rs!billnumber rs.MoveNext Wend Set MSHFlexGrid1.DataSource = rs MSHFlexGrid2.Visible = False rs.Close End Sub
REPLACING FAULT MODULE:
Fig :6.15
OUTPUT:
Stock maintenance system
Fig :6.16
CODING:
Dim db As New ADODB.Connection Dim rs As New ADODB.Recordset Private Sub cmbbillno_Change() temp = cmbbillno.Text Call Resetall cmbicode.Clear rs.Open "select * from itemorder where billnumber=" & "'" & temp & "'and deliver is not NULL", db, adOpenDynamic, adLockPessimistic While rs.EOF <> True cmbicode.AddItem rs!itemcode rs.MoveNext Wend rs.Close
Stock maintenance system rs.Open "select billnumber,Customername,itemcode,amount from itemorder where billnumber=" & "'" & temp & "' and deliver is not NULL", db, adOpenDynamic, adLockPessimistic Set MSHFlexGrid1.DataSource = rs rs.Close End Sub Private Sub cmbbillno_click() temp = cmbbillno.Text Call Resetall cmbicode.Clear rs.Open "select * from itemorder where billnumber=" & "'" & temp & "'and deliver is not NULL", db, adOpenDynamic, adLockPessimistic While rs.EOF <> True cmbicode.AddItem rs!itemcode rs.MoveNext Wend rs.Close rs.Open "select billnumber,Customername,itemcode,amount from itemorder where billnumber=" & "'" & temp & "' and deliver is not NULL", db, adOpenDynamic, adLockPessimistic Set MSHFlexGrid1.DataSource = rs rs.Close End Sub Public Sub Resetall() cmbicode.Clear txtcname.Text = "" txtnoreplace.Text = "" txtoquantity.Text = "" End Sub
Stock maintenance system
Private Sub cmbicode_Click() rs.Open "select * from itemorder where itemcode=" & "'" & cmbicode & "'" & " and billnumber=" & "'" & cmbbillno.Text & "'", db, adOpenDynamic, adLockPessimistic With rs txtcname = !customername txtoquantity = !orderedquantity End With rs.Close If (MsgBox("If you want to Replace the item press Yes ,otherwise press No", vbYes No + vbQuestion, "Replace/Reject") = vbYes) Then Command2.Enabled = False Else Command1.Enabled = False Label1.Visible = False txtnoreplace.Visible = False End If End Sub Private Sub Command1_Click() If (MsgBox("If you press Yes Replacement will done", vbYesNo + vbQues tion, "Replace") = vbYes) Then rs.Open "select * from replace where itemcode=" & "'" & cmbicode.Text & "'" & " and billnumber=" & "'" & cmbbillno.Text & "'", db, adOpenD ynamic, adLockPessimistic rs.AddNew rs!billnumber = cmbbillno.Text rs!itemcode = cmbicode.Text rs!customername = txtcname.Text rs!replace_quantity = txtnoreplace.Text
Stock maintenance system rs!replace_date = txtdate.Text rs!Replace = Text1.Text rs.Update MsgBox "Replacement successfully done", , "Replace" rs.Close rs.Open "select billnumber,itemcode,replace_quantity ,replace from replace where billnumber=" & "'" & cmbbillno.Text & "'" & " and itemcode=" & "'" & cmbicode.Text & "'", db, adOpenDynamic, adLockPessimistic Set MSHFlexGrid1.DataSource = rs rs.Close Command2.Enabled = True End If End Sub Private Sub Command2_Click() If (MsgBox("Are you sure want to Reject", vbYesNo + vbQuestion, "Reject") = vbYes) Then rs.Open "select * from replace where itemcode=" & "'" & cmbicode.Text & "'" & " and billnumber=" & "'" & cmbbillno.Text & "'", db, adOpenD ynamic, adLockPessimistic rs.AddNew rs!billnumber = cmbbillno.Text rs!itemcode = cmbicode.Text rs!customername = txtcname.Text rs!replace_quantity = 0 rs!replace_date = txtdate.Text rs!Replace = Text2.Text rs.Update MsgBox "Replacement not done", , "Reject" rs.Close rs.Open "select billnumber,itemcode,replace_quantity ,replace from replace where billnumber=" & "'" & cmbbillno.Text & "'" & " and itemcode=" & "'" & cmbicode.Text & "'", db, adOpenDynamic, adLockPessimistic
Stock maintenance system Set MSHFlexGrid1.DataSource = rs rs.Close Command1.Enabled = True Label1.Visible = True txtnoreplace.Visible = True End If End Sub Private Sub Command4_Click() cmbbillno.Clear Label1.Visible = True txtnoreplace.Visible = True Command1.Enabled = True Command2.Enabled = True Call Resetall db.Close Call Form_Load End Sub Private Sub Form_Load() db.Open "arun", "scott", "tiger" rs.Open "select billnumber from(select * from(replace full outer join itemorder using ( billnumber))where replace is null and deliver is not null )group By billnumber", db, adOpenKeyset, adLockOptimistic While rs.EOF <> True cmbbillno.AddItem rs!billnumber rs.MoveNext Wend rs.Close rs.Open "select billnumber,itemcode,customername from (replace full outer join itemorder using (billnumber,customername,itemcode))where replace is null and deliver is
not null ", db, adOpenKeyset, adLockOptimistic
Stock maintenance system Set MSHFlexGrid1.DataSource = rs rs.Close txtdate.Text = Format$(Date, "dd/mm/yyyy") End Sub
TABLES DESIGN STOCK MODULE: NAME
NULL?
TYPE
ITEMTYPE
VARCHAR2(60)
ITEMCODE
NUMBER(35)
ITEMNAME
VARCHAR2(100)
NETWEIGHT
VARCHAR2(70)
DATE_OF_ENTRY
DATE
QUANTITY
NUMBER(35)
PRICE
NUMBER(10,2)
SALES MODULE: NAME
NULL?
TYPE
BILLNUMBER
NUMBER(35)
ITEMTYPE
VARCHAR2(60)
ITEMCODE
NUMBER(35)
ITEMNAME
VARCHAR2(60)
NETWEIGHT
VARCHAR2(50)
Stock maintenance system SALE_DATE
DATE
QUANTITY
NUMBER(35)
PRICE
NUMBER(35)
AMOUNT
NUMBER(10,2)
DELIVERY MODULE: NAME
NULL?
TYPE
BILLNUMBER
NUMBER(35)
ITEMCODE
NUMBER(35)
CUSTOMERNAME
VARCHAR2(60)
ORDER_DATE
DATE
DELIVERY_DATE
DATE
ORDERED
VARCHAR2(60)
QUANTITY AMOUNT
NUMBER(10,2)
DELIVER
VARCHAR2(50)
REPLACE MODULE: NAME
NULL?
TYPE
BILLNUMBER
NUMBER(35)
ITEMCODE
NUMBER(35)
CUSTOMERNAME
VARCHAR2(60)
REPLACE_DATE
DATE
REPLACE_QUANTITY
VARCHAR2(60)
REPLACE
VARCHAR2(68)
Stock maintenance system
8. CONCLUSION AND FUTURE ENHANCEMENT
8.1 CONCLUSION Thus the project gives the detailed explanation about how stock is maintained in an organization.it also gives idea about how stocks are to be purchased and how to be maintained in a company.
8.2 FUTURE ENHANCEMENT There is always a room for the improvement in any software package, however good and efficient it may be. The important thing is that the software should be flexible enough for further modifications. In future we will enhance this project by making our system to store the details of the customer such as the house address to make the door delivery which is an easy and quick way.
9. REFERENCE