Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/01/2012, 15h41   #1
Membre actif
 
Avatar de robyseb
 
Homme Sébastien
Développeur indépendant
Inscription : juillet 2011
Messages : 178
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Localisation : Canada

Informations professionnelles :
Activité : Développeur indépendant

Informations forums :
Inscription : juillet 2011
Messages : 178
Points : 193
Points : 193
Par défaut probleme avec tutoriel Multi-Utilisateur de Dolphy35

Bonjour ! j'ai un petit problème avec le tutoriel de Dolphy35 concernant la synchronisation des tables fractionnées.

lorsque je change l'emplacement de la base dorsale avec les tables et que je ré-ouvre ma base tous fonctionne jusqu'à la demande du fichier en question.

je le choisi via la fenetre ouvrir un fichier et lorsque je pèse ouvrir j'ai une erreur de type :

Citation:
Erreur d’exécution : "3421" erreur de conversion de type de données.
voici un bout de code du tutoriel ... est-ce mal adapté pour access 2007 je m'en remet à vous je ne comprend pas

l'erreur est spécifié à la ligne 34.

Juste avant j'ai eu une erreur "3265" élément non trouvé dans cette collection que j'ai résolue. J'avait omis de nommé le champ de ma table "tblTablesAttachees"

Code :
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
Function LierTables(strChmFichier As String) As Boolean
'---------------------------------------------------------------------------------------
' Procédure      : Function ==> LierTables
' Auteur         : Dolphy           http://dolphy35.developpez.com/
' Commentaires   : Permet de remettre les liaisons en fonction du chemin sélectionné
' Lien vers Faq  : néant
'---------------------------------------------------------------------------------------
'
    'Déclaration des variables
    Dim dbBase As DAO.Database
    Dim tbdTables As DAO.TableDef
    Dim rst As DAO.Recordset
 
    'Initialise le retour de la Fonction
    LierTables = False
 
    'Instancie la base courrante
    Set dbBase = CurrentDb
    'charge la table dans le Recordset rst
    Set rst = dbBase.OpenRecordset("tblTablesAttachees", dbOpenDynaset)
 
    'Inhibe les messages d'alertes
    DoCmd.SetWarnings False
 
    'Vide la Tables contenant la liste des tables attachées
    DoCmd.RunSQL "DELETE * FROM tblTablesAttachees"
 
    'Boucle Parcourant toutes les tables de la Bdd en cours
    For Each tbdTables In dbBase.TableDefs
 
        'Teste l'attribut de la table pour savoir si c'est une table liée
        If tbdTables.Attributes And dbAttachedTable Then
            rst.AddNew                              'Ajoute un enregistrements
            rst!TablesAttachees = tbdTables.Name    'Ajoute la table dans le Champs  'j'ai une erreur ici ..............!!
            rst.update                              'Mise à jour
        End If
 
    Next tbdTables
 
    'Mise à jour du Recordset après ajout des tables
    rst.Requery
 
    'Test la position du pointeur si il ne se situe pas en début de table
    If Not rst.BOF Then
        rst.MoveFirst   'déplacement du pointeur sur le premier enregistrement
    End If
 
    'Boucle parcours de la table tant que l'on arrive pas sur le dernier.
    While Not rst.EOF
 
        'Définition de l'objet TableDefs avec table stockées dans TablesAttachees
        With dbBase.TableDefs(rst!TablesAttachees.Value)
            'Redéfini la propriété connect de la table avec la nouvelle base
            .Connect = ";DATABASE=" & strChmFichier
            'Remet à jour la liaison de la table
            .RefreshLink
        End With
        'Efface l'enregistrement de la Table
        rst.Delete
        'Enregistrement suivant
        rst.MoveNext
 
    Wend
 
    'Liberation des variables
    dbBase.Close
    Set dbBase = Nothing
    Set rst = Nothing
 
    'Re-active les messages d'alertes
    DoCmd.SetWarnings True
 
    'Affiche Message
    MsgBox ("mise à jour terminée")
 
    'Renvoi la fonction à true
    LierTables = True
 
End Function
__________________
Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
  • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
  • Si votre Post est indiquez le....
robyseb est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/01/2012, 22h58   #2
Membre actif
 
Avatar de robyseb
 
Homme Sébastien
Développeur indépendant
Inscription : juillet 2011
Messages : 178
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Localisation : Canada

Informations professionnelles :
Activité : Développeur indépendant

Informations forums :
Inscription : juillet 2011
Messages : 178
Points : 193
Points : 193
Bonjour Problème résolu !!! dans ma table je n'avait pas remarqué que le format du champ étais Numéros Auto .... donc j'ai viré ca en format text et le tour a été joué ...
__________________
Parfois il faut faire le tour d'une roche 10 fois avant de s'apercevoir quelle est ronde.
  • Si vous trouvé mon post intéressant, n'oubliez pas de voter coté inférieur droit du message. Merci
  • Si votre Post est indiquez le....
robyseb est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h42.


 
 
 
 
Partenaires

Hébergement Web