VBA-SQL-Library icon indicating copy to clipboard operation
VBA-SQL-Library copied to clipboard

SQLSelect — LeftJoin/RightJoin ByRef type mismatch

Open Ben-Gonzalez-97 opened this issue 3 months ago • 0 comments

SQLSelect: type LeftJoin/RightJoin params as String

  • Component: src/ClassModules/SQLSelect.cls (around 120–143)

Problem

  • Untyped parameters (Variant ByRef) cause mismatches when passed into AddJoin.

Snippet (actual)

Public Sub LeftJoin(sTable, sAlias, Optional sCondition As String = "")
    AddJoin "LEFT OUTER", sTable, sAlias, sCondition
End Sub

Public Sub RightJoin(sTable, sAlias, Optional sCondition As String = "")
    AddJoin "RIGHT OUTER", sTable, sAlias, sCondition
End Sub

Expected

Public Sub LeftJoin(sTable As String, sAlias As String, Optional sCondition As String = "")
    AddJoin "LEFT OUTER", sTable, sAlias, sCondition
End Sub

Public Sub RightJoin(sTable As String, sAlias As String, Optional sCondition As String = "")
    AddJoin "RIGHT OUTER", sTable, sAlias, sCondition
End Sub

Steps to Reproduce

  1. Call LeftJoin/RightJoin with string literals under strict compilation.

Actual

  • Compile-time "ByRef argument type mismatch" in some contexts.

Proposed Fix

  • Type parameters as String.

Ben-Gonzalez-97 avatar Oct 16 '25 13:10 Ben-Gonzalez-97