Difference Between Functions and Subs in VB.NET With Examples
This tutorial will teach you about the Difference Between Functions and Subs in VB.NET With Examples.
A procedure is a method that performs a task when it’s called. There are two types of procedures in VB.Net and they are:
Functions – return a value
Sub procedures or Subs – do not return a value
What is a Function? The Function statement is composed of the name, parameter and the body of a function.
This is the syntax in performing the Function statement:
[Modifiers] Function FunctionName [(ParameterList)] As ReturnType
Statements…….
End Function
Where,
Modifiers: it specifies the access level of the function and its values are:
Public, Private, Protected, Friend, Protected Friend, and information concerning overriding overloading shadowing and sharing.
FunctionName: point out the name of the function
parameter list: identifies the list of the parameters
ReturnType: identifies the data type of the variable the function returns
Example of Functions in VB.NET:
Step 1: Create a function called Compute. This function will simply compute the value provided by the user.
Function Compute(ByVal input1 As Integer, ByVal input2 As Integer) As Integer
Dim output As Integer
output = input1 * input2
Return output
End FunctionStep 2: Call the function and Provide values.
Dim ComputedOutput As Integer 'pass the return value from Function to ComputedOutput variable ComputedOutput = Compute(20, 5) 'Display the result MsgBox(ComputedOutput)
Sub in VB.NET
In Visual Basic, a Sub procedure is a series of statements composed by the Sub and End Sub statements. It performs a task that returns control to the calling code, but it does not return any value. it is also used to declare the name, parameter and the body of a subprocedure.
This is the syntax in declaring a parameter in the parameter list:
[Optional] [ByVal | ByRef] [ParamArray] parameter name As datatype
You can also visit this site for the advanced tutorial in the declaring parameter list. Click Here
This is syntax in performing a Sub statement:
[Modifiers] Sub SubName [(ParameterList)]
Statements…..
End Sub
Example:
Step 1: Create a Subroutine then add the code below:
Public Sub cArea(ByVal len As Double, ByVal wid As Double) ' Declare a variable. Dim area As Double If len = 0 Or wid = 0 Then ' If the argument = 0 then the Sub will exit immediately. Exit Sub End If 'It calculate area of rectangle. area = len * wid ' Print the area to the message Box. MsgBox(area) End Sub
Step 2: Add a button and add the code below.
This code will call the subroutine.
Private Sub BtnGetArea_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnGetArea.Click
cArea(20, 30)
End SubRelated article you may like.
Difference Between Conditional and Logical operators in VB.Net
Conclusion
In conclusion, the difference between functions and sub in vb.net is that functions return a value while the sub doesn’t return a value.
Technology stack and requirements
To run this VB.NET project, you need the following on your development machine:
- Visual Studio 2019 or later. The free Community Edition is enough for building, debugging, and running the project.
- .NET Framework 4.7.2 or higher. Most Windows 10 and 11 systems have it preinstalled through Windows Update.
- MySQL Server 8.0 or MSSQL Express 2019. Choose whichever your capstone panel prefers; both work with VB.NET data adapters.
- MySQL Connector/NET or SqlClient library. Add via NuGet Package Manager inside Visual Studio.
- Crystal Reports (optional). Required only if the project generates printable reports; install the runtime redistributable.
Installing the source code
The download link contains a ZIP archive with the full solution. Extract and set up in five steps:
- Extract the archive to a folder outside Program Files (avoids permission issues).
- Open the .sln file in Visual Studio. It loads the full solution with all forms and modules.
- Restore NuGet packages. Right-click the solution then Restore NuGet Packages if prompted.
- Import the database. Locate the .sql file in the archive and import via phpMyAdmin (MySQL) or SQL Server Management Studio.
- Update the connection string in App.config or module code to match your local database name, user, and password.
How to use this project for your BSIT capstone
This VB.NET project maps cleanly to standard BSIT capstone documentation. Suggested chapter alignment:
- Chapter 1 (Introduction). Discuss the problem the system solves in real-world context. Cite Philippine business or academic use cases where a manual process could be replaced.
- Chapter 2 (Review of Related Literature). Compare this system’s features against 5-10 similar published projects. Cite journals like IJERT or IEEE Access for academic-standard sources.
- Chapter 3 (Methodology). Include Use Case Diagram, Data Flow Diagram, Entity Relationship Diagram, and Activity Diagram covering all major workflows in the system.
- Chapter 4 (Results and Discussion). Screenshot each module of the running system with a caption explaining what data it processes and which user role interacts with it.
- Chapter 5 (Conclusion and Recommendations). Identify features that could be added in a Version 2, such as web dashboard, mobile app, or REST API export.
Modules typical of Difference Between Functions and Subs
- Master data. CRUD forms for the primary entities the system manages, with search and filter.
- Transaction processing. Data entry forms for the day-to-day operations the system automates.
- Reports. Formatted printable output summarizing activity per day, per user, or per category.
- User management. Login with role-based permissions (Admin, Encoder, Viewer).
- Backup and restore. Export database to a .sql or .bak file and restore when needed.
Common enhancements for capstone review
- Modernize the UI. Add Bunifu or Guna UI controls for a more polished, modern appearance.
- Add printable receipts. Integrate a printer preview form with page-setup options.
- Multi-user concurrency. Ensure the database handles simultaneous writes without lost-update errors.
- Web version. Rewrite the front-end in ASP.NET Core or React for a modern deployment path.
Official documentation
Frequently Asked Questions
How does this VB.NET project work?
Built with VB.NET WinForms (.NET Framework 4.5+) and SQL Server backend. Standard structure: Form designer to code-behind event handlers to ADO.NET data access layer to SQL Server. Login form for auth. Ready to extend for BSIT capstone scope.
What Visual Studio and SQL Server versions does this VB.NET project require?
Most projects use VB.NET WinForms on .NET Framework 4.5+ with SQL Server 2012 Express or higher. To run: install Visual Studio 2019 / 2022 (Community is free) with the ‘Desktop development with .NET’ workload, install SQL Server Express + SSMS, open the .sln file, build, run.
How do I set up the database for this VB.NET project?
Open SQL Server Management Studio (SSMS) and connect to your SQL Server (e.g. localhost\SQLEXPRESS). Right-click Databases, choose Restore Database OR New Database then import the included .sql script. Update the connection string in App.config (or in code-behind Module) with your server name + credentials. Rebuild and run.
Can I use this VB.NET project for a BSIT capstone or thesis?
Yes, VB.NET is one of the most accepted languages by Philippine BSIT panels. Extend it: add role-based access (admin/staff/customer login redirect), Crystal Reports or RDLC reports, dashboards with Chart control, audit log, multi-branch support. Pair with Chapter 1-5 documentation matching your panel’s rubric.
Why am I getting ‘connection error’ or ‘cannot find SQL Server’?
Three common VB.NET issues: (1) Connection error: SQL Server isn’t running. Open SQL Server Configuration Manager and verify SQL Server (SQLEXPRESS) service is started. (2) Wrong server name in connection string. Try .\SQLEXPRESS, (local)\SQLEXPRESS, or your machine name. (3) Login failed: SQL Server is set to ‘Windows-only’ authentication. Switch to Mixed Mode in SSMS Server Properties, Security.
Where can I find more VB.NET projects with source code?
Browse the VB.NET Projects hub for the full library. For C# WinForms alternatives see C# Projects. For ASP.NET web alternatives see ASP.NET Projects. For BSIT capstone idea lists see 150 Best Capstone Project Ideas.
Inquiries
If you have any questions or suggestions about the difference between functions and sub using vb.net, please feel free to leave a comment below.
