MOHAMEX SATHAK COLLEGE OF ARTS AND SCIENCE
SHOLLINGANALLUR CHENNAI-119
BCA
FINAL YEAR PROJECT
3rd review
Project title
LOGISTIC MANAGEMENT SYSTEM
GROUP PROJECT:
STUDENT NAME:
LOKESHWARAN.S(20BCA37)
PRAKASH.P(20BCA40)
GUIDE NAME HOD
(K.SATHYA) (DR S BALAJI)
Page 1
Page 2
Logistic management system
ABSTRACT
Logistic management system is a process of supply goods to one place to
another place. The logistic management systems used for scheduling the allotment
of the goods. Logistics management system is a supply chain management
component that is used to meet customer demands. Logistics management system
includes warehouse management, processing order, inventory control. Admin has
authority to add or remove goods from the system , logistic management system
also maintain record of the goods available and issued in the warehouse. Logistic
management system can also update the goods details if required. This logistics
management system project can track transportation duration of goods. This
logistics management can also update information like, at what time has the goods
arrived at the destination.
INTRODUCTION
Logistic management system is a system of managing the supply chain and
logistic operations of a business. It is used to track and monitor inventory, shipments,
order, and delivery timelines. Logistic management is the core of modern supply
chain management, as it serves as a platform between the point or origin and the
point of consumption. Its operational efficiency will directly impact the overall
efficiency of the supply chain. Logistic management system is a software solution
that helps companies and organization to effectively manage the movement of
goods, service and personnel. It is designed to assist in the planning, execution and
tracking of freight, transportation and warehousing operations. Logistic
management system helps companies to improve their efficiency and cost-
effectiveness in managing their supply chain operations. The system can be used to
Page 3
manage inventory, track inventory levels, manage order fulfillment, optimize
shipping costs and improve customer service. It also helps in managing supply chain
activities such as procurement, distribution, warehousing and transportation.
MODULES
Admin login
Warehouse
Goods arrival
Goods dispatch
MODULES DESCRIPTION
Admin login : This module will allow user to authenticate themselves as
administrators in order to gain access to the system. It will provide a secure login
page that will authenticate user credential and grant access
Warehouse: This module will allow administrators. To manage inventory in the
warehouse. It will provide feature to add, edit, and delete item from the inventory.
It will also provide information about the current inventory levels and stock levels.
Goods arrival: This module will allow administrators to track and record incoming
shipments of goods. It will provide information about the shipment details, as well as
any relevant documentation associated with the shipment.
Good dispatch: The goods dispatch module is designed to help manage the dispatch
and delivery of goods. It allows users to track the shipment and delivery of goods as
well as view and update delivery information. The module also include features to
Page 4
facilitate the efficient scheduling of shipments and to facilitate communication
between customers and dispatchers.
EXISTING SYSTEM AND PROPOSED SYSTEM
Existing system : The existing system for logistic management is manual and paper-
based. This system involves manually tracking and recording of shipments. Orders,
invoice, and other logistic activities. It also requires manual input of data into
spreadsheets, and manual calculation of charges for different services. This system is
time consuming and inefficient, and prone to errors
Page 5
Proposed system: The proposed system for logistic management is automated and
computerized. This system involves the automated tracking and recording of
shipments, order, invoices, and other logistic activities. It also requires the
automated input of data into a database, and automated calculation of charges for
different services. This system is more efficient, accurate, and faster than the
existing system. It also provides better visibility into the entire logistic process.
HARDWARE REQUIREMENT
Processor - i3
Hard disk - 5GB
Memory - 1GB RAM
SOFTWARE REQUIREMENT
Front end : visual basic
Back end : SQL
Page 6
FORM DESIGN
Page 7
Page 8
Page 9
Page 10
SYSTEM DESIGN
ER DIAGRAM
ER DIAGRAM FOR LOGISTIC MANAGEMENT SYSTEM
Page 11
DATA FLOW DIAGRAM
ZERO LEVEL DFD - LOGISTIC MANAGEMENT SYSTEM
Page 12
LEVEL ONE- LOGISTIC MANAGEMENT SYSTEM
Page 13
SOURCE CODE
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
Timer1.Start()
End Sub
Private Sub btnclose_Click(sender As Object, e As EventArgs) Handles
btnclose.Click
Application.Exit()
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles
Timer1.Tick
ProgressBar1.Increment(1)
If ProgressBar1.Value = 100 Then
Me.Hide()
Dim log = New Login
log.Show()
Timer1.Enabled = False
End If
End Sub
End Class
Page 14
1.Admin login
Public Class Login
Private Sub btnclose_Click(sender As Object, e As EventArgs) Handles
btnclose.Click
Application.Exit()
End Sub
Private Sub btnLogin_Click(sender As Object, e As EventArgs) Handles
btnLogin.Click
If txtUsername.Text = "" Or txtPassword.Text = "" Then
MsgBox("Please Enter Username and Password")
ElseIf txtUsername.Text = "Admin" And txtPassword.Text = "password"
Then
Dim Obj = New Departments
Obj.Show()
Me.Hide()
Else
MsgBox("You have entered wrong Username and Password")
txtUsername.Text = ""
txtPassword.Text = ""
End If
End Sub
Private Sub btnReset_Click(sender As Object, e As EventArgs) Handles
btnReset.Click
txtUsername.Text = ""
txtPassword.Text = ""
End Sub
Page 15
Private Sub ForgotPassword_LinkClicked(sender As Object, e As
LinkLabelLinkClickedEventArgs) Handles ForgotPassword.LinkClicked
MsgBox("Your Username is Admin and Password is password")
End Sub
Private Sub PicLogo_Click(sender As Object, e As EventArgs) Handles
PicLogo.Click
MsgBox("Don't Angry me", MsgBoxStyle.Information, "Logistics Management
System")
End Sub
Private Sub PicLock_Click(sender As Object, e As EventArgs) Handles
PicLock.Click
MsgBox("Don't Angry me", MsgBoxStyle.Information, "Logistics Management
System")
End Sub
Private Sub Login_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
End Sub
End Class
2.Warehouse
Page 16
Imports System.Data.SqlClient
Public Class Departments
Dim Con = New SqlConnection("Data
Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\prakash\Documents\Visua
l Studio 2015\Projects\logistics management\logistics
management\GLD.mdf;Integrated Security=True")
Private Sub DisplayDepartments()
Con.Open()
Dim query = "Select * from DepartmentTbl"
Dim adapter As SqlDataAdapter
Dim cmd = New SqlCommand(query, Con)
adapter = New SqlDataAdapter(cmd)
Dim builder = New SqlCommandBuilder(adapter)
Dim ds As DataSet
ds = New DataSet
adapter.Fill(ds)
WarehouseDGV.DataSource = ds.Tables(0)
Con.Close()
End Sub
Private Sub PictureBox3_Click(sender As Object, e As EventArgs) Handles
ExitPicture.Click
Application.Exit()
End Sub
Private Sub Departments_FormClosed(sender As Object, e As
FormClosedEventArgs) Handles MyBase.FormClosed
Application.Exit()
End Sub
Private Sub Label5_Click(sender As Object, e As EventArgs) Handles
Label5.Click
End Sub
Private Sub PictureBox6_Click(sender As Object, e As EventArgs) Handles
Warehouse2Picture.Click
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
Button1.Click
txtCode.Text = ""
txtProductname.Text = ""
txtInventorylocation.Text = ""
txtInventorycategory.Text = ""
txtProducttype.Text = ""
txtQuantity.Text = ""
txtWeight.Text = ""
End Sub
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles
PictureBox1.Click
Dim Obj = New Login()
Obj.Show()
Me.Hide()
End Sub
Page 17
Private Sub btnOk_Click(sender As Object, e As EventArgs) Handles
btnOk.Click
If txtCode.Text = "" Or txtProductname.Text = "" Or
txtInventorylocation.Text = "" Or txtInventorycategory.Text = "" Or
txtProducttype.Text = "" Or txtQuantity.Text = "" Or txtWeight.Text = "" Then
MsgBox("Missing Information ...!")
Else
Try
Con.Open()
Dim query = "insert into DepartmentTbl values('" & txtCode.Text
& "', '" & txtProductname.Text & "', '" & txtInventorylocation.Text & "','" &
txtInventorycategory.Text & "', '" & txtProducttype.Text & "','" &
txtQuantity.Text & "','" & txtWeight.Text & "')"
Dim cmd As SqlCommand
cmd = New SqlCommand(query, Con)
cmd.ExecuteNonQuery()
MsgBox("Warehouse Added Successfully")
DisplayDepartments()
Reset()
Con.Close()
Catch ex As Exception
End Try
End If
End Sub
Private Sub Departments_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
DisplayDepartments()
End Sub
Private Sub btnUpdate_Click(sender As Object, e As EventArgs)
If txtCode.Text = "" Or txtProductname.Text = "" Or
txtInventorylocation.Text = "" Or txtInventorycategory.Text = "" Or
txtProducttype.Text = "" Or txtQuantity.Text = "" Or txtWeight.Text = "" Then
MsgBox("Missing Informaton...!")
Else
Try
Con.Open()
Dim query = "Update DepartmentTbl set code='" & txtCode.Text &
"', '" & txtProductname.Text & "', '" & txtInventorylocation.Text & "','" &
txtInventorycategory.Text & "', '" & txtProducttype.Text & "','" &
txtQuantity.Text & "','" & txtWeight.Text & "' where No=" & Key & ""
Dim cmd As SqlCommand
cmd = New SqlCommand(query, Con)
cmd.ExecuteNonQuery()
MsgBox("Warehouse Updated Successfully")
DisplayDepartments()
Reset()
Con.Close()
Catch ex As Exception
End Try
End If
End Sub
Dim Key = 0
Private Sub WarehouseDGV_CellContentClick(sender As Object, e As
DataGridViewCellEventArgs)
Dim row As DataGridViewRow = WarehouseDGV.Rows(e.RowIndex)
Page 18
txtCode.Text = row.Cells(1).Value.ToString
txtProductname.Text = row.Cells(2).Value.ToString
txtInventorylocation.Text = row.Cells(3).Value.ToString
txtInventorycategory.Text = row.Cells(4).Value.ToString
txtProducttype.Text = row.Cells(5).Value.ToString
txtQuantity.Text = row.Cells(6).Value.ToString
txtWeight.Text = row.Cells(7).Value.ToString
If txtCode.Text = "" Then
Key = 0
Else
Key = Convert.ToInt32(row.Cells(0).Value.ToString)
End If
End Sub
Private Sub btnDelete_Click(sender As Object, e As EventArgs) Handles
btnDelete.Click
If Key = 0 Then
MsgBox("Please Select the Warehouse to delete")
Else
Try
Con.Open()
Dim query = "delete From DepartmentTbl where No=" & Key & ""
Dim cmd As SqlCommand
cmd = New SqlCommand(query, Con)
cmd.ExecuteNonQuery()
MsgBox("Warehouse Deleted Successfully")
Con.Close()
DisplayDepartments()
Reset()
Catch ex As Exception
End Try
End If
End Sub
Private Sub WarehouseDGV_CellContentClick_1(sender As Object, e As
DataGridViewCellEventArgs) Handles WarehouseDGV.CellContentClick
End Sub
Private Sub PicGoodsarrival_Click(sender As Object, e As EventArgs) Handles
PicGoodsarrival.Click
Dim Obj = New Good()
Obj.Show()
Me.Hide()
End Sub
Private Sub GoodsarrivalLbl_Click(sender As Object, e As EventArgs) Handles
GoodsarrivalLbl.Click
Dim Obj = New Good()
Obj.Show()
Me.Hide()
End Sub
Private Sub PicGoodsdispatch_Click(sender As Object, e As EventArgs)
Handles PicGoodsdispatch.Click
Dim Obj = New Goods()
Obj.Show()
Me.Hide()
End Sub
Page 19
Private Sub GoodsdispatchLbl_Click(sender As Object, e As EventArgs)
Handles GoodsdispatchLbl.Click
Dim Obj = New Goods()
Obj.Show()
Me.Hide()
End Sub
End Class
Page 20
Page 21
Page 22
CREATE TABLE [dbo].[DepartmentTbl]
(
[No] INT NOT NULL PRIMARY KEY IDENTITY,
[Code] INT NOT NULL,
[Product name] VARCHAR(100) NOT NULL,
[Inventory location] VARCHAR(100) NOT NULL,
[Inventory Category] VARCHAR(100) NOT NULL,
[Product type] VARCHAR(100) NOT NULL,
[Quantity] INT NOT NULL,
[Weight] INT NOT NULL
)
1. Goods arrivals
Imports System.Data.SqlClient
Public Class Good
Page 23
Dim Con = New SqlConnection("Data
Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\prakash\Documents\Visua
l Studio 2015\Projects\logistics management\logistics
management\WareD.mdf;Integrated Security=True")
Private Sub DisplayGood()
Con.Open()
Dim query = "Select * from WareTbl"
Dim adapter As SqlDataAdapter
Dim cmd = New SqlCommand(query, Con)
adapter = New SqlDataAdapter(cmd)
Dim builder = New SqlCommandBuilder(adapter)
Dim ds As DataSet
ds = New DataSet
adapter.Fill(ds)
WareDGV.DataSource = ds.Tables(0)
Con.Close()
End Sub
Private Sub ExitPicture_Click(sender As Object, e As EventArgs) Handles
ExitPicture.Click
Application.Exit()
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
Button1.Click
txtArrivaldate.Text = ""
txtFrom.Text = ""
txtCode.Text = ""
txtProductname.Text = ""
txtQuantity.Text = ""
txtTransportname.Text = ""
End Sub
Private Sub Good_Load(sender As Object, e As EventArgs) Handles MyBase.Load
DisplayGood()
End Sub
Private Sub Good_Click(sender As Object, e As EventArgs) Handles Me.Click
End Sub
Private Sub btnOk_Click(sender As Object, e As EventArgs) Handles
btnOk.Click
If txtArrivaldate.Text = "" Or txtFrom.Text = "" Or txtCode.Text = ""
Or txtProductname.Text = "" Or txtQuantity.Text = "" Or txtTransportname.Text =
"" Then
MsgBox("Missing Information ...!")
Else
Try
Con.Open()
Dim query = "insert into WareTbl values('" &
txtArrivaldate.Text & "', '" & txtFrom.Text & "', '" & txtCode.Text & "','" &
txtProductname.Text & "', '" & txtQuantity.Text & "','" & txtTransportname.Text
& "')"
Dim cmd As SqlCommand
cmd = New SqlCommand(query, Con)
cmd.ExecuteNonQuery()
MsgBox("Goods Arrival Added Successfully")
DisplayGood()
Reset()
Con.Close()
Catch ex As Exception
End Try
Page 24
End If
End Sub
Private Sub WarehousePic_Click(sender As Object, e As EventArgs) Handles
WarehousePic.Click
Dim Obj = New Departments()
Obj.Show()
Me.Hide()
End Sub
Private Sub WarehouseLable_Click(sender As Object, e As EventArgs) Handles
WarehouseLable.Click
Dim Obj = New Departments()
Obj.Show()
Me.Hide()
End Sub
Private Sub GoodsdispatchPic_Click(sender As Object, e As EventArgs)
Handles GoodsdispatchPic.Click
Dim Obj = New Goods()
Obj.Show()
Me.Hide()
End Sub
Private Sub GoodsdispatchLabel_Click(sender As Object, e As EventArgs)
Handles GoodsdispatchLabel.Click
Dim Obj = New Goods()
Obj.Show()
Me.Hide()
End Sub
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles
PictureBox1.Click
Dim Obj = New Login()
Obj.Show()
Me.Hide()
End Sub
Private Sub GoodsdispatchPic_Click_1(sender As Object, e As EventArgs)
Handles GoodsdispatchPic.Click
Dim Obj = New Good()
Obj.Show()
Me.Hide()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs)
If txtArrivaldate.Text = "" Or txtFrom.Text = "" Or txtCode.Text = ""
Or txtProductname.Text = "" Or txtQuantity.Text = "" Or txtTransportname.Text =
"" Then
MsgBox("Missing Informaton...!")
Else
Try
Con.Open()
Dim query = "Update GoodsarrivalTbl set code='" &
txtArrivaldate.Text & "', '" & txtFrom.Text & "', '" & txtCode.Text & "','" &
txtProductname.Text & "', '" & txtQuantity.Text & "','" & txtTransportname.Text
& "' where No=" & Key & ""
Dim cmd As SqlCommand
cmd = New SqlCommand(query, Con)
cmd.ExecuteNonQuery()
MsgBox("Warehouse Updated Successfully")
DisplayGood()
Page 25
Reset()
Con.Close()
Catch ex As Exception
End Try
End If
End Sub
Dim Key = 0
Private Sub GoodsDGV_CellContentClick(sender As Object, e As
DataGridViewCellEventArgs) Handles WareDGV.CellContentClick
Dim row As DataGridViewRow = WareDGV.Rows(e.RowIndex)
txtArrivaldate.Text = row.Cells(1).Value.ToString
txtFrom.Text = row.Cells(2).Value.ToString
txtCode.Text = row.Cells(3).Value.ToString
txtProductname.Text = row.Cells(4).Value.ToString
txtQuantity.Text = row.Cells(5).Value.ToString
txtTransportname.Text = row.Cells(6).Value.ToString
If txtCode.Text = "" Then
Key = 0
Else
Key = Convert.ToInt32(row.Cells(0).Value.ToString)
End If
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles
Button2.Click
If Key = 0 Then
MsgBox("Please Select the Goods Arrival to delete")
Else
Try
Con.Open()
Dim query = "delete From WareTbl where No=" & Key & ""
Dim cmd As SqlCommand
cmd = New SqlCommand(query, Con)
cmd.ExecuteNonQuery()
MsgBox("Goods Arrival Deleted Successfully")
Con.Close()
DisplayGood()
Reset()
Catch ex As Exception
End Try
End If
End Sub
End Class
Page 26
CREATE TABLE [dbo].[WareTbl]
(
[No] INT NOT NULL PRIMARY KEY IDENTITY,
[Arrival date] DATE NOT NULL,
[From] VARCHAR(100) NOT NULL,
[Code] INT NOT NULL,
[Product name] VARCHAR(100) NOT NULL,
[Quantity] INT NOT NULL,
[Transport mode] VARCHAR(100) NOT NULL
)
2. Goods dispatch
Imports System.Data.SqlClient
Public Class Goods
Dim Con = New SqlConnection("Data
Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\prakash\Documents\Visua
l Studio 2015\Projects\logistics management\logistics
management\DispatchD.mdf;Integrated Security=True")
Private Sub DisplayGoods()
Con.Open()
Dim query = "Select * from DispatchTbl"
Dim adapter As SqlDataAdapter
Dim cmd = New SqlCommand(query, Con)
adapter = New SqlDataAdapter(cmd)
Dim builder = New SqlCommandBuilder(adapter)
Dim ds As DataSet
ds = New DataSet
adapter.Fill(ds)
GoodsdispatchDGV.DataSource = ds.Tables(0)
Con.Close()
End Sub
Page 27
Private Sub Goods_Load(sender As Object, e As EventArgs) Handles
MyBase.Load
DisplayGoods()
End Sub
Private Sub PictureBox2_Click(sender As Object, e As EventArgs) Handles
PictureBox2.Click
Application.Exit()
End Sub
Private Sub btnOk_Click(sender As Object, e As EventArgs) Handles
btnOk.Click
If txtDispatchdate.Text = "" Or txtTo.Text = "" Or txtCode.Text = "" Or
txtProductname.Text = "" Or txtQuantity.Text = "" Or txtTransportname.Text = ""
Then
MsgBox("Missing Information ...!")
Else
Try
Con.Open()
Dim query = "insert into DispatchTbl values('" &
txtDispatchdate.Text & "', '" & txtTo.Text & "', '" & txtCode.Text & "','" &
txtProductname.Text & "', '" & txtQuantity.Text & "','" & txtTransportname.Text
& "')"
Dim cmd As SqlCommand
cmd = New SqlCommand(query, Con)
cmd.ExecuteNonQuery()
MsgBox("Goods Dispatch Added Successfully")
DisplayGoods()
Reset()
Con.Close()
Catch ex As Exception
End Try
End If
End Sub
Private Sub WarehousePic_Click(sender As Object, e As EventArgs) Handles
WarehousePic.Click
Dim Obj = New Departments()
Obj.Show()
Me.Hide()
End Sub
Private Sub WarehouseLable_Click(sender As Object, e As EventArgs) Handles
WarehouseLable.Click
Dim Obj = New Departments()
Obj.Show()
Me.Hide()
End Sub
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles
PictureBox1.Click
Dim Obj = New Login()
Obj.Show()
Me.Hide()
End Sub
Private Sub Goodsarrivalpic_Click(sender As Object, e As EventArgs) Handles
Goodsarrivalpic.Click
Dim Obj = New Good()
Obj.Show()
Me.Hide()
Page 28
End Sub
Private Sub GoodsarrivalLabel_Click(sender As Object, e As EventArgs)
Handles GoodsarrivalLabel.Click
Dim Obj = New Good()
Obj.Show()
Me.Hide()
End Sub
Private Sub Button3_Click(sender As Object, e As EventArgs)
If txtDispatchdate.Text = "" Or txtTo.Text = "" Or txtCode.Text = "" Or
txtProductname.Text = "" Or txtQuantity.Text = "" Or txtTransportname.Text = ""
Then
MsgBox("Missing Informaton...!")
Else
Try
Con.Open()
Dim query = "Update DispatchTbl set code='" &
txtDispatchdate.Text & "', '" & txtTo.Text & "', '" & txtCode.Text & "','" &
txtProductname.Text & "', '" & txtQuantity.Text & "','" & txtQuantity.Text &
"','" & txtTransportname.Text & "' where No=" & Key & ""
Dim cmd As SqlCommand
cmd = New SqlCommand(query, Con)
cmd.ExecuteNonQuery()
MsgBox("Goods Dispatch Updated Successfully")
DisplayGoods()
Reset()
Con.Close()
Catch ex As Exception
End Try
End If
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
Button1.Click
txtDispatchdate.Text = ""
txtTo.Text = ""
txtCode.Text = ""
txtProductname.Text = ""
txtQuantity.Text = ""
txtTransportname.Text = ""
End Sub
Dim Key = 0
Private Sub GoodsdispatchDGV_CellContentClick(sender As Object, e As
DataGridViewCellEventArgs) Handles GoodsdispatchDGV.CellContentClick
Dim row As DataGridViewRow = GoodsdispatchDGV.Rows(e.RowIndex)
txtDispatchdate.Text = row.Cells(1).Value.ToString
txtTo.Text = row.Cells(2).Value.ToString
txtCode.Text = row.Cells(3).Value.ToString
txtProductname.Text = row.Cells(4).Value.ToString
txtQuantity.Text = row.Cells(5).Value.ToString
txtTransportname.Text = row.Cells(6).Value.ToString
If txtCode.Text = "" Then
Key = 0
Else
Key = Convert.ToInt32(row.Cells(0).Value.ToString)
End If
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles
Button2.Click
Page 29
If Key = 0 Then
MsgBox("Please Select the Goods Dispatch to delete")
Else
Try
Con.Open()
Dim query = "delete From DispatchTbl where No=" & Key & ""
Dim cmd As SqlCommand
cmd = New SqlCommand(query, Con)
cmd.ExecuteNonQuery()
MsgBox("Goods Dispatch Deleted Successfully")
Con.Close()
DisplayGoods()
Reset()
Catch ex As Exception
End Try
End If
End Sub
End Class
CREATE TABLE [dbo].[GoodsdispatchTbl]
(
[No] INT NOT NULL PRIMARY KEY IDENTITY,
[Dispatch date] DATE NOT NULL,
[To] VARCHAR(100) NOT NULL,
[Code] INT NOT NULL,
[Product name] VARCHAR(100) NOT NULL,
[Quantity] INT NOT NULL,
[Transport name] VARCHAR(100) NOT NULL
)
Page 30