Beakerboy / Beakerboy/VBA-SQL-Library

SQLSelect — LeftJoin/RightJoin ByRef type mismatch

Open
#62 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
VBA
Stars
90
Forks
18
PR merge metrics
No merged PRs in 30d

Description

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)
```vb
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
```vb
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`.

---

Contributor guide

No contributing guide indexed for this repository

Research direction

Open src/ClassModules/SQLSelect.cls around lines 120–143 and inspect the LeftJoin and RightJoin declarations and their calls to AddJoin. Compile or reproduce the strict-compilation case using string literals; done means both methods compile without the ByRef argument type mismatch.

Written by the indexing model from the issue text.

Assessment

Tech stack
sql
Domain
databases
Issue type
Bug
Difficulty
1/5
Estimated time
Under an hour
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.