Saturday, January 31, 2026

dotnet clean

dotnet clean by Alex Hedley

from Computer Learning Zone News https://599cd.com/3788

Friday, January 30, 2026

Stop Storing Payments by Month in Microsoft Access: The Beginner Table Mistake That Breaks Reports

If you started your billing database in Microsoft Access like an Excel spreadsheet, you're not alone... but you're probably making reports WAY harder than they need to be. In this week’s TechHelp Quick Queries, I cover a classic beginner mistake (and a simple upgrade that makes your whole database smarter).

The problem being addressed:
One of my students built a billing system where each customer record has separate fields for January, February, March, etc. It looks clean at first, but the moment you want to answer a basic business question like "How much money did we collect today?" everything starts falling apart.

Why common solutions fail:
When you store repeating monthly payments as separate fields, every new need creates more clutter: a paid flag for each month, then a date paid for each month, then an amount paid for each month... and suddenly one table record turns into a monster. Reporting becomes painful because you have to check a dozen different fields just to total deposits for one day. And when the next year rolls around? Now you're duplicating customer data just to start over with another set of month fields.

The practical solution presented:
The better approach is using a related payments table. Instead of one record holding twelve months of payment fields, you store each payment as its own record with the customer ID, payment date, and amount paid (and optionally what billing period the payment applies to). This makes end-of-day reports simple, lets you query payments by date instantly, and keeps your database scalable without redesigning everything every January.

Who the content is for:
This one is for beginners (especially anyone transitioning from Excel to Access) who are building billing, membership, or subscription databases. If you've ever created one table and started adding "JanPaid, FebPaid, MarPaid..." columns, this video will save you a lot of future headaches.

What is coming next:
I also answer a bunch of other great questions in this episode, including tabbed documents vs overlapping windows, Power Query merge performance compared to Access joins, combo box list caching, fixing report footer gaps, hiding tables with VBA (and why it is not real security), and whether Access is still worth learning in 2026. Lots of good stuff in this Quick Queries!

Live long and prosper,
RR

Thursday, January 29, 2026

Is Nothing: Optional Form Parameters in Access VBA - How to Avoid Crashes and Keep Your Code Clean

Ever write a nice clean VBA routine in Microsoft Access, only to have it blow up the second you try to make it "optional"? Yeah... this is one of those sneaky little gotchas that can waste an entire afternoon and leave you staring at your screen thinking, "Why is this even a thing?" In this lesson, I show you how to safely handle optional form parameters without rewriting your entire database.

The problem
A student asks a great question: how do you write one global "status message" routine that works across multiple forms, without duplicating code everywhere? This is a super common situation. You might have a little status box that displays messages like "Saving record..." or "Export complete" with a timestamp, and you want that same routine to work on your Main Menu, your Customer form, and anything else in your database.

Passing a form reference into your status routine is a great solution. It keeps your code reusable, clean, and easy to maintain. But then you hit the next logical step: "What if I want the form parameter to be optional?" Maybe you have hundreds (or thousands) of existing calls to your status routine, and you do not want to go back and update every single one just to add a form argument.

Why the common solutions fail
This is where most people run into trouble. Optional parameters are easy with text and numbers, but forms are different. A form is an object, and object variables don't behave like strings, dates, or numeric values.

So what happens when you try the usual tricks? Access throws errors like "Argument not optional" or "Object variable or With block not set." And if you try to handle it using common methods people use for other parameter types, VBA will fight you the whole way. It's frustrating because the routine seems correct until you run it without that form reference.

The practical fix (without rewriting everything)
In the video, I walk through the proper way to define the form parameter as optional, and then safely detect when it wasn't passed in at all. Once you can detect that situation reliably, you can automatically default to a specific form (like your Main Menu) and keep the rest of your existing code working exactly as-is.

This one little technique has a huge payoff: it prevents the error, keeps the routine reusable, and saves you from doing a painful global search-and-replace across your entire project.

Who this is for
This lesson is perfect if you are building Microsoft Access databases with multiple forms and you want cleaner, reusable VBA code. If you're the "lucky" person who got assigned the warehouse database (or any line-of-business system), and you're trying to make your UI more professional with consistent status updates, this is right up your alley.

Coming next
At the end, I also mention a cool upgrade you can add to this concept: automatically detecting whether the form you're working with has its own status box, and using it if available. That's a more advanced technique, and if you'd like to see that version, leave a comment and let me know. I may turn it into a follow-up video.

Live long and prosper,
RR

Wednesday, January 28, 2026

Almost Ready!

SQL Server for Access Users Level 1 is Almost Ready!

from Computer Learning Zone News https://599cd.com/SQLSA01

When You Wake Up Early and Lose the Whole Day

My body has a very specific sleep schedule programmed into it at this point. Most nights Lauren goes to bed like a normal human being, and I'm up working until midnight or 1:00 AM, because apparently my brain thinks "quiet house + computer + no dogs barking = peak productivity." Then I usually wake up somewhere between 8:00 and 8:30 AM, which gives me a solid 7 - 8 hours of sleep. Perfect.

Richard looking tired at his computer with coffee, late-night work vibes

But here's the weird part: my bladder acts like an alarm clock and usually wakes me up around 7:00 AM. Most mornings, no big deal. I take care of business, crawl back into bed, and get another hour and a half of glorious sleep. And that sleep is always the best sleep. It's like my brain switches to "dream mode: ultra vivid edition." I remember full conversations, storylines, the whole deal. Sometimes I wake up thinking I should sell tickets to the movie my brain just produced.

But sometimes (like this morning), I get up around 6:50ish, go back to bed, and my brain decides: Nope. We're done sleeping. We have projects. And suddenly I'm laying there fully awake, thinking about work, content ideas, Access projects, website tweaks, video plans... basically everything except sleeping, which is what I was supposedly there to do. I knew it was a mistake to get up. I KNEW it. But I looked at the clock and thought, "Hey, it's basically 7 AM. I'll just grab coffee and be fine."

Narrator voice: He was not fine.

It's almost 10:00 now and I am dragging. The brain fog is real. Today I'm not in "attack the day" mode. Today I'm in "move the mouse enough to convince the universe I'm still alive" mode. I'm just going through the motions like, "Alright... what's the next thing I have to do?" Thank goodness for my task list because without it I'd just be sitting here staring at the screen like an NPC waiting for a side quest.

I know a lot of you are nine-to-fivers (or at least you've got a schedule where you have to be somewhere at a specific time). I've been self-employed since my early 20s (back around 1992), so I've never really been a clock puncher. I work when I can, when the ideas hit, and when the motivation shows up. And if you run your own business, you already know the deal: your mind is basically never "off the clock." It's not like you leave work at work, go home, and return the next morning. Especially when you work from home. Work is always there, hovering in the back of your brain like a browser tab you forgot to close.

And honestly, I love that freedom. I don't have to set an alarm clock, which is glorious because I hate alarm clocks. The only time I ever set one is if I've got to catch a plane or I've got some ridiculous early doctor appointment. (Which is why I schedule just about everything for the afternoon whenever I can.) First thing in the morning is when my brain is sharpest and I'm the most productive, so I try to use that time for the creative stuff: recording videos, writing, building projects, and actually moving the needle. The downside is that it also means my brain sometimes wakes up early and starts working... whether I asked it to or not.

So let me ask you early risers (and fellow night owls who get betrayed by their own bladder): what do you do when this happens? When you wake up too early, you KNOW it's too early, and you KNOW your whole day is going to be powered by cappuccinos and regret... what's your trick? Do you force yourself back to sleep? Read something boring? Count sheep? Meditate? White noise? Or do you just accept your fate and start the day like, "Welp... guess I live here now."

Drop your wisdom below. I clearly need it. 😄

LLAP
RR

Tuesday, January 27, 2026

Ambiguous Name Detected in Access VBA: Fix Duplicate Procedure Names Fast (Status, Compile, Find)

If Microsoft Access suddenly throws "Ambiguous name detected" at you, don’t panic. This one looks scary, but it’s usually a two-minute fix once you know what it really means.

The problem: You run your database (or click a button) and VBA stops cold with the message "Ambiguous name detected". This happens when Access finds two different procedures with the exact same name somewhere in your VBA project, and it can’t tell which one you meant.

Why this happens (and why it’s so common): Most of the time this shows up after you copy and paste code from somewhere else, maybe from a template, a random website, or even my code vault. You add a new module that contains a procedure name you already had (like Status, Update, Process, etc.), and now Access has two matching names. If both are Public, VBA throws up its hands and refuses to guess.

Why common "fixes" fail: People often assume the copied code is broken, or they start deleting random things until the error goes away. That’s a great way to create brand new problems. This isn’t a “bad code” issue, it’s a duplicate name issue. Until you find the duplicate and resolve the conflict, the database will keep failing to compile and your code won’t run.

The practical fix: First, run Debug > Compile. This forces Access to identify the conflict immediately instead of letting it surprise you later. Then use the VBA Editor search (Ctrl+F) and switch the search scope to Current Project. Search for the procedure name mentioned in the error message and you’ll find both copies.

Once you find the duplicate, you have a few options: Rename one of the procedures, delete the one you don’t need, or change the scope so it’s not visible project-wide. For example, making one version Private prevents the rest of the database from seeing it, which can eliminate the conflict while still letting that module use it internally.

One extra "gotcha" I cover: Sometimes you’ll create a procedure with the same name inside a form’s code module without realizing it. In that case, code behind the form can take priority over a global module, which leads to confusing behavior. When needed, you can explicitly call the global version using the full module reference (like GlobalMod.Status).

Who this video is for: This is a VBA developer-level tip for anyone building Microsoft Access databases, especially if you’re the kind of person who grabs working code snippets and pastes them into an existing project (no judgement... but yes, I’m looking at you).

What’s next: If you want to go deeper, I recommend learning more about scope and visibility (Public vs Private), because this exact issue is one of the most common “copy/paste coding” problems Access developers run into. And yes, the best habit you can develop is this: Debug - Compile once in a while (especially right after adding new code).

As always, post a comment and let me know how you’re using this in your database.

Live long and prosper, my friends. RR

Monday, January 26, 2026

Visible Sleep Countdown Timer in Microsoft Access (VBA SleepSec + Status Box Upgrade)

Ever had your Microsoft Access database "pause" for a few seconds and make you think it just crashed? Yeah... your users think that too. In this TechHelp video, I show you a simple little VBA upgrade that makes your database look alive and professional: a visible countdown timer right on the screen while your code is waiting.

The problem: Sometimes your Access code needs to wait. Maybe you're automating something (like opening another app), waiting for a file to finish copying, or giving Windows a second to catch up. The trouble is, when Access just "sleeps" with no feedback, the database looks frozen. Users start clicking things, mashing buttons, and assuming the worst.

Why common solutions fail: A basic hard pause (like using a straight Sleep call) locks things up visually. The screen doesn't update, you don't get status messages, and the user has no clue what's happening. Even worse, they may assume your database is broken when it's really just waiting normally in the background.

The practical solution: I take the SleepSec function I built in my earlier sleep video and upgrade it to include an optional visible countdown timer. Instead of waiting silently, Access displays something like "Wait 5... Wait 4... Wait 3..." so the user can see that the program is still working and how long the pause will last.

This improved version loops one second at a time, optionally calls DoEvents so the interface stays responsive, and uses my Status Box to show the countdown message right on the form. It's a small change, but it makes your database feel a lot more polished.

Who this is for: This is a Microsoft Access developer tip, so you'll want to be comfortable with a little VBA. If you're already using SleepSec, status messages, or doing any kind of automation (SendKeys, file handling, external apps, etc.), this is a great quality-of-life upgrade that you can reuse everywhere.

What’s coming next: In the extended cut, I show members how to display the countdown without printing multiple lines, so it updates in-place like an old-school DOS app (super clean and professional). Also, this function (SleepSeconds) is available in my Code Vault, and I’ve got tons more reusable VBA modules in there for Access developers.

If you're going to make Access wait, don't leave your users staring at the screen wondering if your database just died. Give them a countdown and keep things feeling alive.

Sunday, January 25, 2026

Microsoft Access Developer Level 51: Drag & Drop Files, Popup Forms, Class Modules

What if your users could drag and drop files directly onto a Microsoft Access form... and your database automatically handles everything?

Microsoft Access Developer Level 51 is all about building real-world features that make your databases easier to use, easier to maintain, and a whole lot more professional. This class isn’t theoretical. We’re building practical tools you can drop into your own projects right away.

The problem: Access databases are great at storing data, but they don’t always feel as smooth as modern apps when it comes to user interaction. Simple tasks like attaching files, picking dates, or entering values often turn into clunky workflows: browsing through file dialogs, copy/paste routines, or pop-up forms that appear in weird places and confuse users.

Why common solutions fail: Most “quick fixes” work on one form, for one field, in one specific scenario... and then explode the moment you introduce subforms, continuous forms, or multiple areas of your application that need the same behavior. That’s how you end up with duplicated code, fragile workarounds, and maintenance headaches down the road.

The practical solution: In this course, we start building a drag-and-drop file management system where users can drop files directly onto a form, and Access takes it from there. Your database automatically files the document into the correct folder, assigns it a clean unique name, links it to the correct customer (or record), and refreshes the form so the new file is immediately available. No storing files inside the database itself (you know better than that). We store links the right way, in a structure that actually holds up in the real world.

We also build a slick, reusable popup-over-control system where a modal form opens directly over the control you clicked, returns values back to the calling field, and behaves properly even when you’re working with subforms and continuous forms (which is where most Access solutions fall apart).

Then we take it up a notch by wrapping that entire pop-up system into a clean class module. This is a great real-world example of encapsulation and reusable code: once the class is built, you can apply the same behavior across your database with minimal effort, and your future self will thank you when it’s time to update or expand it.

And if you’ve ever had rs.Delete skip records inside a loop or cause cursor chaos (especially with linked tables or SQL Server), I’ll show you the safe, professional method: loop through the recordset, apply your business rules, archive what you want, and delete records using separate SQL statements so the cursor stays stable and your routine remains reliable.

Who this course is for: This class is for Access developers who already know VBA and want to build more advanced systems that work reliably in real-world databases. If you’re still in the beginner or expert stages, you’ll want to follow the course sequence first, because we move fast and we build on previous Developer lessons.

What’s coming next: We’re setting the stage for even more enhancements to the file drop system, including better file opening behavior, recycle bin handling, icons/thumbnails, and other finishing touches in the next Developer level.

That’s what you’ll learn in Microsoft Access Developer Level 51. If you’re ready to make your databases feel smarter and more powerful (without turning them into a maintenance nightmare), click the link below and check it out. You can find more information on my website at the link shown. I’ll also put a link in the description below. Live long and prosper, my friends.

LLAP
RR

Winter Storm Survival Tips: Generators, 4WD Myths, Buffalo Blizzards, and Florida's Falling Iguanas

If you're one of the millions of Americans caught in this monster storm cutting across the country this weekend, consider this your friendly reminder to stay warm, stay safe, and use a little extra common sense. And even though I live in Florida now, I'm no stranger to winter weather. I spent most of my life in Buffalo, New York, so I've seen firsthand what heavy snow and ice can do when it hits hard and knocks out power. In fact, one email from a student this week kicked loose a whole flood of storm memories (and a few survival tips worth repeating).

Shoveling snow in a winter storm with a generator and extension cords powering neighbors, with penguins watching

I received an email from one of my Silver members, Shawn. He told me he's just outside of Nashville, and that their biggest concern right now isn't data issues or computer problems, it's simply keeping the power on. They've got a lot of ice weighing down the trees around them, and anyone who's lived through an ice storm knows that's when things start snapping and the lights start flickering. He also mentioned (very politely) that he remembered I'm in Florida now, and hoped I was warm and dry. I appreciated that, and yes... I'm warm and dry at the moment, but I'm going to rub it in just a tiny bit later. :)

Now, Nashville is a lovely city. My wife and I were just there last year. We spent a day or two exploring, checking things out, and we even did one of those bar bikes downtown, which was an absolute blast. I'm not a huge country music fan, but I love the atmosphere in Nashville. It's like the whole city is walking around with a smile, a guitar, and something deep-fried. Mmm... I do miss that hot chicken.

But back to the storm. I've been watching this winter weather system cutting through the country on the news, and if you're anywhere near it, please stay warm and be safe. And I'm saying that as someone who currently lives in Southwest Florida but spent most of my life in Buffalo, New York up until around 2013. I know snow. I know ice. I know what it feels like to wake up, look outside, and realize nature has chosen violence.

One of the worst storms I ever lived through in Buffalo was the October Surprise back in 2006. It hit early in the season (October, duh), which is important because most of the trees still had their leaves. And that combination is a recipe for disaster: wet, heavy snow sticks to those leaves, piles up fast, and suddenly every branch in the city is carrying the weight of a small refrigerator. That storm absolutely hammered the area, with tree limbs snapping everywhere, power lines coming down, and whole neighborhoods going dark. People were without power for over a week in many places, and I personally went about 10 days without power.

And here's where my inner computer nerd takes the bridge. In the early 2000s, still in the post-Y2K mindset, I had gone out and bought a portable generator "just in case." Today, generators are everywhere. Back then, not so much, and they were expensive enough that a lot of people didn't bother. I think I paid close to $2,000 for mine back then (roughly about $3,600 in today's money), which I know sounds outrageous now. But when the storm hit, I was the only person on my street who had one.

So what happened next? Extension cords. Everywhere. I'm talking giant orange extension cords running to my neighbors' houses so they could keep sump pumps running and save their eggs and milk. Why sump pumps? Because right after the storm passed, the temperature warmed up into the 50s and 60s, so all that snow started melting fast and everybody's basements started flooding. It was like we got hit by a blizzard and then Mother Nature immediately said, "Okay, now let's do indoor pools." It was chaos, but we survived, and honestly it turned into one of those moments where the neighborhood felt like a neighborhood again.

And afterward... wow. Cleanup was unreal. There were tons of branches and debris all over the city, and parking lots at malls and shopping centers looked like someone dumped an entire forest there. They brought in these enormous wood chippers, and when I say enormous, I mean these things looked like they could shred a car. It was like a scene out of a movie. I was out in the front yard with my little electric chainsaw - running off my generator - chopping up trees that fell in my yard for what seemed like two years.

Now, I'm not telling you all of this to win the suffering Olympics (although Buffalo would be a strong contender every year - that's why I moved). I'm saying it because when I hear someone say, "Our big concern is keeping the power on," I instantly know exactly what that feels like. And yes, Florida has its own brand of weather chaos too. I've been through several hurricanes already, and Hurricane Ian in 2022 was especially rough.

We're nowhere near the water, so storm surge isn't a concern for us (and storm surge is one of the most dangerous parts of a hurricane), but we still got hit hard. We lost our fence, we lost power, and we were without electricity for over a week. The funny part is this: when I first moved to Florida and bought a house, the very first thing I did was install a whole-house generator. I never needed it. Even during Hurricane Irma back in 2017, the power never went out at my place, so I had this whole-house generator sitting there like a perfectly trained guard dog that never got to bark.

Then I sold that house around 2020, moved into a condo for a while, and rented for a bit. And of course, Hurricane Ian hits while I'm renting. During Ian, all I had was a small portable generator again, and that little thing got us through about 10 days with no power. It wasn't luxurious, but it worked, which is really the theme of surviving storms: you don't need perfect, you need functional. When I bought my most recent house, you better believe the first thing I did was install a whole-house generator again, and in the past three years we haven't really needed it. It's kicked on once or twice because here in Florida we get those quick two-minute power blips during lightning storms, but nothing serious. Still, I sleep better knowing it's there.

So Shawn, yes, I understand the priority shift from "data issues" to "keep the lights on." Now for the part where I rub it in just a little bit. Right now it's about 80 degrees and sunny here in Southwest Florida. We're getting ready to take the dogs in the pool today. But here's the twist: we're also getting a cold snap. By Tuesday morning it's supposed to be in the 30s around here, which is pretty rare. Not unheard of, but unusual enough that Floridians react like the apocalypse is scheduled for Tuesday at 6:30 a.m. Just like pre-hurricane, everyone makes a run on groceries, TP, and... yes the liquor stores are packed.

Also when that happens, there's an absolutely hilarious Florida phenomenon: falling iguanas! Yes, iguanas fall out of the palm trees. This is a real thing. Look it up. They're not dead, they're cold-stunned. They basically get paralyzed when it gets that cold, lose their grip, and drop out of trees like scaly little lawn darts. It's funny... as long as you're not walking under one.

Anyway, all of that brings me to the important part: staying safe. I'm not going to give you the entire generic checklist that you already know. You guys know the basics: flashlights, batteries, bottled water, basic first-aid kit, all that stuff. I'm not going to spend your day reciting what everyone already posts on every storm-prep list ever created. Instead, here are the weird things people forget, and the things I've seen go wrong.

First: stay indoors if you can. Second: stay off the roads. And third: don't drive just because you have four-wheel drive. This one drove me nuts every year when I lived in Buffalo. Four-wheel drive helps you go. It does not help you stop. It might help you get out of a ditch after you've slid into it, but it does not magically change the laws of physics. I've seen so many people in big trucks and SUVs thinking, "I've got 4WD, I'm good." No. No you're not. You're not good on ice.

Next: generators. Please do not run a generator indoors. Not in the house, not in the basement, not in a garage, and not even in the garage with the door open. Generators belong outside. Carbon monoxide is a killer, and it doesn't announce itself. People fall asleep and don't wake up. It's silent, invisible, and ruthless. Get yourself a carbon monoxide detector, and if you can, get more than one.

In fact, I have a small portable CO detector that I travel with. There have been multiple reports over the years of people traveling to resorts (even fancy ones) and dying in their sleep from carbon monoxide poisoning due to some equipment malfunction or ventilation issue. Every time I check into a hotel, I plug it in. It's cheap insurance and one of those "I'd rather feel silly than be sorry" habits.

While we're talking power, a good solar charger is one of the best storm tools you can buy. Not just for your phone, but for lights, emergency radios, rechargeable battery packs, all of it. Even if the whole area is out, the sun still shows up and does its thing. I'll include a link to the one I recommend because it's one of those purchases you don't care about until you really, really care about it.

Also, write down your emergency numbers. Do not rely on your phone memory when the phone itself may be dead. Whenever I travel, I write down important numbers on a business card and keep it in my wallet: hotel number, taxi service (or two), and any key contacts I might need. Because when you're stressed and cold and your phone is dead or cell service is down, the words "I know it's saved somewhere" become completely useless. Paper doesn't need a charger.

Another one: be smart about shoveling. If you're not in shape (and let's be honest, most people aren't in "snow shoveling shape"), you can absolutely hurt yourself. Warm up first. Use your legs, not your back. Take breaks and don't try to do it all at once. A lot of heart attacks happen from shoveling snow, and that's not hype, that's reality.

Now let's talk pets, because this one makes me angry. Bring your pets inside. I hate when people leave their dog outside all winter freezing, and I hate it just as much down here in Florida when people leave dogs out in the heat all summer. That's not "toughening them up." That's cruel. Your pets aren't yard decorations. They're family members. They deserve warmth, food, safety, and comfort just like everyone else.

And finally, consider a go bag. Hopefully you never need it, but if you do need it, you'll be glad it's ready. We keep those down here for hurricane season, because sometimes you really do have to get out of Dodge. It doesn't have to be anything fancy, just the essentials: medications, copies of important documents, chargers, flashlight, some cash, and basic supplies. It's the kind of stuff you don't want to be scrambling for at 2 a.m. when the world is sideways.

So yes, while Shawn's email started off as "keeping the power on," it turned into a reminder that weather doesn't care about your to-do list. It doesn't care about your plans. It doesn't care about your schedule. It shows up, throws furniture around, knocks out power, and laughs at your confidence. But if you're smart, prepared, and cautious, you'll get through it, and you'll have a story afterward.

Shawn, stay warm and stay safe up there. Keep an eye on those ice-loaded trees, keep your phone charged, and stay off the roads unless you absolutely have to go somewhere. And if the power goes out, at least you know you're not alone, and at least you're not dodging falling iguanas.

LLAP
RR

Saturday, January 24, 2026

My Starfleet Academy Review

I've been watching the new Starfleet Academy series, and after three episodes, my reaction is complicated in a very familiar Star Trek way. I'm not hate-watching it. I'm not cheering either. I'm watching, thinking, and occasionally muttering at the screen like Scotty watching a newbie wire a dilithium matrix backwards. I went into this fully expecting a younger cast and lighter tone. A show called Starfleet Academy was never going to feel like The Next Generation. Still, what surprised me is how often it feels like it's drifting away from what made Star Trek resonate with me in the first place.

Side-by-side comparison of a formal Starfleet captain and a relaxed Starfleet Academy chancellor in their command chairs

A lot of that probably comes from how I connected with Star Trek growing up. I didn't have a strong father figure in my life, and characters like Kirk and especially Picard filled that gap more than I realized at the time. Picard wasn't just a captain. He was thoughtful, patient, ethical, and steady. I was around thirteen or fourteen when The Next Generation aired, and Picard became a kind of surrogate father figure for me. Star Trek used to be about competent adults wrestling with serious ideas, and that mattered.

So my problem with Starfleet Academy isn't that the characters are young. It's that they often feel too young. Academy students should feel like young adults, focused on their future and their responsibilities, not teenagers trapped in emotional loops. That's one of the reasons I eventually bailed on the CW superhero shows. I love Supergirl. I love Green Arrow. I love The Flash. But those shows became ten minutes of story and cool effects followed by thirty or forty minutes of teen drama and woe-is-me conversations. I ended up putting them on in the background while reading something else, then looking up when something actually happened. That's unfortunately how I'm watching Starfleet Academy right now. When I realize I've missed five minutes of plot and it turns out nothing important happened, that's not a great sign.

The Burn is still part of the background, and I've mostly accepted that. It happened. It's history. Fine. My issue is that modern Trek won't stop poking at it. We've already seen the fallout. We've seen worlds become isolationist. We've seen entire cultures hide themselves because of it. At this point, I want the Burn left alone. Let it be part of history. Stop dragging it back into the story as a justification for everything that feels broken.

If this is an academy, I want to see training that actually feels meaningful. I get the pranks and rivalries, but where are the real tests? Where are the Kobayashi Maru-style scenarios that force hard choices and leave scars? Training should have consequences. Starfleet officers aren't trained at summer camp. They're shaped by pressure, failure, and responsibility. Otherwise, it starts to feel more like an extended orientation week with phasers.

Authority is another problem. Star Trek has always treated the uniform as something sacred. It represents discipline and shared purpose. That's why the barefoot chancellor bugs me so much. Not because she's a woman, but because it makes the institution feel unserious. Walking around barefoot, feet on the desk, slouched in meetings, curled up in her captain's chair, it feels less like Starfleet and more like a relaxed retreat center that just happens to issue rank insignia. I actually like the actress quite a bit. She was great in Batman v Superman. This isn't about performance. It's about tone.

The dialogue also trips me up. A lot of it sounds like present-day social media, and that pulls me right out of the far future. I get that writers want characters to sound relatable, but Star Trek has always had its own voice. People spoke like they believed in ideas bigger than themselves. When everyone sounds like they just stepped out of a 2026 comment thread, the illusion cracks. I'm not saying everyone has to be a Shakespearean actor like Patrick Stewart, or talk.... with...... random.. pauses..... like..... James T........ Kirk... but come on. There's a middle ground.

Caleb, the main character, hasn't really grabbed me yet. His backstory is interesting. Escaped as a child. On the run. Prison time. Rescued by Starfleet leadership. And then almost immediately, it feels like that history gets ignored. Suddenly he's just another academy student, and the weight of that past barely registers. Even in the pilot, when he pulls off some last-minute computer hacking miracle to save the day, it feels a little too convenient and over the top, even by Star Trek standards.

Klingons are a mixed bag. They're definitely an improvement over Discovery, and I'm grateful I don't have to read subtitles nonstop anymore. I like hearing Klingon in small doses, but when you're constantly reading subtitles, you miss the actor's performance. Star Trek VI nailed this. A line or two in Klingon, then switch to English and let Christopher Plummer do his thing. Also, something about the Klingon's voice here sounds off to me. Too low, too processed, almost fishy. I can't quite put my finger on it. And enough with everyone being half-this, half-that. It worked with Spock. It worked with B'Elanna Torres. Now it feels overused.

The far-future setting is still a problem for me. The further Trek pushes into the future, the more ridiculous the technology becomes. When everything is absurdly powerful, tension disappears. Constraints make stories interesting, and the 32nd century has too few of them. One of my favorite things about Enterprise was that they were still discovering how the new technology at the time worked. Transporters were just barely approved for human use. They didn't have tractor beams or photon torpedoes, and so it was cool seeing those things being introduced. Now it's like we've got a transporter built into a pistol that we can use during games. Lame. That's not tension. That's a cheat code.

Then there's the USS Athena. I'm sorry, but it's ugly. Starfleet ships used to look like they were designed by engineers solving problems. The Athena looks like it was designed to look different, not by engineers, but by a focus group armed with crayons and a mandate to stand out. The detachable nacelle trend from Discovery still bugs me too. Warp engines aren't accessories. They're supposed to be bolted on, structural, purposeful. Form used to follow function in Star Trek, and that philosophy seems to be getting lost.

All that said, I don't think the acting is the problem. I think the cast is doing fine. The issues here are structural and tonal. And I keep reminding myself that Star Trek has always stumbled early. The first season of The Next Generation had some real clunkers. Deep Space Nine didn't truly find its footing until the Dominion War. I'm giving Starfleet Academy a chance. I'll suffer through the first season if history is any guide.

One of the things I actually enjoy a lot is the drill instructor, Commander Lura Thok, who's this half-Klingon, half-Jem'Hadar cadet master on the Athena. At first I thought, why are they doing the half-and-half thing again, but her performance totally sells it. She's tough, no-nonsense, and gives off real disciplinary energy, not just teen angst. I hope the writers don't soften her too much or turn her into a buddy to the students. She feels like someone who's actually earned her authority, and that's a refreshing breath of old Trek discipline.

One other thing I genuinely hope they follow up on is Paul Giamatti's character from the pilot. I've always liked him as an actor, and I thought he did a great job right out of the gate here. He brought some real presence and weight to the role, and that's something the show could absolutely use more of. If they're smart, they'll bring him back as a recurring antagonist instead of a one-and-done villain. Star Trek has always been at its best when its villains feel intelligent, motivated, and persistent, not just obstacles of the week. Q was the perfect example of this. Until they "killed" him. Big mistake, in my opinion. Star Trek has always been better when its villains come back smarter and more annoying each time.

The look and feel of the show impress me too. The sets really do feel big and solid, and I've read that this might be the biggest set Star Trek has ever used, which shows in the visuals. The new bridge design is neat and even has a bit of that Strange New Worlds echo to it without just copying someone else's style. The lighting, the costumes, the polish overall all feel high quality.

I also like that The Doctor is back and still feels like himself. He was a fun part of Voyager, and seeing him in this far future gives a sense of continuity that helps pull this new generation into the bigger franchise. Although I do admit that I really liked the grumpy Doctor with the horrible bedside manner of the first couple Voyager seasons more than the kinder, funnier Doctor he became over time.

Starfleet Academy has potential. I'm not giving up on it. I'm just hoping it remembers what made Star Trek aspirational in the first place. Competence. Curiosity. Consequences. And adults who lead like adults.

LLAP
RR

P.S. Oh, and if anyone at Paramount ever stumbles across this, I've had a Star Trek idea rattling around my head for decades. An anthology series. Twilight Zone-style Trek. Every episode stands alone. Different era. Different crew. Different corner of the universe. One week in Picard's era. Another in Archer's time. A Klingon story. A Ferengi story. Bring back legacy actors when it makes sense. Modern virtual set tech makes this more doable than ever, without being trapped in one timeline or one cast. I'm available to consult. Call me.

dotnet build

dotnet build by Alex Hedley

from Computer Learning Zone News https://599cd.com/3787

Friday, January 23, 2026

Access D51 Lesson 05

How To Create LeftMost And RightMost Helper Functions For Strings in Microsoft Access VBA

from Computer Learning Zone News https://599cd.com/ACD51-5

Access D51 Lesson 01

How To Open a Modal Pop Up Form Over the Active Control and Set Its Position in Microsoft Access

from Computer Learning Zone News https://599cd.com/ACD51-1

Access D51 Lesson 03

How To Open Modal Popup Forms Over Controls in Subforms with Row Positioning in Microsoft Access

from Computer Learning Zone News https://599cd.com/ACD51-3

Access D51 Lesson 04

How To Use Class Modules For Pop Up Forms With Subform Detection in Microsoft Access

from Computer Learning Zone News https://599cd.com/ACD51-4

Access D51 Lesson 06

How To Safely Delete Records In A Recordset Loop And Avoid Skipping Errors In Microsoft Access

from Computer Learning Zone News https://599cd.com/ACD51-6

The Microsoft Access Security Myth: Can You Really Hide Tables From Users?

If you think hiding tables in Microsoft Access makes your database secure, I’ve got some bad news for you. In this week’s TechHelp Quick Queries, we bust one of the biggest security myths in Access and talk about what actually protects your data.

The Problem: A lot of people assume they can “secure” an Access database by hiding tables, password protecting objects, or relying on the Navigation Pane being out of sight. The idea is that users can work with forms and reports, but won’t be able to see or get to the raw data behind the scenes.

Why Common Solutions Fail: Hiding objects in Access isn’t security. If someone has the database file, they can usually access the data with the right tools, especially if the tables are stored locally inside the database. Even passwords and simple Access-only tricks often give a false sense of protection. In other words, hiding your tables is more like closing the curtains than locking the doors.

The Practical Solution: If protecting data actually matters, you need real separation and real permissions. That means using a split database (so each user has their own front end) and securing the data in a proper backend. The best long-term approach is a database server like SQL Server where you can apply user-level security and control who can see what.

More Questions Covered: After that, we jump into a bunch of great viewer questions, including how to build menu searches that let users type just part of a part number (wildcards and “search as you type”), the pros and cons of tab controls, what happens when Amazon changes their website layout when you’re copying webpage data, and how to handle 20 users running the same database on different versions of Access.

Templates Like Northwind: We also talk about why Microsoft templates like Northwind are more like feature demos than starter databases. They’re well built and show what Access can do, but the moment you try to bend them to your real business, you often end up fighting macros, hidden logic, and design decisions you didn’t make.

Who This Video Is For: If you’re building Access databases for clients, sharing a database across multiple users, trying to protect customer data, or just wondering why certain “simple fixes” turn into big headaches, this episode is for you.

Coming Next: I’ve got more videos coming soon on SQL Server integration, better backup strategies, and more automation tools (including some fun new projects I’m experimenting with). So if you’ve got a question, leave it in the comments and it might show up in next week’s episode!

Thursday, January 22, 2026

Smart Combo Boxes 2

How to Build Smart Combo Boxes in Microsoft Access That Load Faster, Part 2

from Computer Learning Zone News https://599cd.com/SmartComboBoxes2

Wednesday, January 21, 2026

You Can Do a Lot

You can do a lot in a lifetime, if you don't burn out too fast.

Endurance and consistency reminder

That line from Marathon by Rush is one of the best reminders that real progress is about endurance. A little bit every day beats a short burst of intensity every time. You don't need to sprint. You just need to keep moving.

Whether you're learning a new skill like Microsoft Access, practicing piano, or working on fitness and weight loss, results just don't magically appear overnight. You're not going from 300 pounds to 180 pounds in a week, and you're not mastering a complex skill in a single weekend.

This is your reminder to take it day by day, step by step, with slow, steady effort. The same thing applies to the work I do. I didn't build my YouTube channel or my courses in an hour. It happened over years, one video at a time.

Whatever project you're working on might feel huge or overwhelming right now. Break it into small, manageable, honest steps. Do what you realistically can each day, and let consistency do the heavy lifting.

You can make the most of the distance. First you need endurance. First you've got to last.

LLAP
RR

How to Build Smart Combo Boxes in Microsoft Access That Load Faster

If your Microsoft Access forms feel slow or clunky, there is a good chance your combo boxes are loading far more records than they actually need. In this TechHelp video, I show how to build smarter combo boxes that load only what is necessary, making your forms faster, cleaner, and easier to use.

The problem
Many Access developers load entire tables into combo boxes by default, even when those tables contain thousands or tens of thousands of records. This can slow forms down significantly, especially over a network or with a SQL Server back end, and it also creates clutter for users who usually just want to see the current value.

Why common solutions fall short
Filtering combo boxes manually or relying on users to search through long dropdown lists still means loading a lot of unnecessary data. Inactive records, old customers, or unused values continue to hurt performance and usability unless you deliberately control what gets loaded.

The practical solution
In this video, I demonstrate how to build smart combo boxes by changing the RowSource dynamically based on context. When viewing an existing record, the combo box loads only the current value. When adding a new record, it loads only active records. Simple command buttons allow the user to switch to active or all records on demand, giving flexibility without sacrificing performance.

Who this video is for
This is a developer-level TechHelp video aimed at Access users who are comfortable with VBA and want better control over form behavior and performance. If you work with large tables, multi-user databases, or linked data sources, this technique can make a noticeable difference.

What is coming next
Building on this idea, there are other videos that explore advanced combo box techniques, dynamic filtering, and performance optimization in more depth. And if you ever search YouTube or Google for a Microsoft Access topic and do not see one of my videos, let me know. I will make one.

Tuesday, January 20, 2026

How To Create A Self Cleaning Log In Microsoft Access And Automatically Delete Old Records

If your Microsoft Access database has been getting slower over time and you cannot quite put your finger on why, there is a good chance the problem is a quiet one growing in the background. Log tables do their job well, but if you never clean them up, they can slowly bloat your database and drag down performance.

The problem
Many Access databases use log tables to track user activity, logons, logoffs, or other events. These tables grow a little bit every day, often without anyone noticing. After months or years, the log can become massive, making the database slower and harder to maintain.

Why common solutions fail
Most people either ignore the problem or rely on manual cleanup. That usually means opening the table occasionally and deleting old records by hand, which is easy to forget. Others build a delete button that nobody ever clicks. In the real world, manual maintenance almost never happens consistently.

The practical solution
In this video, I show you a simple way to have Microsoft Access automatically remove old log records based on age. The cleanup runs quietly in the background, keeps only the most recent entries you care about, and prevents the log table from growing forever. No babysitting required.

Who this is for
This video is for anyone using Microsoft Access to log user activity or other events, especially if the database has been in use for a long time. You only need a basic understanding of VBA to follow along.

What is coming next
For members, the extended cut goes further by turning this into a reusable logging system, automatically creating missing log tables, and making the solution easy to drop into any database. Details are covered in the extended cut for paid members.

Penguin Awareness Day

Today is Penguin Awareness Day, which I fully support because penguins have been out there in formal wear since before it was cool.

Starship crew meeting an alien penguin delegation in Antarctica with penguins and an alien ship in the background

Behind the adorable waddling and the whole "business meeting on ice" vibe, penguins are actually having a rough time. They depend on stable oceans, predictable ice, and healthy food chains. When those things change, penguins don't just adapt overnight. They struggle.

Penguins already survive freezing temperatures, long fasts, and some truly terrifying predators. Now we've thrown climate change (1) and oceans filled with plastic into the mix, which feels a little unfair given they didn't invent fossil fuels or single-use water bottles.

Penguin Awareness Day is less about guilt and more about paying attention. Supporting conservation efforts, being a little smarter about what we consume, and not treating the planet like it's disposable all help. Even learning why penguins matter is a solid start: Here. Here.

So today, take a moment to appreciate the tiny tuxedo professionals of the southern hemisphere. They're doing their best. We probably should too.

And let's not forget the lesson we learned in Star Trek IV: The Voyage Home. When Earth was about to get wiped out by a mysterious alien probe, Kirk and the crew had to go back in time and kidnap a couple of humpback whales because we'd already wiped them out. Message received.

For all we know, there are ancient alien penguin relatives cruising the galaxy right now. If they swing by Earth someday and discover we wiped out the penguins, they're gonna be pisssssssed. Best to keep the penguins around, just in case.

Starfleet would approve.

LLAP
RR

(1) Yes, it's real. Yes, humans are exacerbating it. The science is clear on this one. Don't get me started.

P.S. I support the Global Penguin Society. This group is part of the Wildlife Conservation Network, a registered 501(c)(3) with a 4-star Charity Navigator rating, and a Platinum Seal of Transparency from GuideStar. They focus specifically on penguin conservation through science, policy, habitat protection, and education. One of my big issues with charities is when they spend way too much money on executive compensation or super-expensive office space. These guys don't. I made my donation this morning. You should too.

Monday, January 19, 2026

Access D51 Lesson 07

How To Enable Drag And Drop File Uploads With Windows API In Microsoft Access VBA Forms

from Computer Learning Zone News https://599cd.com/4321

ACD51 Lesson 07

How To Enable Drag And Drop File Uploads With Windows API In Microsoft Access VBA Forms

from Computer Learning Zone News https://599cd.com/ACD51-7

Remembering MLK: Justice, Legacy, and Responsibility

I want to take a moment today to remind everyone why this day matters. It is not just to honor a man, but to remember the legacy that Nobel Peace Prize recipient Martin Luther King Jr. left behind.

His words were not meant to be framed and forgotten; they were meant to challenge us, especially when times get uncomfortable. Right now, when liberty, fairness, and equal justice feel under strain in so many ways, his message feels as relevant as ever.

When King said that injustice anywhere is a threat to justice everywhere, he was not just talking about a single moment in history. He was talking about a responsibility that never expires, a reminder that staying silent, looking away, or assuming it doesn't affect me is how injustice spreads.

So today, I want to revisit these words and this message, not as a history lesson, but as a reminder. A reminder of what we should be striving for, what we should be protecting, and why Martin Luther King's legacy still matters now.

This legacy is not something we revisit just once a year out of habit. It is something we are supposed to measure ourselves against - how we treat one another, whose voices we listen to, whether we speak up when something feels wrong, or stay quiet because it is easier.

King's message reminds us that justice does not erode all at once. It fades when we stop paying attention. And that is why this day still matters, not as a celebration, but as a check-in, a reminder that progress is not permanent. It is something that has to be protected, renewed, and carried forward by each generation.

And now, if you would like to go a little deeper, here is last year's MLK video, which I am really proud of. It reflects on the man, his words, his legacy, and yes, because it is from me, there is a little Star Trek in there too. Enjoy.

LLAP
RR

Sunday, January 18, 2026

Microsoft Access Tab Control Madness! A Cleaner Technique That Avoids The Headaches. QQ #75

If you have ever built a Microsoft Access form that started simple and slowly turned into a tangled mess of tabs, this video is for you. What looks clean at first can quietly turn into one of the most frustrating design choices you can make.

The problem being addressed
Tab controls in Microsoft Access seem like an easy way to organize lots of related information on a single form. Over time, however, they tend to introduce confusing bugs, parameter prompts, broken references, and code that is difficult to read and maintain. Once subforms, expressions, and cross references enter the picture, things can spiral fast.

Why common solutions fail
Most developers try to fight these issues by adding more code, more checks, or more complex references to controls buried inside tabs. This often makes the application harder to debug and easier to break. Tab controls also make it more difficult to reference controls reliably, especially when multiple subforms and calculated expressions are involved.

The practical solution
Instead of stacking everything behind tabs, I demonstrate a cleaner design pattern that uses a single subform container and swaps subforms dynamically. This approach is easier to understand, easier to code, and far more flexible. It reduces errors, simplifies references, and gives you better control over how your interface behaves.

More topics covered in this video
This Quick Queries episode also answers viewer questions on SendKeys and Windows security prompts, why #Name errors appear in datasheets, when web scraping makes sense, why cloud sync is not the same as real backups, useful keyboard shortcuts, and how to think about database design when there is no single perfect answer.

Who this content is for
This video is ideal for Microsoft Access users who build real world databases, whether you are a beginner running into layout issues or an experienced developer dealing with maintenance headaches. If you value clean design and long term stability, there is something here for you.

What is coming next
Based on feedback, I may expand further into backup strategies, interface design patterns, and deeper dives into Access development techniques. As always, the best topics come from your questions and comments.

Saturday, January 17, 2026

dotnet new

dotnet new by Alex Hedley

from Computer Learning Zone News https://599cd.com/3785

Friday, January 16, 2026

Quick Queries #75

Microsoft Access Tab Control Madness! A Cleaner Technique That Avoids The Headaches. QQ #75

from Computer Learning Zone News https://599cd.com/QQ75

Thursday, January 15, 2026

Copy Web Page Data 2

How To Copy Web Page Data Into Microsoft Access From Sites Like Amazon And Walmart, Part 2

from Computer Learning Zone News https://599cd.com/CopyWebPageData2

Wednesday, January 14, 2026

How To Copy Web Page Data Into Microsoft Access From Sites Like Amazon And Walmart

Ever notice how you can clearly see prices on sites like Amazon or Walmart, but when you try to pull that data into Microsoft Access it is like the prices do not exist at all? In this video, I explain why that happens and show a practical workaround that lets you capture exactly what you see on the screen and save it in Access.

This question came from one of my Platinum members who wanted to track and compare weekly prices between Amazon and Walmart without constantly switching browser tabs and relying on memory. While APIs and background web requests are usually the first tools to reach for, many modern websites intentionally hide or inject pricing data using JavaScript, which makes those methods fail even though the data is visible on screen.

I walk through why APIs are often unavailable or impractical for everyday consumers, why HTTP requests and browser controls come up empty, and why logging in requirements make background methods useless for sites like banks and credit card companies. If you have ever wondered why Access cannot see data that your eyes clearly can, this video explains exactly what is going on.

The solution I demonstrate is what I like to call a good enough approach. Instead of fighting hidden HTML and JavaScript, we simply let the browser load the page normally, copy the visible text using standard Windows techniques, and paste that data directly into Access. It is not fancy and it is not perfect, but it works reliably and gets the job done.

This is a developer level technique that brings together tools I have covered before, including FollowHyperlink, Sleep, AppActivate, and SendKeys. The goal is not elegance but practicality, especially when you just want working data you can store, compare, and use in your own databases.

In part two of this series, I take the same approach and apply it to a real world site like Amazon, where things get more interesting and there are a few extra gotchas to watch out for. If you have ever wanted a no nonsense way to grab real screen data into Access, this technique is worth knowing.

Tuesday, January 13, 2026

Short Circuit

How To Fix Divide By Zero Errors In Microsoft Access VBA Short Circuit Evaluation

from Computer Learning Zone News https://599cd.com/ShortCircuit

Monday, January 12, 2026

Links in Rich Text

How To Add Clickable Website, Email, And File Links In A Notes Field In Microsoft Access

from Computer Learning Zone News https://599cd.com/LinksinRichText

Saturday, January 10, 2026

Install VS 2026

Install VS 2026 by Alex Hedley

from Computer Learning Zone News https://599cd.com/3794

Friday, January 9, 2026

Quick Queries #74

Microsoft Access Time Fields Might Not Work the Way You Expect Them To. QQ #74

from Computer Learning Zone News https://599cd.com/QQ74

Thursday, January 8, 2026

Fitness 68

Why Microsoft Access Ignores Your Decimal Places (And How to Force It to Behave) Fitness #68

from Computer Learning Zone News https://599cd.com/Fitness68

Wednesday, January 7, 2026

Placed in a State

How To Fix The Database Has Been Placed In A State by User Admin Error In Microsoft Access

from Computer Learning Zone News https://599cd.com/PlacedinaState

Tuesday, January 6, 2026

Fitness 67

Why Is This Microsoft Access Function Missing Right Where You Need It Most? Fitness #67

from Computer Learning Zone News https://599cd.com/Fitness67

Monday, January 5, 2026

Fitness 66

Why Zero is Often the Wrong Default Value Setting in Microsoft Access. Fitness #66

from Computer Learning Zone News https://599cd.com/Fitness66

Saturday, January 3, 2026

What is Visual Studio?

What is Visual Studio? by Alex Hedley

from Computer Learning Zone News https://599cd.com/4272

Friday, January 2, 2026

Quick Queries #73

Why Microsoft Access Refuses to Import Excel Images (And the Weird Way Around It) QQ #73

from Computer Learning Zone News https://599cd.com/QQ73