IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Access Discussion :

[TUTO] Application ACCESS et Cloud Storage


Sujet :

Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 148
    Par défaut [TUTO] Application ACCESS et Cloud Storage
    Découvrez une solution d'application ACCESS sur Cloud Storage.

    Ce tuto est réservé à un public averti. En effet de solides notions de VBA, de Classe, d'attachement et de gestion des conflits sont obligatoires.

    http://loufab.developpez.com/tutorie...rage_msaccess/

    Bonne lecture.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  2. #2
    Expert confirmé Avatar de nico84
    Homme Profil pro
    Consultant/développeur ERP
    Inscrit en
    Mai 2008
    Messages
    3 135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Consultant/développeur ERP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 3 135
    Par défaut
    Bonjour Fabrice,

    Parfait, tuto très complet

    Comme tu l'indiques, cette méthode est malheureusement limitée à une utilisation monoposte ce qui est souvent rédhibitoire Par contre cela règle définitivement tout souci de sauvegarde

    Cela fait un an que j'ai placé ma dorsale dans une dropbox sans autre précaution et ça marche très bien aussi (car je suis le seul utilisateur). La gestion fine des conflits est un gros plus !

  3. #3
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 148
    Par défaut
    Merci Nico.

    J'utilise cette soluce pour une petite assoc. pur l'instant pas de gros problèmes parce que les utilisateurs ont peu d'activité.

    Je vais étudier un moyen de détection des conflits, à posteriori.
    ça devrait pas être trop complexe à gérer.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 309
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 309
    Billets dans le blog
    48
    Par défaut
    Super tutoriel avec des essais concluants
    Je me suis juste fait engue#@¤* par un collègue qui partage la DropBox avec moi et qui a vu sa notification de mise à jour clignoter une partie de l'après-midi sur son poste

  5. #5
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 148
    Par défaut
    Merci Fabien !
    Comme je le disais c'est déjà en exploitation dans une asso.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bonjour
    Bravo pour ce tuto très bien expliqué. Sur le coup, on regrette bien sûr les limites d'accès du système, mais à y bien réfléchir, pour les petites assocs, ce ne doit pas être bien gênant. C'est donc une bonne solution intermédiaire.

  7. #7
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 148
    Par défaut
    Bonjour et merci,
    Il s'agit de fonctions complémentaires qui n'ont rien à voir avec le sujet traité.
    Les voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Function FichierExiste(cheminNomFichier As String) As Boolean
    ' Teste l'existence du fichier passé en paramètre.
        On Error GoTo Errsub
        Dim oFSO As Scripting.FileSystemObject
     
        Set oFSO = New Scripting.FileSystemObject
     
        FichierExiste = oFSO.FileExists(cheminNomFichier)
     
        Exit Function
     
    Errsub:
    'traitement à faire
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Public Function fIndiqueFichier(strCheminFichier As String, strMsg As String) As String
    ' Ouvre la fenetre Fichier et sélectionne le fichier passé en paramètre
    ' retourne le chemin et le fichier
        On Error GoTo Errsub
        Dim listFile() As Variant
     
        If fOuvreFichier(strCheminFichier, msoFileDialogFilePicker, True, listFile, strMsg) Then
            fIndiqueFichier = listFile(0)
        End If
     
        Exit Function
     
    Errsub:
    'traitement à faire
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
     
    Enum efFichierExt
        Unite = 8
        Chemin = 16
        Fichier = 32
        'fichier = 3
        Extension = 64
        [_UNC] = 128
    End Enum
     
    Enum eTypeAffichage
        SW_HIDE = 0
        SW_SHOWNORMAL = 1
        SW_SHOWMINIMIZED = 2
        SW_SHOWMAXIMIZED = 3
        SW_SHOWNOACTIVATE = 4
        SW_SHOW = 5
        SW_MINIMIZE = 6
        SW_SHOWMINNOACTIVE = 7
        SW_SW_SHOWNA = 8
        SW_RESTORE = 9
        SW_SHOWDEFAULT = 10
        SW_FORCEMINIMIZE = 11
    End Enum
     
    Public Declare Function ShellExecuteA Lib "shell32" (ByVal hwnd As Long, ByVal LPFile As String, ByVal PathFile As String, ByVal Other As String, ByVal Other2 As String, ByVal Param As Long) As Long
     
    Public Function fFichierExt(strCheminFichier As String, iType As efFichierExt) As String
    '---------------------------------------------------------------------------------------
    ' Procedure : fFichierExt
    ' Author    : Fabrice CONSTANS (MVP)
    ' Date      : 13/03/2013
    ' Purpose   : Retourne l'un des éléments suivant le chemin/fichier passé en référence
    '
    ' Parametres:
    ' strCheminFichier contient le chemin et fichier
    ' strType = enum eTypeFichierExt
    '    64   renvoi l'extension du fichier sans le point
    '    32   renvoi le nom du fichier sans son extension
    '    16   renvoi le chemin sans le nom ni l'extension
    '    8    renvoi l'unité
    ' Cachée
    '    128  renvoi le chemin UNC
    '---------------------------------------------------------------------------------------
     
        On Error GoTo Errsub
        Dim vRetour As String
     
        If iType And Unite Then      ' l'unité
            vRetour = Left(strCheminFichier, InStr(strCheminFichier, ":"))
        End If
     
        If iType And Chemin Then     ' le chemin
            vRetour = vRetour & Mid(strCheminFichier, 3, InStrRev(strCheminFichier, "\") - 2)
        End If
     
        If iType And Fichier Then
            Dim tmpFic As String
            If strCheminFichier Like "*.*" Then
                tmpFic = Right(strCheminFichier, Len(strCheminFichier) - InStrRev(strCheminFichier, "\"))
                vRetour = vRetour & Left(tmpFic, InStrRev(tmpFic, ".") - 1)
            Else
                vRetour = strCheminFichier
            End If
        End If
     
        If iType And Extension Then   ' renvoi l'extension
            If iType And Fichier Then vRetour = vRetour & "."
            vRetour = vRetour & Right(strCheminFichier, Len(strCheminFichier) - InStrRev(strCheminFichier, "."))
        End If
     
        fFichierExt = vRetour
     
        Exit Function
     
    Errsub:
    'traitement a faire
     
    End Function
     
    Public Function fOuvreFichier(msoPathFileName As String, msoType As MsoFileDialogType, _
                                  msoMultiSel As Boolean, ByRef tblresult() As Variant, _
                                  Optional strtitre As String = "Sélectionner un fichier") As Boolean
    ' Ouvre la fenêtre Ouvrefichier/répertoire
        On Error GoTo Errsub
        Dim fdg As FileDialog
        Dim vrtSelectedItem As Variant
        Dim i As Integer
     
        'Cree un filedialog
        Set fdg = Application.FileDialog(msoType)
     
        With fdg
            .AllowMultiSelect = False
            .ButtonName = "Selectionner"
            .Title = strtitre
            .InitialFileName = msoPathFileName
            If .Show = True Then   'Affiche le dlgbox
                ' traite chaque item
                ReDim tblresult(.SelectedItems.Count)
                For Each vrtSelectedItem In .SelectedItems
                    tblresult(i) = vrtSelectedItem
                    i = i + 1
                    fOuvreFichier = True
                Next vrtSelectedItem
            Else    ' Cancel.
                fOuvreFichier = False
            End If
        End With
        Set fdg = Nothing
        Exit Function
     
    Errsub:
    'traitement à faire
    End Function

    Concernant fversionproduit() il s'agit juste d'une fonction qui renvoi une string contenant la version de ton application.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  8. #8
    Membre confirmé
    Profil pro
    TDG
    Inscrit en
    Mars 2007
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : TDG

    Informations forums :
    Inscription : Mars 2007
    Messages : 152
    Par défaut
    Super, ce tuto tombe à point nommé.

    J'ai déjà certaines feuilles de calcul (genre budget personnel) que je conserve sur DropBox, ce qui me permet d'en ouvrir de n'importe quel ordinateur la version la plus à jour sans me soucier de la synchro.

    Ça fait six mois que je veux faire la même chose avec la dorsale de ma base Access de gestion professionnelle (à laquelle je suis seul à accéder, mais de trois machines différentes), mais que je n'ai pas eu le temps. Ce tuto va m'épargner des heures de réflexion et de tâtonnements.
    Merci infiniment!

    PS : les liens vers le PDF, l'ePub, etc. semblent rompus ou inexistants...

    Philippe

  9. #9
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 148
    Par défaut
    Merci St-Jean !

    En effet les liens sont rompus , je règle ça ce week-end.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  10. #10
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 34
    Par défaut
    Bonjour,

    Tout d'abord merci pour tous vos tutos qui permettent de bien progresser...surtout quand on part de zero....

    Cet-fois-ci je bloque sur votre fonction fgAttache()

    j'ai un erreur : 3276 référence d'objet de base de données incorrecte.
    au niveau de la ligne :

    For Each tbl In db.TableDefs


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    Function fgAttache() As String
    '--------------------------------------------------------------------------------
    ' Procedure : pgAttache
    ' Author    : Fabrice CONSTANS (MVP)
    ' Date      : 18 / 07 / 2012
    ' Purpose   : Procédure standard d'attachement des tables
    '               Vérifie l'attachement ou le refait
    ' Parametres: Utilise strlstTable qui contient les tables
    '                     strFichierData qui contient le fichier des tables
    ' Return    : chemin de la dorsale
    '----------------------------------------------------------------------------------
    '
       On Error GoTo err_demarrage
     
        Dim db As DAO.Database
        Dim rst As DAO.Recordset        ' pour le test d'attache
        Dim lstTable() As String    ' contient les tables
        Dim i As Integer            ' the Compteur
        Dim tbl As DAO.TableDef
        Dim strChemin As String
        Dim eChemin As String
     
        eChemin = "C"
     
        ' utilise le chemin de la table des paramètres
          strChemin = CDropb.CheminPartage & strFichierData
        ' si le fichier Dorsal n'existe pas on le demande
        If Not FichierExiste(strChemin) Then
            MsgBox "La connexion à la base principale à échouée, " & vbCrLf & " Vous devez indiquer son nouvel emplacement.", vbInformation
            strChemin = SelectionFichier01
        Else
            strChemin = strChemin
        End If
     
        ' sauve le chemin dans la table des paramètres internes
        CDropb.CheminPartage = fFichierExt(strChemin, eChemin)
        ' si user local n'est pas user courant
       If CDropb.Occupe Then
            MsgBox "La base est actuellement utilisée par : " & CDropb.UtilisateurConnecte & vbCrLf & "Faites une tentative ultérieurement.", vbExclamation + vbOKOnly
            ' libération de la classe
            Set CDropb = Nothing
            DoCmd.Quit  'quitte l'application
        End If
        ' Création du fichier, réservation de l'application
        CDropb.CreerFichier
        ' à partir de là on commence les procédures d'attachement sur la dorsale
        lstTable = Split(strlstTable, ";")      ' la liste des tables à traiter
        Set db = CurrentDb
     
        For i = 0 To UBound(lstTable)           ' liste les tables et tente l'ouverture
            Set rst = db.OpenRecordset(lstTable(i), dbOpenSnapshot)
            rst.Close
            Set rst = Nothing
        Next
     
        db.TableDefs.Refresh
        If strChemin = "" Then
            strChemin = db.TableDefs(lstTable(0)).Connect
            strChemin = Right(strChemin, Len(strChemin) - InStr(1, strChemin, ";DATABASE=") - 9)
         End If
     
        fgAttache = fFichierExt(strChemin, eChemin)
     
        Exit Function
     
    err_demarrage:
     
     If err.Number = 3078 Then  ' ne trouve pas la table
            Set tbl = db.CreateTableDef(lstTable(i))
            tbl.Connect = "MS Access;PWD=" & strPassWordBD & ";DATABASE=" & strChemin    'Me.CheminBD '";DATABASE=" &
            tbl.SourceTableName = lstTable(i)
            db.TableDefs.Append tbl
            db.TableDefs(tbl.Name).RefreshLink
            Resume
        End If
     
       For Each tbl In db.TableDefs
          If tbl.Attributes = dbAttachedTable Then
                tbl.Connect = "MS Access;PWD=" & strPassWordBD & ";DATABASE=" & strChemin
                db.TableDefs(tbl.Name).RefreshLink
          End If
        Next
        Resume
     
    End Function
    Si vous avez 2 min pour regarder ça.... je suis preneur.

    Cordialement

  11. #11
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 148
    Par défaut
    Bonjour et merci,

    Essaye de faire une première attache des tables manuellement avec la base en local.

    Ensuite déplace/renomme/supprime cette base et lance l'attache via la procédure.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  12. #12
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 34
    Par défaut
    Re bonsoir,

    En faisant un "glissé/copié" de la dorsale pour la changer de repertoire : j'ai le message d'erreur.

    Mais en effet si je fais un copié/collé/suprimé tout marche très bien.

    Vraiment bravo. Je n'y comprends rien mais bravo.

    Concernant la détection des conflits (la encore je ne comprends pas l' idée du timer). Pourquoi ne pas mettre une détection unique à la fermeture et une à l'ouverture. Celle de l'ouverture avec un timer de" 15sec" le temps de synchronisation du fichier occupé et de la "création" de sa copie.

    Encore une fois merci de nous faire partager votre " savoir" et surement passion

    Cordialement

  13. #13
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Loire (Auvergne)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 34
    Par défaut
    Concernant mon erreur : 3276 référence d'objet de base de données incorrecte.
    En faite si je change l'emplacement de la dorsale 1 fois ça marche. Mais la deuxieme fois ça met l'erreur. Une "variable,objet..." qui ne se réinitialise pas???

    Cordialement.

  14. #14
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 148
    Par défaut
    L'idée du Timer est de laisser le temps au cloud de créer les fichiers de données (du moins le nom du fichier). 15 sec est une valeur standard qui doit être réglé suivant le temps moyen constaté sur les postes et la taille de la base de données. On peut choisir de ne pas mettre de timer dans ce cas la detection du conflit ne sera pas faite.

    Concernant ce comportement, j'ai eu ce problème une fois j'ai decompilé et ça a réglé le problème. Je ne m'explique pas pourquoi à un moment il n'a pas retrouvé la dp.
    Essaye de supprimer carrèment les attaches et de laisser faire l'appli au démarrage.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  15. #15
    Invité de passage
    Inscrit en
    Octobre 2012
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2012
    Messages : 1
    Par défaut Tuto NICKEL
    Bonjour,

    Je suis entrain de jeter un coup d'oeil a ce tuto. Tres bien fait.
    Serait-il possible de poster le fichier "AgaData01.accdb" en brut pour pouvoir debbuger mieux ma petite base.

    Merci encore pour le tuto

    @+

  16. #16
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 148
    Par défaut
    agadata01.accdb n'est qu'un fichier de données, il contient des tables et rien de plus. Je ne vois pas ce qu'il t'apportera. Tu peux le remplacer par n'importe quel fichier de données protégé contenant des tables.
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  17. #17
    Membre éclairé
    Homme Profil pro
    consultant environnement et développement d'applications de base de données
    Inscrit en
    Janvier 2006
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : consultant environnement et développement d'applications de base de données
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2006
    Messages : 336
    Par défaut fichier lock ldb
    Bonjour et merci pour ce tuto et cette utilisation intéressante du cloud...
    Une petite question tout de même, pourquoi vous n'utilisez pas le fichier lock classique d'access, le .ldb ? Car si on est connecté à la dorsale qui est dans un espace cloud, le ldb est automatiquement créé et du coup déployé. il suffit donc de vérifier à l'ouverture que ce fichier n'existe pas...
    Et une autre question peut être...est-ce qu'il y a déjà des tutos qui ont été réalisés avec l'utilisation de SQL Azure avec une appli Access locale (et un mode mis en cache pour une utilisation hors connexion...). Je ne trouve pas grand chose là dessus (et le coût d'un hébergement SQL Azure...)
    Merci

    Guen

  18. #18
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 148
    Par défaut
    Bonjour,

    Tu as raté le petit paragraphe IV-B.
    [EDIT] On peut effectivement utiliser le fichier "lock" natif, cependant comme je le stipule dans le paragraphe indiqué, j'ai préféré utiliser un simple fichier texte, non pas que le lock ne permette pas de voir l'utilisateur connecté mais parce que cela m'aurait obligé à embarquer cette gestion. Ce qui n'est pas l'objet du tuto. Libre à toi d'utiliser la méthode que tu souhaites, seule la méthode compte. [\EDIT]

    Pour Azure voir FMS inc ou gainingaccess.net. N'ayant pas l'accès ad-hoc sur Azure je n'ai pas pu tester cette solution. Espérons que cette année ça sera possible.

    Le cout est à l'utilisation, donc difficile à déterminer avec précision.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

  19. #19
    Membre averti
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2013
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Octobre 2013
    Messages : 46
    Par défaut Problème avec &
    Bonjour,

    Je suis nouvelle sur le forum et mettre en application votre tutoriel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Class_Initialize()
    ' démarre la classe
      vStationLocale = Environ("ComputerName")
      'on fixe le nom de l'utilisateur si celui-ci n'existe pas.
      If vUtilisateurLocal = "" Then
         UtilisateurLocal = vStationLocale & ";" & Environ("UserName")
      End If
    End Sub
    Le débogueur trouve un erreur sur la ligne 6. Et par la suite, à chaque fois que le &amp est utilisé, il y a un erreur. Je ne sais pas trop quoi faire...comment l'adapter. Je constate que personne n'a eu de problème avec ça sur le forum. Je ne comprend pas. J'utilise Access 2010, est-ce pour ça.

    Merci.

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo