================================================================
Function DoQuery(sQueryString As String, tOutputRef As Range) As Variant
Dim vChan As Variant, vVbError As Variant
vChan = SQLOpen("DSN=s2db")
If (VarType(vChan) = vbError) Then
returnArray = SQLError()
For i = LBound(returnArray, 1) To UBound(returnArray, 1)
Worksheets("Errori SQL").Cells(1, i).Formula = returnArray(i)
Next i
SQLClose vChan
DoQuery = -1
Exit Function
End If
vVbError = SQLExecQuery(vChan, StringToArray(sQueryString))
If (VarType(vVbError) = vbError) Then
returnArray = SQLError()
For i = LBound(returnArray, 1) To UBound(returnArray, 1)
Worksheets("Errori SQL").Cells(1, i).Formula = returnArray(i)
Next i
SQLClose vChan
DoQuery = -2
Exit Function
End If
vVbError = SQLRetrieve(vChan, tOutputRef, , , False, False, False, True)
If (VarType(vVbError) = vbError) Then
returnArray = SQLError()
For i = LBound(returnArray, 1) To UBound(returnArray, 1)
Worksheets("Errori SQL").Cells(1, i).Formula = returnArray(i)
Next i
SQLClose vChan
DoQuery = -3
Exit Function
End If
DoQuery = vVbError
vVbError = SQLClose(vChan)
End Function
=================================================================== |