Only validate CSV column count
This commit is contained in:
@@ -176,22 +176,13 @@ Sub ImportMasterDetailData()
|
|||||||
If UBound(lines) >= 0 And Trim(lines(0)) <> "" Then
|
If UBound(lines) >= 0 And Trim(lines(0)) <> "" Then
|
||||||
Dim csvHeader As String
|
Dim csvHeader As String
|
||||||
csvHeader = Trim(lines(0))
|
csvHeader = Trim(lines(0))
|
||||||
' Validate header by comparing each field
|
' Validate column count
|
||||||
Dim expectedHeaders As Variant
|
Dim expectedCount As Long
|
||||||
expectedHeaders = Split(CSV_HEADER, ",")
|
expectedCount = UBound(Split(CSV_HEADER, ",")) + 1
|
||||||
Dim headerFields As Variant
|
Dim headerFields As Variant
|
||||||
headerFields = Split(csvHeader, ",")
|
headerFields = Split(csvHeader, ",")
|
||||||
Dim headerMismatch As Boolean
|
If UBound(headerFields) + 1 <> expectedCount Then
|
||||||
headerMismatch = False
|
MsgBox "CSV column count mismatch. Expected: " & expectedCount & ", Got: " & UBound(headerFields) + 1, vbExclamation
|
||||||
Dim k As Long
|
|
||||||
For k = 0 To UBound(expectedHeaders)
|
|
||||||
If k > UBound(headerFields) Or Trim(headerFields(k)) <> Trim(expectedHeaders(k)) Then
|
|
||||||
headerMismatch = True
|
|
||||||
Exit For
|
|
||||||
End If
|
|
||||||
Next k
|
|
||||||
If headerMismatch Or UBound(headerFields) <> UBound(expectedHeaders) Then
|
|
||||||
MsgBox "CSV header mismatch.", vbExclamation
|
|
||||||
Exit Sub
|
Exit Sub
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
|||||||
Reference in New Issue
Block a user