Attribute VB_Name = "modIniUtility" 'API declaraties Declare Function GetPrivateProfileString Lib "kernel32" Alias _ "GetPrivateProfileStringA" (ByVal lpApplicationName _ As String, ByVal lpKeyName As Any, ByVal lpDefault _ As String, ByVal lpReturnedString As String, ByVal _ nSize As Long, ByVal lpFileName As String) As Long Declare Function WritePrivateProfileString Lib "kernel32" Alias _ "WritePrivateProfileStringA" (ByVal lpApplicationName _ As String, ByVal lpKeyName As Any, ByVal lpString As Any, _ ByVal lpFileName As String) As Long Function GetConnectionString() As String Dim sTemp As String On Error GoTo ErrorHandler sTemp = vbNullString sTemp = sTemp & "Provider=" & GetProvider & ";" sTemp = sTemp & "Datasource=" & App.Path & "\" & GetDatabaseName GetConnectionString = sTemp ExitHandler: Exit Function ErrorHandler: MsgBox Error$ Resume ExitHandler End Function Function GetConnectionString2() As String Dim sTemp As String On Error GoTo ErrorHandler sTemp = vbNullString sTemp = sTemp & "Driver=" & GetDriver & ";" sTemp = sTemp & "DBQ=" & App.Path & "\" & GetDatabaseName GetConnectionString2 = sTemp ExitHandler: Exit Function ErrorHandler: MsgBox Error$ Resume ExitHandler End Function Private Function GetProvider() As String Dim iniFile As String Dim sSection As String Dim sKey As String On Error GoTo ErrorHandler iniFile = App.Path & "\Settings.ini" sSection = "Connection" sKey = "Provider" GetProvider = ReadIniFile(iniFile, sSection, sKey) ExitHandler: Exit Function ErrorHandler: MsgBox Error$ Resume ExitHandler End Function Private Function GetDriver() As String Dim iniFile As String Dim sSection As String Dim sKey As String On Error GoTo ErrorHandler iniFile = App.Path & "\Settings.ini" sSection = "Connection" sKey = "Driver" GetDriver = ReadIniFile(iniFile, sSection, sKey) ExitHandler: Exit Function ErrorHandler: MsgBox Error$ Resume ExitHandler End Function Private Function GetDatabaseName() As String Dim iniFile As String Dim sSection As String Dim sKey As String On Error GoTo ErrorHandler iniFile = App.Path & "\Settings.ini" sSection = "Connection" sKey = "DataSource" GetDatabaseName = ReadIniFile(iniFile, sSection, sKey) ExitHandler: Exit Function ErrorHandler: MsgBox Error$ Resume ExitHandler End Function Function GetSqlStatement() As String Dim iniFile As String Dim sSection As String Dim sKey As String On Error GoTo ErrorHandler iniFile = App.Path & "\Settings.ini" sSection = "Source" sKey = "Sql-Statement" GetSqlStatement = ReadIniFile(iniFile, sSection, sKey) ExitHandler: Exit Function ErrorHandler: MsgBox Error$ Resume ExitHandler End Function Private Function ReadIniFile(sIniFile As String, sSection As String, sKey As String) As String ' Functie die effectief gebruik maakt van de API-functie om te lezen uit ini-file Dim sDefault As String Dim iLen As Integer Dim sTemp As String On Error GoTo ErrorHandler sDefault = "" sTemp = Space$(256) iLen = GetPrivateProfileString(sSection, sKey, sDefault, sTemp, 255, sIniFile) ReadIniFile = Left$(sTemp, iLen) ExitHandler: Exit Function ErrorHandler: MsgBox Error$ Resume ExitHandler End Function