When an API call is executed in VB and it has an error it usually sets the Err.LastDllError property to a number. You can decode this number to a meaningful description of the error as follows:
VB Code:
'\ API Error decoding Private Declare Function FormatMessage Lib "kernel32" Alias "FormatMessageA" (ByVal dwFlags As Long, lpSource As Any, ByVal dwMessageId As Long, ByVal dwLanguageId As Long, ByVal lpBuffer As String, ByVal nSize As Long, Arguments As Long) As Long Public Function LastSystemError() As String Const FORMAT_MESSAGE_FROM_SYSTEM = &H1000 Dim sError As String * 500 '\\ Preinitilise a string buffer to put any error message into Dim lErrNum As Long Dim lErrMsg As Long lErrNum = Err.LastDllError lErrMsg = FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, ByVal 0&, lErrNum, 0, sError, Len(sError), 0) LastSystemError = Trim(sError) End Function




Reply With Quote