Beakerboy / Beakerboy/VBA-SQL-Library
SQLSelect — LeftJoin/RightJoin ByRef type mismatch
- 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