Client/Server Development and Remote Data Access in Visual Basic Management Instructor

Please print this page out so that you can use it for a reference throughout the course.

Client/Server Development and Remote Data Access in Visual Basic

April M. Adams

Short Description:
This intermediate 7-week course teaches how to implement database access through client/server architecture over the Internet in Visual Basic.

Full Description:

Many applications today require access to a database located remotely, sometime over the Internet. This course will teach the student how to create both a server and a client application that can communicate with each other over the Internet and provide access to a central database. The course is broken up into three main sections: Database Access, Communications, and the Final Project. The first section teaches different methods of data access and manipulation by creating a standalone Visual Basic application that binds a MS Access database. The second section introduces the student to communicating over the Internet with TCP/IP by creating simple server and client Visual Basic applications that utilize the Winsock control. The final project section builds on skills learned in the first two sections to create a server application that accesses a database and fulfills requests to a remote client. This course puts an emphasis on hands on training. As a result, course work is often in preparation for the lab.


Beginner-level knowledge of Visual Basic - Basic familiarity with database concepts.

Required Materials:

Visual Basic 6.0 MS Access 2000 Internet access


Upon completion of this course, the student will be able to: - Use ADO controls or ADO objects and SQL in Visual Basic to manipulate a database - Utilize the Winsock control to create and receive connections and transmit information between Visual Basic applications over the Internet - Get a feel for what is required in client/server design and implementation - Understand why an interface design is necessary for client/server development - Gain experience in code reuse and refactoring.


Student performance is assessed through the following means: - Student’s ability to demonstrate a working knowledge of materials discussed in the course work through successful implementation of lab work. - Project functionality reviews of the various labs - Pass/Fail of the final project.

Week 1:

Database Access Week #1: Databases and ADO Controls The first week will review database concepts and GUI development in Visual Basic and introduce the student to ADO controls and the methods of control binding to a MS Access database. Lab #1: The first lab will require the student to create a standalone application to manipulate a given MS Access database using the ADO controls.

Week 2:

ADO Objects An introduction to simple SQL queries and the ADO objects used to manipulate a database with SQL are the subjects for this week. The student will learn how to formulate a simple SQL statement to query and manipulate date in the database using ADO objects. Lab #2: This lab requires the student to modify the application created in the first lab to use ADO objects and SQL to manipulate the MS Access database.

Week 3:

Communications Section Week #3: Introduction to TCP/IP, Winsock and Interface Design This week introduces the student to communicating over the Internet with Visual Basic. The basics of TCP/IP are discussed and the methods of utilizing the Winsock control to allow Visual Basic applications to communicate over the Internet using TCP/IP are described. Concepts of interface design between a client and a server are explained by reviewing the interface design for future labs.

Week 4:

Creation of simple Winsock client Building on concepts discussed in Week #3, the requirements for communicating with a server application by a Winsock client are discussed in detail with focus on this week’s lab. The student will learn how to setup a Winsock control and connect to a remote server, how to send messages, and implement events to receive messages. Lab #3: The student will create a client application utilizing Winsock to communicate with a server executable provided by the instructor.

Week 5:

Creation of simple Winsock server With the client created, focus is shifted to the requirements of the server application. The functionality of the server executable provided in Lab #3 will be discussed in detail with a focus on this week’s lab. The student will learn how to implement a Winsock control to listen for incoming connections, how to handle multiple connections, and connection management. Lab #4: The student will create a server application to communicate with the client developed in Lab #3.

Week 6:

Final Project Week #6: The Server The final project will convert a standalone application into a client/server system. This week focuses on the server and discusses methods in which to take an existing application and add a communications layer to it in order to provide server functionality. Lab #5: Convert the standalone application from Lab #2 into a server application by adding a communications layer to it and removing the GUI. The instructor will provide a client executable.

Week 7:

The Client This week focuses on the client and discusses methods in which to take an existing application and add a communications layer in order to communicate with a server. Lab #6: Convert the standalone application from Lab #2 into a client application by adding a communications layer and removing the database access functionality. This client will communicate with the server created in Lab #5. The completion of this lab indicates the completion of the final project.



You have been hired by Mom and Pop Toy Company to help create an inventory control system. Up to this point, the toy company has tracked their inventory on paper. This worked fine when they had only one store to be tracked. Mom and Pop Toy Company has now expanded to a second store and are discovering that keeping track of inventory using their old paper-based system is starting to become difficult. Each store keeps its own records of its inventory and then submits these records to be consolidated at the end of each week. This allows Mom and Pop to stay on top of their inventory, although the paper-based system is very time consuming and is subject to mistakes. The final goal of this course is to create a central database where inventory information can be tracked and updated from each store in real-time, rather than requiring a consolidation process at the end of each week. The first step towards this system is create a simple application that allows the inventory to be entered into a database on a single desktop. This will be a Visual Basic program that will connect to Microsoft Access database and store information about the toys such as their name, description, cost, and the amount currently in stock.

Useful links
Last updated  2008/09/28 00:54:31 PDTHits  308