Bonjour,

J'effectue une base de données en mysql 5.0 avec une interface Access 2003 pour les utilisateurs. La base de données comprend 18 tables, et j'ai donc créé une vue pour la consultation et la recherche de données. Toutes mes tables sont liées via le driver ODBC, par contre la vue je voudrais la réimporter en vba à chaque démarrage de l'application Access: si je lie la vue (comme je le fais pour mes tables) cela fonctionne mais c'est excessivement lent, beaucoup trop lent.

Ou peut-être y a-t-il moyen de regénérer ma vue en access à partir de mes tables liées? J'ai essayé d'utiliser le même code que dans mysql

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
 
CREATE OR REPLACE ALGORITHM=MERGE VIEW educa AS
    SELECT DISTINCTROW documents.idDocument,
            documents.titre,
            documents.reference,
            documents.localisation,
	    categoriemateriel.categorie,
	    typedocument.type,
            documents.auteurs,
            documents.collectivite,
            documents.dateedition,
	    documents.disponibilite,
            documents.prix,
            documents.caution,
            documents.pages,
            documents.photocopies,
            documents.lienweb,
            documents.resume,
            documents.commentaires,
            documents.dimensions,
            documents.datesaisie,
            editeurs.editeur,
            lieuxedition.ville,						
            pays.pays,
            GROUP_CONCAT( DISTINCT public SEPARATOR ", ") AS publics,
            GROUP_CONCAT( DISTINCT motcle ORDER BY ordre SEPARATOR ", ") AS motscles,
		audiovisuel.realisation,
		audiovisuel.cassette,
		audiovisuel.dvd,
		audiovisuel.complement,
		audiovisuel.reference as refcomplement,
		audiovisuel.duree,
		producteurs.producteur,
		collections.collection,
		revues.nom as revue,
		doc_revue.numero,
		doc_revue.date
        FROM documents
            LEFT OUTER JOIN editeurs ON documents.idEditeur = editeurs.idEditeur
	    LEFT OUTER JOIN lieuxedition ON documents.idLieuxEdition = lieuxedition.idLieuxEdition
            LEFT OUTER JOIN pays ON documents.idPays = pays.idPays
            LEFT OUTER JOIN doc_public ON documents.idDocument = doc_public.idDocument
            LEFT OUTER JOIN publics ON doc_public.idPublic = publics.idPublic
            LEFT OUTER JOIN doc_mc ON documents.idDocument = doc_mc.idDocument
            LEFT OUTER JOIN motscles ON doc_mc.idMotCle = motscles.idMotCle
	    LEFT OUTER JOIN audiovisuel ON documents.idDocument = audiovisuel.idDocument
	LEFT OUTER JOIN producteurs ON audiovisuel.idProducteur = producteurs.idProducteur
 	LEFT OUTER JOIN collections ON documents.idCollection = collections.idCollection
	LEFT OUTER JOIN categoriemateriel ON documents.idCategorie = categoriemateriel.idCategorie
	LEFT OUTER JOIN typedocument ON documents.idTypeDocument = typedocument.idTypeDocument
	LEFT OUTER JOIN doc_revue on documents.idDocument = doc_revue.idDocument
	LEFT OUTER JOIN revues on doc_revue.idRevue = revues.idRevue
        GROUP BY documents.idDocument;
Mais évidement ca ne marche, j'ai essayé la même requête avec CREATE TABLE au lieu de CREATE VIEW mais cela ne fonctionne pas...

Merci d'avance
Lionel