Beakerboy / Beakerboy/VBA-SQL-Library
SQLSelect — LeftJoin/RightJoin ByRef type mismatch
- 主要语言
- VBA
- 星标
- 90
- 派生
- 18
- PR 合并指标
- 30 天内没有已合并 PR
描述
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`.
---
贡献指南
这个仓库没有索引到贡献指南
调研方向
打开 src/ClassModules/SQLSelect.cls 的第 120–143 行附近,检查 LeftJoin 和 RightJoin 的声明及其对 AddJoin 的调用。使用字符串字面量编译或重现严格编译场景;完成标准是两个方法都能在没有 ByRef 参数类型不匹配错误的情况下编译通过。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- sql
- 领域
- databases
- Issue 类型
- 缺陷
- 难度
- 1/5
- 预计耗时
- 1 小时以内
- 活跃度
- 停滞
- 描述清晰度
- 描述清楚
- 新手友好度
- 55/100