Setting a Variable Equal to an ADODB Recordset, Not So Obvious!?

In my ongoing exploration of ADODB recordsets

I would like to share an interesting aspect of working with them.

Continue reading

The New Outlook is TERRIBLE!

The transition to the “New Outlook” has generated significant discussion among users, particularly regarding the features that have been removed or altered compared to the Good Outlook (typically referred to as the Classic Outlook). While the new interface offers a modern aesthetic, many users find themselves missing the robust capabilities of the Good Outlook leaving many longtime users insulted and dumbfounded that this is what Microsoft has put forward to replace their beloved Good Outlook.

While not in widespread use yet, if you’re an IT guy like me, you have already started to get some calls from home users upon which this change has already been forced on, as well as those adventurous users who always like to try the new stuff out and be on the leading edge of technology. So far, most support calls/visits seem to always go the same route and end with a statement like: “It is no longer possible with the New Outlook!”.

For those looking to better understand some of the changes and adaptations in the New Outlook compared to the Good Outlook, I recommend checking out this informative YouTube video:

This article explores some of the key features that have been lost in the New Outlook.

A few key takeaways from the video include:

I think Microsoft hates its users or thinks we’re all stupidChris Titus
New Outlook is an absolute crime against humanityChris Titus
…with Microsoft dropping the ball this hard…Chris Titus
 
Continue reading

New Outlook Automation Workaround – Building Your Very Own REST API

You read it here, you’ve read about it everywhere (I hope) that the New Outlook will no longer support VBA automation putting our critical business solution in jeopardy.

Now, I’ve tried to provide a few potential alternatives and workarounds such as:

I’ve also mentioned switching to Thunderbird which can be automated for sending e-mails

Today, I thought I’d offer another possible solution.  Instead of getting into Microsoft’s or Google’s REST API, what about creating your own!

Now, this implies you have your own server or web domain, but if you do, this might be the ticket to getting back some control on the situation and best is you can customize it as you see fit.
 
Continue reading

VSCodium is the Ultimate Open-Source Alternative to VS Code

VSCodium is rapidly gaining recognition as a leading alternative to Microsoft’s Visual Studio Code (VS Code), particularly among developers who prioritize privacy, transparency, and open-source principles. Let’s explores some of the key features and benefits of VSCodium, making a compelling case as to why you should consider switching to this powerful code editor!
 

What is VSCodium?

VSCodium is an open-source code editor built on the same source code as Visual Studio Code, but it eliminates all proprietary components and telemetry that Microsoft includes in its version. This means that users can enjoy the full functionality of VS Code without any concerns about data collection or privacy violations. VSCodium is fully community-driven and adheres to open-source principles, allowing developers to contribute to its ongoing development and improvement.
 
Continue reading

Understanding Queries in Microsoft Access: A Detailed Guide

Microsoft Access is a powerful database management tool that allows users to create, manage, and manipulate data effectively. One of the core functionalities of Access is its ability to execute queries, which are essential for retrieving and modifying data within a database. This guide will explore the different types of queries available in Access — SELECT, INSERT, UPDATE, and DELETE —along with their applications in data retrieval and manipulation.
 
Continue reading

Decoding the Cryptic ADODB Virtual RecordSet Error Message

Have you ever encountered an error message that left you scratching your head? Let me share a perplexing experience I had recently while testing a database application.

I was working on a personal project in which I decided to use Virtual Recordsets, upon which I created my most recent article:

and during some testing I started to experiencing issues.

The Mysterious Error

Out of nowhere, I started receiving this cryptic error:

Run-time error ‘-2147217887 (80040e21)’:
Multiple-step operation generated errors. Check each status value.Microsoft Access

Continue reading

Utilizing In-Memory Virtual RecordSets in Microsoft Access

Some time ago, I wrote an article about creating Virtual Queries, which you can find here:

Today, I’d like to delve into the topic of Virtual Recordsets, commonly known as In-Memory Recordsets.

While working on a personal project, I needed to display a list of files without repeatedly importing this data into Access. Constantly importing would lead to unnecessary data duplication and bloat in the database. Instead, I realized that using a Virtual Recordset would be an ideal solution. This approach allows me to manage and manipulate the list of files dynamically without cluttering my Access database, ensuring that my application remains efficient and responsive.
 
Continue reading

The Unexpected Behavior of Mixing ADODB and DAO Recordsets in Access Forms

Software Bug

During a recent project, I encountered an intriguing quirk in Microsoft Access that’s worth sharing. This peculiar behavior occurs when mixing ADODB and DAO recordsets in form events, leading to unexpected results that could easily be mistaken for database corruption.
 

The Setup

I initially created a form with a dynamically built ADODB recordset in the Form_Open event:

Private Sub Form_Open(Cancel As Integer)
    Dim rstVirtual            As Object

    Set rstVirtual = CreateObject("ADODB.Recordset")
    With rstVirtual
        .Fields.Append "ItemId", 20
        .Fields.Append "ItemDescription", 200, 50

        .CursorType = 3    ' adOpenStatic
        .CursorLocation = 3    ' adUseClient
        .LockType = 3    ' adLockOptimistic
        .Open
    End With

    '...
    
    Set Me.Recordset = rstVirtual
End Sub

Continue reading

Using AI for Development Not Ready for Primetime, Yet

In recent years, the hype surrounding AI has permeated every aspect of our lives, including software development. While initially skeptical due to ethical concerns and copyright issues, curiosity led to exploring AI’s potential in code generation. After months of testing, using multiple programming languages (PHP, VBA, HTML, JavaScript), it’s clear that AI has both strengths and weaknesses in this domain.
 
Continue reading

Microsoft Access Multi-Valued Fields: A Deceptive Feature Best Avoided

Microsoft Access, a popular database management system, introduced Multi-Valued Fields (MVFs) as a feature to simplify the handling of many-to-many relationships. At first glance, MVFs appear to offer a convenient solution for storing multiple values in a single field without the need for complex table structures. However, experienced database professionals, Access MVPs, and seasoned developers strongly advise against their use. This article delves into the reasons why MVFs should be approached with extreme caution and, in most cases, avoided entirely.
 

Understanding Multi-Valued Fields

Before we explore the pitfalls of MVFs, it’s essential to understand what they are and how they work:

  • MVFs allow multiple values to be stored in a single field.
  • They appear to simplify many-to-many relationships without explicit junction tables.
  • Behind the scenes, Access creates a hidden system table to manage the multiple values.

While this may seem like a clever solution, it introduces a host of problems that can severely impact database performance, integrity, and maintainability.
 
Continue reading