FORUM Tom's Hardware » Programmation » Autre » Raccourci de mon application ACCESS
 

Raccourci de mon application ACCESS

Il y a 368 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Raccourci de mon application ACCESS
 
Plus d'informations

Bonjour,  
J'ai une application ACCESS qui est sécurisée, ce qui implique qu'il faut utiliser un raccourci pour y accéder.
exemple :
C:\access2000\Office\MSACCESS.EXE "C:\projet\projet.mdb" /WRKGRP C:\projet\Sécurisé.mdw"
Je veut savoir s'il y a un moyen pour créer un racccourci automatiquement en fonction de l'emplacement d'ACCESS et de l'application.
Parfois des utilisateurs changent le répertoire de l'application oubien celui d'ACCESS(en le réinstallant par exemple) et ne savent pas comment modifier le raccourci!
 
merci.  :)

G.M.G.V.S.O.
Profil : Modo matériel
Plus d'informations

Ah le user, la calamité des coders :o


---------------
SPAM & WAREZ = Ban!
Ultimate Boot CD | Memtest+
Mon bar préféré à Lyon ! | Bijoux Fantaisie de Créateur !
zeb
Profil : Modérateur libre
Plus d'informations

Si Access est correctement installé, tu n'as pas besoin d'en préciser le chemin dans un raccourci. Pour ton application, si.... Du coup ça ne répond qu'à la moitié de la question

Plus d'informations

Salut et merci pour vos réponses. J'ai trouvé la solution ailleurs et je la transmet pour ceux qui sont intéressés:
 
On crée une base access vierge.
dans cette base on crée une macro AutoExec avec :
- ExécuterCommande --> RéduireEnIcône
- ExécuterCode --> CreateShortCut()
- Quitter
Ensuite on crée un nouveau module dans le quel on copie le code suivant:
(je ne sais pas si c'est comme ça qu'on présente un code... je suis nouvelle dans le monde des forum!!!) :
 
Option Compare Database
Option Explicit
'Déclaration d'API
Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As Long) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" (pidl As Long, ByVal pszPath As String) As Long
Private Declare Function GlobalFree Lib "kernel32" (ByVal hMem As Long) As Long
Private Declare Function GetOpenFileName Lib "comdlg32.dll" Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Private Const MAX_PATH = 260
Private Const CSIDL_DESKTOP = &H0
'Structure du fichier
Private Type OPENFILENAME
    lStructSize As Long
    hwndOwner As Long
    hInstance As Long
    lpstrFilter As String
    lpstrCustomFilter As String
    nMaxCustFilter As Long
    nFilterIndex As Long
    lpstrFile As String
    nMaxFile As Long
    lpstrFileTitle As String
    nMaxFileTitle As Long
    lpstrInitialDir As String
    lpstrTitle As String
    flags As Long
    nFileOffset As Integer
    nFileExtension As Integer
    lpstrDefExt As String
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As String
End Type
 
' Dialogue Choix Fichier
Private Function GetFileName(handle As Long, Titre As String, Optional TitreFiltre As String, Optional TypeFichier As String, Optional RepParDefaut As String) As String
    Dim StructFile As OPENFILENAME
    Dim sFiltre As String
    'Construction du filtre en fonction des arguments spécifiés
    If Len(TitreFiltre) > 0 And Len(TypeFichier) > 0 Then
        sFiltre = TitreFiltre & " (" & TypeFichier & " )" & Chr$(0) & "*." & TypeFichier & Chr$(0)
    End If
    sFiltre = sFiltre & "Tous (*.*)" & Chr$(0) & "*.*" & Chr$(0)
    'Configuration de la boîte de dialogue
    With StructFile
        .lStructSize = Len(StructFile)
        .hwndOwner = handle
        .lpstrFilter = sFiltre
        .lpstrFile = String$(254, vbNullChar)
        .nMaxFile = 254
        .lpstrFileTitle = String$(254, vbNullChar)
        .nMaxFileTitle = 254
        .lpstrTitle = Titre
        .flags = 0
        .lpstrInitialDir = RepParDefaut
    End With
    If (GetOpenFileName(StructFile)) Then
        GetFileName = Trim$(Left(StructFile.lpstrFile, InStr(1, StructFile.lpstrFile, vbNullChar) - 1))
    End If
End Function
 
' Chemin du bureau
Public Function GetDesktopPath() As String
    Dim lIDl As Long
    Dim ls As String
 
    If SHGetSpecialFolderLocation(0&, CSIDL_DESKTOP, lIDl) = 0 Then
        ls = String(MAX_PATH + 2, 0)
        If SHGetPathFromIDList(ByVal lIDl, ls) <> 0 Then
            GetDesktopPath = Left(ls, InStr(1, ls, vbNullChar) - 1)
        End If
    End If
    If lIDl <> 0 Then GlobalFree lIDl
End Function
 
' Création d'un raccourci
Public Function CreateShortCut()
    Dim WshShell As Object
    Dim oShellLink As Object
    Dim lFullPath As String
    Dim lPath As String
    Dim lFileName As String
    Dim i As Integer
    Dim lLenPath As Integer
    Dim lLenExt As Integer
    On Error GoTo gestion_erreurs
    ' Chemin de l'application à ajouter dans le raccourci
    lFullPath = GetFileName(Application.hWndAccessApp, "Chemin de la base Access", "Base de données Access", "MDB", CurrentProject.Path)
    ' Recherche de la position du "\" pour le chemin et du "." pour l'extension
    For i = 1 To Len(lFullPath)
        If Mid(lFullPath, i, 1) = "\" Then lLenPath = i
        If Mid(lFullPath, i, 1) = "." Then lLenExt = Len(lFullPath) - i + 1
    Next
    ' Chemin
    lPath = Left(lFullPath, lLenPath)
    ' Fichier (sans l'extension
    lFileName = Left(Right(lFullPath, Len(lFullPath) - lLenPath), Len(lFullPath) - lLenPath - lLenExt)
    ' Objet Shell
    Set WshShell = CreateObject("WScript.Shell" )
    ' Création du lien sur le bureau
    Set oShellLink = WshShell.CreateShortCut(GetDesktopPath & "\" & lFileName & ".lnk" )
    ' Chemin de access
    oShellLink.TargetPath = SysCmd(acSysCmdAccessDir) & "msaccess.exe"
    ' Chemin de l'application
    oShellLink.WorkingDirectory = lPath
    ' Application à ouvrir et fichier de travail
    oShellLink.Arguments = lFullPath & " /WRKGRP " & GetFileName(Application.hWndAccessApp, "Chemin du fichier de sécurité", "Fichier de sécurité", "MDW" )
    oShellLink.Save
    MsgBox "Raccourci créé sur le bureau"
gestion_erreurs:
    If Err.Number <> 0 Then MsgBox Err.Description
End Function

Profil : Pointeur
Plus d'informations

balise [code]


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

Bonjour,

 

Un grand merci.... c'est pile poil ce que je cherchais

 

bravo pour le code


Message édité par pigwi le 29-05-2007 à 17:52:40

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » Autre » Raccourci de mon application ACCESS
 

Annonces Google
Publicité