Computer tutorials, tips, and tricks to help you learn Microsoft Excel, Access, Word, and lots more. Visit our full site at www.ComputerLearningZone.com.
Need a total that grows as you move down your Excel sheet? Keep the first cell in the SUM range absolute, like $C$2, and let the ending row change. Copy the formula down and each row includes everything from that starting cell through the current row. My Running Sum video shows why this works and how the same idea also gives you a running average.
Want users to stick to your choices, or allow an occasional new value? For a value list combo box that stores text, Limit To List controls that choice. Set it to Yes to restrict entered text to the list, or No to allow other valid text. Allow Value List Edits is a separate setting that controls changes to the list itself. My Drop Down Lists video shows how to build and configure these combo boxes.
Before websites, social media, smartphones, and constant notifications, people were already building online communities from their bedrooms, basements, and spare rooms. You could talk to someone across town, share files, play games, argue about science fiction or Dungeons and Dragons, and meet people with the same odd hobbies you had. The catch was that you did not open a browser. You picked up a phone line and dialed another computer.
That was the world of the bulletin board system, better known as a BBS. For a lot of us, hearing the squeal and hiss of a dial-up modem meant we were about to go somewhere interesting. To younger folks, it probably sounds like a robot having a medical emergency. To us, it was the sound of a new connection being made.
A BBS was basically a computer set up to accept calls from other computers over ordinary telephone lines. You used a modem to dial its phone number, the two modems negotiated a connection, and eventually a text menu appeared on your screen. At 300 baud, that menu did not exactly leap onto the monitor. You could watch it arrive one character at a time.
But it was amazing. Once connected, you could read public messages, leave replies, send private messages, download files, upload files, look through announcements, and sometimes play games. You did not need to know everyone personally. You could leave a message for someone who might not see it until later that day, or even days later.
That asynchronous part was a big deal. Before BBSes, communicating with someone usually meant they had to be there at the same time as you. A bulletin board let people participate whenever they could. Leave a message now, check for replies later. That may sound completely ordinary today, but it was a pretty revolutionary idea for home computer users in the late 1970s and early 1980s.
One of the earliest and most famous systems was CBBS, launched in Chicago in 1978 by Ward Christensen and Randy Suess. It is widely recognized as the first public dial-up bulletin board system. The basic idea was wonderfully simple: callers could connect, post a message, and let other callers read and respond to it later.
As home computers became more common, BBS communities started popping up everywhere. A local Radio Shack or computer club might have a printed list of phone numbers for local boards. You would try dialing one, hope you did not get a busy signal, and see what kind of community lived on the other end of the line.
Each BBS had its own personality. One might focus on programming, another on computer hardware, another on role-playing games, science fiction, music, local events, or pirated software if it was one of those boards. Some were friendly and well organized. Others were chaos with a login prompt.
The person running the BBS was called the sysop, short for system operator. The sysop maintained the computer, configured the software, created message areas, managed file libraries, dealt with problem callers, and paid the phone bill. In many cases, this all happened from someone's home. There was no corporate data center. There was just a computer running in a bedroom, office, or basement and someone hoping the hard drive did not decide to die at 2:00 in the morning.
Most small BBSes had only one phone line and one modem, which meant only one person could be connected at a time. If somebody else was online, callers got a busy signal. Then they tried again later. And again. And again. Getting through to a popular board could feel like trying to win concert tickets from a radio station.
There was also the household phone problem. If your BBS used the family telephone line, somebody picking up an extension could knock a caller offline. One moment you were downloading a file that would take 45 minutes, and the next moment Grandma picked up the yellow rotary phone in the kitchen. Connection gone. Download gone. Grandma was probably wondering why the phone was screaming at her.
As BBS software improved, systems became more sophisticated. They had organized message bases, private mail, user accounts, file areas, voting booths, newsletters, online doors, and colorful ANSI screens. ANSI graphics could make a plain text display look surprisingly fancy, with colored menus, box art, logos, and animated effects. It was not modern graphics by any stretch, but a talented ANSI artist could make a BBS look pretty impressive.
Games became a major part of BBS culture too. These were often called door games because the user would leave the main BBS program through a "door" into a separate game. Some were simple, while others were surprisingly deep and persistent. A caller could build an empire, trade resources, fight other players, or improve a character over multiple sessions.
Trade Wars was one of the classics. It was a text-based space trading game where players bought and sold goods, upgraded ships, fought enemies, and competed with other users. It was not flashy, but people got seriously invested in it. A good BBS game could keep regular callers returning every day to check their status and see what someone else had done while they were away.
Running a BBS was an education all by itself. You learned about modems, serial ports, phone lines, operating systems, hard drives, backups, user management, and software configuration. If you wanted to customize the system, you learned programming too. A lot of people got their first real taste of coding because they wanted to make their BBS work a little differently from everyone else's.
One popular BBS package was WWIV, short for World War IV. What made it especially appealing was that its source code was available. If you knew enough C programming, or were stubborn enough to learn it, you could change the menus, alter message handling, customize games, and build new features. That is a pretty powerful incentive to learn a language. Sometimes the best programming class is simply wanting your computer to do something it does not do yet.
Individual boards did not have to remain isolated, either. BBS networks allowed systems to exchange messages with one another. A local board could belong to a larger network, such as WWIVnet, FidoNet, or one of many other regional and specialty networks.
This was not instant messaging. Computers would call one another, transfer packets of messages, and then disconnect. Often these calls were scheduled overnight because long-distance rates were cheaper. Sysops had to think carefully about routing. It made more sense to send messages to a nearby board, which could pass them to another board farther away, rather than placing an expensive direct long-distance call across the country.
A message might travel from Buffalo to Rochester, then to Albany, then to New York City, and eventually farther down the chain. It could take a day or two to reach its destination, and the reply could take just as long to return. By modern standards, that sounds painfully slow. At the time, getting a reply from somebody hundreds or thousands of miles away was still magic.
That slower pace also gave BBS conversations their own rhythm. You posted a message, went to school or work, lived your life, and checked again later. There was no expectation that someone would answer in 30 seconds. Nobody was staring at the little typing indicator, wondering why you had not replied yet. Honestly, we may have lost something there.
By the late 1980s and early 1990s, BBSes had become a real online culture. There were boards for programmers, gamers, hobbyists, local computer clubs, technical support, role-playing groups, science-fiction fans, and practically every other interest imaginable. Regular callers got to know one another through usernames and messages long before online identity became a normal part of everyday life.
Then the commercial internet and the World Wide Web changed the landscape. Instead of dialing separate phone numbers for separate communities, users could connect once and access email, websites, Usenet groups, file downloads, chat services, and eventually just about everything else.
The internet was bigger, faster, and far more convenient. BBSes depended on individual machines, individual phone numbers, limited lines, and often a sysop paying for hardware and telephone service out of pocket. Once people could get broad internet access, it became harder to justify maintaining multiple phone lines for a shrinking number of callers.
Many BBSes shut down in the mid-to-late 1990s. Some adapted by offering internet access or moving their communities online. Others simply faded away as their regular users moved to the web. There usually was not some dramatic final moment. People just called less often, bills still arrived, and eventually the computer was turned off for the last time.
But BBSes are not completely gone. Enthusiasts still run them today, usually through Telnet or SSH rather than a dial-up telephone line. The old software, games, message boards, ANSI art, and sysop culture are still out there for anyone who wants to experience a little piece of the pre-web internet.
BBSes mattered because they taught a generation that computers could be social. They showed people that technology was not just for typing papers, balancing checkbooks, or playing a game alone in your room. Computers could connect communities, share knowledge, create friendships, and give ordinary people a place to build something of their own.
They also gave a lot of future programmers, administrators, and technology professionals their first reason to dig deeper. A home computer, a modem, a list of phone numbers, and a little curiosity could lead to a whole new world. That was the forgotten world of BBSes: slow, noisy, sometimes expensive, often frustrating, and absolutely wonderful.
If you want to see more of the story and hear some firsthand memories from the BBS era, watch the embedded video. And if you were a caller or a sysop yourself, I would love to hear about the boards you used, the games you played, and the busy signals you endured.
Getting different counts from the same table? Check which field you are counting. An AutoNumber customer ID gives you a count of every customer, while Count([State]) skips Null values in State. In this video, I show you how to set up a totals query and get useful counts from your data.
For a complete step-by-step video tutorial on this topic, including additional examples and explanations, please visit https://599cd.com/4432.
Got a date/time field but only need the time? TimeValue pulls out that portion so you can compare appointment hours without the date getting in the way. In this Fast Tips video, I'll show you how it works and how to use it in a validation rule for appointments between 9 AM and 5 PM.
For a complete step-by-step video tutorial on this topic, including additional examples and explanations, please visit https://599cd.com/2485.
If you search for programming help and keep finding VB, VBA, VB.NET, VBScript, and VB6, you are not alone in wondering whether they are all the same thing. They are related, and the syntax can look very similar, but they are absolutely not interchangeable. The important question is not which one has the newest-sounding name. The important question is: where is your code supposed to run?
If you are writing code in Microsoft Access, the answer is easy: you are learning VBA, which stands for Visual Basic for Applications. That distinction matters because copying code written for VB.NET, VB6, or VBScript into an Access module can lead to a whole lot of "Why doesn't this work?" and possibly some colorful language.
Let's start with the old favorite: Classic Visual Basic, usually meaning VB6. Visual Basic 6 was a standalone Windows application development environment. You could create forms, drop controls onto them, add buttons, and write event-driven code behind those buttons.
That should sound familiar to Access developers. Access forms work in a similar event-driven way. You put controls on a form and write code that runs when someone clicks a button, changes a value, opens a form, and so on. The big difference is that VB6 was used to create separate Windows programs. An Access form lives inside an Access database and depends on Access being there.
VB6 is old now. Microsoft ended mainstream support for the VB6 development environment a long time ago, although the core VB6 runtime still has limited support on supported versions of Windows. That means many old VB6 applications still run, especially in businesses that have been using the same custom software for years. But maintaining an old VB6 application is very different from building a modern .NET application.
VBA, on the other hand, is the language built into Office applications. In Access, VBA lets you work with forms, reports, controls, queries, recordsets, tables, macros, and the rest of the Access object model. In Excel, VBA works with workbooks, worksheets, ranges, charts, and cells. In Word, it works with documents, paragraphs, bookmarks, and so on.
The language is similar across Office applications, but the objects are not. An Excel VBA example that refers to Worksheets("Sheet1") will not magically work in Access, because Access does not have worksheets. Likewise, Access code that refers to a form or report will not run in Excel without being completely reworked for that environment.
This is one of the biggest beginner mistakes: finding something called "Visual Basic code" online and assuming it applies to Access. Before using any example, first figure out what environment it was written for. If you are programming an Access database, search for Access VBA specifically whenever possible.
VBA is designed to extend the application you are already using. You are not normally building an entirely separate Windows program from scratch. You are automating and enhancing Access, Excel, Word, Outlook, PowerPoint, or another host application. That is why it is called Visual Basic for Applications.
Then there is VB.NET, which Microsoft often calls simply Visual Basic now, because apparently having several things named Visual Basic was not confusing enough.
VB.NET is the modern member of the Visual Basic family. It is used with the .NET platform and development tools such as Visual Studio. You can build Windows applications, web-related services, libraries, utilities, and other .NET projects with it. You may see visual form designers, buttons, text boxes, and event procedures that look somewhat like VB6 or Access forms, but do not let that fool you.
VB.NET is not VB6 with a fresh coat of paint. It uses a different runtime, different project structure, different libraries, different object model, and different programming features. Some basic syntax may look familiar, such as If...Then, loops, variables, and procedures, but an Access VBA procedure generally cannot just be pasted into a VB.NET project and expected to run.
The same goes in reverse. A VB.NET example might use .NET classes, namespaces, Windows Forms controls, or file-handling methods that do not exist in Access VBA. You may be able to learn programming concepts from it, but you still have to translate the solution into the Access environment.
Finally, there is VBScript. VBScript was a lightweight scripting language related to Visual Basic. It has commonly been used in old Windows automation scripts, Classic ASP web pages, login scripts, and administrative utilities. A typical VBScript file has a .vbs extension and can be run by Windows Script Host using WScript or CScript.
VBScript can work with COM objects and automate applications, which is why it was useful for lots of small jobs over the years. But it is not the same as VBA. It does not run inside your Access database as a normal VBA module, and it does not provide the same development environment, references, debugging tools, or Access object model that you have in Access.
VBScript has also been deprecated by Microsoft and is being phased out of Windows over time. It has not simply vanished overnight, and many existing scripts can still run depending on the Windows version and configuration. But if you maintain old VBS files, you should know what runs them and start thinking about their long-term future. Old scripts have a way of becoming "critical business infrastructure" right before somebody discovers they are 20 years old.
So here is the practical cheat sheet. If your code is behind Access forms, reports, buttons, queries, or recordsets, you are using Access VBA. If you are maintaining an older standalone Windows application, it may be VB6. If you are working in Visual Studio on a modern .NET project, you are dealing with VB.NET. And if you inherited a pile of .vbs files, that is VBScript.
They are all members of the larger Visual Basic family, and knowing one can certainly help you recognize pieces of another. Variables, conditions, loops, functions, and event procedures often feel familiar. But the runtime, available libraries, objects, project files, and deployment methods matter just as much as the syntax.
When looking for help, start with the application you are using. Search for "Access VBA" if you are working in Access. Search for "Excel VBA" if you are working in Excel. Search for "VB.NET" if you are working in Visual Studio. That one small habit will save you a lot of time and keep you from trying to use a hammer when what you found online is clearly instructions for a nail gun.
If you are new to programming in Access, the embedded video includes a walkthrough of these distinctions and will help you get your bearings. Once you know that Access uses VBA, you will have a much easier time finding examples, tutorials, and answers that actually apply to your database.
Want last names sorted first, then first names? In Access Query Design, put LastName to the left of FirstName and set both Sort cells to Ascending. Save the query so you can reuse that order. Watch the video for sorting in tables, queries, and forms.
For a complete step-by-step video tutorial on this topic, including additional examples and explanations, please visit https://599cd.com/2381.