Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Les pros de ce forum calerait il sur ma question ????

1 réponse
Avatar
FFO
Fort étonné du désinterressement sucité je ne peux croire à une défaillance
des experts que vous êtes et fonde donc beaucoup d'espoire dans la
réitèration de ma question :


Le contexte :
14 tables de 2 jusqu'à 10 champs à alimenter à partir de 2 tables sources de
2 champs (1 champ code enregistrements et 1 champ donnés)
La méthode :
chaque table à servir l'est par le biais d'une requète qui filtre les lignes
de la table source en sélectionnant un code enregistrement propre et les
données propre à chaque champ par l'instruction "MID" comme suit :

INSERT INTO [Produit nouveau] ( Enregistrement, EAN, Libellé, [Code
couleur], [Libellé couleur], [Prix revient HT Franc], [Prix revient HT Euro],
[Code placement], [Unité logistique], [Code état produit] )
SELECT [Fichier nouveau].Enregistrement, Mid([Fichier
nouveau]![Données],1,14) AS Expr1, Mid([Fichier nouveau]![Données],15,80) AS
Expr2, Mid([Fichier nouveau]![Données],95,3) AS Expr3, Mid([Fichier
nouveau]![Données],98,80) AS Expr4, Mid([Fichier nouveau]![Données],178,11)
AS Expr5, Mid([Fichier nouveau]![Données],189,11) AS Expr6, Mid([Fichier
nouveau]![Données],200,1) AS Expr7, Mid([Fichier nouveau]![Données],201,5) AS
Expr8, Mid([Fichier nouveau]![Données],206,1) AS Expr9
FROM [Fichier nouveau]
WHERE ((([Fichier nouveau].Enregistrement)="2"));

Le nombre de champs variant en fonction de celui de la table destinatrice
pour l'exemple ci-dessus 15 secondes sont necessaire pour venir à bout du
traitement de 5000 lignes impactées aprés le filtre sur les
37000 lignes environ de la table source vers la table concernée soit plus de
3 minutes pour l'ensemble des 14 tables à garnir

Si j'utilise de surcroit la fonction RTRIM comme suit :

INSERT INTO [Produit nouveau] ( Enregistrement, EAN, Libellé, [Code
couleur], [Libellé couleur], [Prix revient HT
Franc],
[Prix revient HT Euro], [Code placement], [Unité logistique], [Code état
produit] )
SELECT [Fichier nouveau].Enregistrement, RTrim(Mid([Fichier
nouveau]!Données,1,14)) AS Expr1, RTrim(Mid([Fichier
nouveau]!Données,15,80)) AS Expr2, RTrim(Mid([Fichier
nouveau]!Données,95,3)) AS Expr3, RTrim(Mid([Fichier
nouveau]!Données,98,80)) AS Expr4, RTrim(Mid([Fichier
nouveau]!Données,178,11)) AS Expr5, RTrim(Mid([Fichier
nouveau]!Données,189,11)) AS Expr6, RTrim(Mid([Fichier
nouveau]!Données,200,1)) AS Expr7, RTrim(Mid([Fichier
nouveau]!Données,201,5)) AS Expr8, RTrim(Mid([Fichier
nouveau]!Données,206,1)) AS Expr9
FROM [Fichier nouveau]
WHERE ((([Fichier nouveau].Enregistrement)="2"));

le compteur explose soit pour cette requète et le même nombre de lignes la
bagatelle de 25 secondes

Si parcontre j'enrichi cette même table des données en l'état sans fonction
MID ou RTRIM une simple petite seconde est largement suffisant pour accomplir
la tâche

Un trés sympathique interlocuteur du forum à qui j'ai transmis ma base
access en l'état sur différent PC quelque soit la requète obtient lui des
temps de réponse de l'ordre de la seconde

Enfin sur 2 autres machines dans mon environnement professionnel j'arrive
péniblement à 10 secondes avec la toute première requète décrite ci-dessus

Je travail sous Windows 2000 NT avec 520Ko de RAM

Une bonne âme pour me donner l'origine éventuelle de cette lourdeur et des
solutions salvatrices

Merci pour la généreuse main secourable

1 réponse

Avatar
Pierre CFI [mvp]
bonjour
je veux bien tester, enléve les xxx_ à mon adresse

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

"FFO" a écrit dans le message de news:
Fort étonné du désinterressement sucité je ne peux croire à une défaillance
des experts que vous êtes et fonde donc beaucoup d'espoire dans la
réitèration de ma question :


Le contexte :
14 tables de 2 jusqu'à 10 champs à alimenter à partir de 2 tables sources de
2 champs (1 champ code enregistrements et 1 champ donnés)
La méthode :
chaque table à servir l'est par le biais d'une requète qui filtre les lignes
de la table source en sélectionnant un code enregistrement propre et les
données propre à chaque champ par l'instruction "MID" comme suit :

INSERT INTO [Produit nouveau] ( Enregistrement, EAN, Libellé, [Code
couleur], [Libellé couleur], [Prix revient HT Franc], [Prix revient HT Euro],
[Code placement], [Unité logistique], [Code état produit] )
SELECT [Fichier nouveau].Enregistrement, Mid([Fichier
nouveau]![Données],1,14) AS Expr1, Mid([Fichier nouveau]![Données],15,80) AS
Expr2, Mid([Fichier nouveau]![Données],95,3) AS Expr3, Mid([Fichier
nouveau]![Données],98,80) AS Expr4, Mid([Fichier nouveau]![Données],178,11)
AS Expr5, Mid([Fichier nouveau]![Données],189,11) AS Expr6, Mid([Fichier
nouveau]![Données],200,1) AS Expr7, Mid([Fichier nouveau]![Données],201,5) AS
Expr8, Mid([Fichier nouveau]![Données],206,1) AS Expr9
FROM [Fichier nouveau]
WHERE ((([Fichier nouveau].Enregistrement)="2"));

Le nombre de champs variant en fonction de celui de la table destinatrice
pour l'exemple ci-dessus 15 secondes sont necessaire pour venir à bout du
traitement de 5000 lignes impactées aprés le filtre sur les
37000 lignes environ de la table source vers la table concernée soit plus de
3 minutes pour l'ensemble des 14 tables à garnir

Si j'utilise de surcroit la fonction RTRIM comme suit :

INSERT INTO [Produit nouveau] ( Enregistrement, EAN, Libellé, [Code
couleur], [Libellé couleur], [Prix revient HT
Franc],
[Prix revient HT Euro], [Code placement], [Unité logistique], [Code état
produit] )
SELECT [Fichier nouveau].Enregistrement, RTrim(Mid([Fichier
nouveau]!Données,1,14)) AS Expr1, RTrim(Mid([Fichier
nouveau]!Données,15,80)) AS Expr2, RTrim(Mid([Fichier
nouveau]!Données,95,3)) AS Expr3, RTrim(Mid([Fichier
nouveau]!Données,98,80)) AS Expr4, RTrim(Mid([Fichier
nouveau]!Données,178,11)) AS Expr5, RTrim(Mid([Fichier
nouveau]!Données,189,11)) AS Expr6, RTrim(Mid([Fichier
nouveau]!Données,200,1)) AS Expr7, RTrim(Mid([Fichier
nouveau]!Données,201,5)) AS Expr8, RTrim(Mid([Fichier
nouveau]!Données,206,1)) AS Expr9
FROM [Fichier nouveau]
WHERE ((([Fichier nouveau].Enregistrement)="2"));

le compteur explose soit pour cette requète et le même nombre de lignes la
bagatelle de 25 secondes

Si parcontre j'enrichi cette même table des données en l'état sans fonction
MID ou RTRIM une simple petite seconde est largement suffisant pour accomplir
la tâche

Un trés sympathique interlocuteur du forum à qui j'ai transmis ma base
access en l'état sur différent PC quelque soit la requète obtient lui des
temps de réponse de l'ordre de la seconde

Enfin sur 2 autres machines dans mon environnement professionnel j'arrive
péniblement à 10 secondes avec la toute première requète décrite ci-dessus

Je travail sous Windows 2000 NT avec 520Ko de RAM

Une bonne âme pour me donner l'origine éventuelle de cette lourdeur et des
solutions salvatrices

Merci pour la généreuse main secourable