AT_PathManager.bas 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. Option Compare Database
  2. ' ** Access Toolbox Module **
  3. ' on 2017-02-28,
  4. ' @author: Olivier Massot
  5. ' V 1.0
  6. ' Store and manage external paths
  7. ' Needs the 'zt_paths' table
  8. Public Function get_path(ByVal pathname As String, Optional mode As String = "*") As String
  9. On Error GoTo err
  10. get_path = DFirst("path", "zt_paths", "[pathname]='" & pathname & "' AND [mode] like '" & mode & "'")
  11. fin:
  12. Exit Function
  13. err:
  14. If err.number = 94 Then
  15. MsgBox "Le lien vers '" & nom & "' (mode '" & mode & "') n'existe pas dans ztbl_liens", vbCritical
  16. Else
  17. MsgBox "Impossible de trouver le lien '" & nom & "' (mode '" & mode & "'):" & vbNewLine & err.Description, vbCritical
  18. End If
  19. End Function
  20. Public Sub set_path(ByVal pathname As String, ByVal path As String, Optional mode As String = "*")
  21. On Error GoTo err
  22. If DCount("path", "zt_paths", "[pathname]='" & pathname & "' AND [mode] like '" & mode & "'") > 0 Then
  23. sql = "UPDATE zt_paths SET zt_paths.path = '" & path & "'" & _
  24. "WHERE ((zt_paths.pathname='" & pathname & "') AND (zt_paths.mode Like '" & mode & "'));"
  25. Else
  26. sql = "INSERT INTO zt_paths ( pathname, mode, path ) " & _
  27. "SELECT '" & pathname & "' AS Expr1, '" & mode & "' AS Expr2, '" & path & "' AS Expr3;"
  28. End If
  29. CurrentDb.execute sql
  30. fin:
  31. Exit Sub
  32. err:
  33. MsgBox "Erreur lors de la mise à jour du lien '" & pathname & "' (mode '" & mode & "'):" & vbNewLine & err.Description, vbCritical
  34. End Sub