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

VBA Access Discussion :

Pb suite à fractionnement base


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 23
    Par défaut Pb suite à fractionnement base
    Bonjour,

    J'ai une base BS.mdb que j'ai fractionné en BS.mdb et BS_princip.mdb en vue d'une utilisation client/serveur.

    Suite à ce fractionnement le code suivant, lancer par autoexec, qui affiche un message suivant le contenu d'une table ne fonctionne plus, j'ai systématiquement le msgbox qui s'affiche. Le contenu de la table testée n'est pas vide et n'a pas changé.


    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
    Public Function dateZST12()
       Dim Link As String
       Dim Fichier As String
       Dim date_ZST12 As String
     
       Dim MaBD As Database
       Dim MonJeu As Recordset
     
       Set MaBD = CurrentDb
       Set MonJeu = MaBD.OpenRecordset("Chemin", dbOpenDynaset)
     
       Fichier = "ZST12_BS.csv"
     
       If CurrentDb.TableDefs("Chemin").RecordCount > 0 Then
          MonJeu.MoveFirst
     
          Do Until MonJeu.EOF
     
             If IsNull(MonJeu![Chemin]) Then
                response = MsgBox("Le chemin du répertoire réseau n'est pas saisi" + Chr(13) + Chr(13) + "Veuillez saisir le chemin du répertoire réseau valide", vbCritical + vbOKOnly)
     
                date_ZST12 = "Chemin ZST12 non défini"
     
             Else
     
                Link = MonJeu![Chemin]
                date_ZST12 = FileDateTime(Link & "\" & Fichier)
     
             End If
     
             MonJeu.MoveNext
          Loop
     
          Forms!F_accueil.date_ZST12.Caption = date_ZST12
     
       Else
          response = MsgBox("Le chemin du répertoire réseau n'est pas saisi" + Chr(13) + Chr(13) + "Veuillez saisir le chemin du répertoire réseau valide", vbCritical + vbOKOnly)
     
       End If
     
       Set MonJeu = Nothing
       Set MaBD = Nothing
     
     
    End Function
    Quelle modif dois-je apporter au code ?

    D'avance merci de votre aide

  2. #2
    Expert confirmé
    Avatar de Dolphy35
    Homme Profil pro
    Responsable Systemes d'Information
    Inscrit en
    Octobre 2004
    Messages
    4 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable Systemes d'Information
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 373
    Par défaut
    Salut,

    tu as plusieurs erreurs sur l'utilisation des Recordsets, je t'invite à consulter le tutoriel complet de Tofalu sur DAO :

    Définition et manipulation de données avec DAO


    Sinon tu peux t'inspirer de mon tuto :

    Comment utiliser une application en mode multi-utilisateurs


    Dolphy

  3. #3
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 23
    Par défaut
    Bonjour,

    Pour Dolphy35

    Je ne sais pas où est passé mon message d'hier et j'ai reçu quand même reçu un mail m'indiquant ta réponse.

    Comment veux-tu que je te fasses parvenir ma bdd ?

    a+

  4. #4
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 23
    Par défaut base multi utilisateurs
    Bonjour à tous et encore merci à l'entraide qui règne sur ce forum.

    J'espère que l'incident survenu sur le serveur ne se reproduira plus.
    Lorsque j'ai posté mon post, disparu lors de l'incident serveur, j'avais commencé à le sauvegarder dans mon bloc notes car j'avais des messages bizarres délivrés par le forum. Puis ayant réussi à afficher le post, je n'ai pas sauvegardé mon bloc notes, mal m'a en pris mais on ne pouvait pas prévoir.

    Je vais donc réécrire mon post précédent.

    J'ai une base BS.mdb que je veux utiliser en multi-utilisateurs en client/serveur.
    Suite au fractionnement de la base de données, cela donne :

    - BS.mdb (frontale)

    - BS_data.mdb (dorsale)

    Je copie la frontale sur le disque dur local et la dorsale (ainsi qu'un autre fichier .csv pour alimenter la dorsale) sur un disque réseau.

    A la première utilisation de ma base (double-clic sur BS.mbd), je souhaiterais récupérer le chemin du répertoire du disque réseau pour mettre à jour les liaisons des tables liées.

    J'ai donc suivi, les FAQ "Comment utiliser une application en mode multi-utilisateurs" et "Afficher la la boite de dialogue ouvrir afin de récupérer le nom et le chemin du fichier sélectionné"

    En ouvrant ma base, mon formulaire de démarrage s'affiche bien, j'ai le msgbox correspondant aux codes erreurs 3024 et 3044 qui s'affiche et répondant "oui", j'ai le message suivant qui s'affiche :

    " Erreur d'exécution '2467':

    L'expression entrée fait référence à un objet fermé ou supprimé"

    sur le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    strChemin = OuvrirUnFichier(Me.Hwnd, "Parcourir", 1, "Fichiers Access", "mdb")
    Ce code est sur minuterie du formulaire de démarrage et la fonction OuvrirUnFichier est dans un module à part (conformément aux FAQ ci-dessus).

    D'ou peut venir l'erreur ? à quoi correspond ce "Me.Hwnd" ?

    Merci de votre aide.

    Il me semble également qu'il y a une erreur dans la FAQ "Comment utiliser une application en mode multi-utilisateurs".
    Au chapitre VI, le nom du champ de la table tblTablesAttachees est TableAttachees or dans le code du chapitre VII-A est utilisé le champ TablesAttachees avec "s" à table.

  5. #5
    Membre averti
    Inscrit en
    Janvier 2006
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 23
    Par défaut
    Bonjour à toutes et à tous,

    Je fais remonter mon message qui est tombé dans les oubliettes pendant cette période de congés.

    Merci de votre aide.

Discussions similaires

  1. fractionnement base et tables liées
    Par salfati dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/11/2010, 11h35
  2. Réponses: 2
    Dernier message: 14/11/2007, 08h22
  3. Réponses: 3
    Dernier message: 20/07/2006, 08h45
  4. function qui ne fonctionne plus après fractionnement Base
    Par Daniel MOREAU dans le forum Access
    Réponses: 1
    Dernier message: 25/05/2006, 20h37
  5. fractionnement base access
    Par gabru1 dans le forum Access
    Réponses: 1
    Dernier message: 08/12/2005, 12h32

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