Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
J-Pierre
Bonsoir Domi,
Si tu veux marquer tes achats par paquets de dix, tu dois exécuter une requête de mises à jour dont la source est une requête où tu sélectionnes les 10 premiers, puis les dix suivants, etc... Ca se fait avec un "top 10" (la liste déroulante dans les boutons de créer une requête en mode création).
Si tu veux marquer d'un coup les x premiers, x étant un multiple de dix, par exemple 50 sur 52, tu dois d'abord calculer ce chiffre: Soit aligner un peu de code VBA: monRésultat = (DCount("unChamp","maTable","codeClient=" & me.codeClient)) 10 monRésultat = (DCount("unChamp","maTable","nomClient='" & me.nomClient & "'")) 10 Soit créer un champ indépendant "monRésultat " dans ton formulaire dont la source sera: = (DCount("unChamp","maTable","codeClient=" & me.codeClient)) 10 ou = (DCount("unChamp","maTable","nomClient='" & me.nomClient & "'")) 10 suivant que le champ est numérique ou caractères. Le champ est sans doute plus pratique.
puis exécuter une requête MAJ dont la source est une requête sélection extrayant les x premiers records, x étant le résultat du DCount précédent. Faudra tester que monRésultat n'est pas nul ou égal à zéro pour le cas où il y aurait moins de 10 lignes ou bien pas de lignes du tout. if isNumeric(monRésultat ) then if monRésultat > 0 then.....MAJ..... if isNumeric(me.monRésultat ) then if me.monRésultat > 0 then.....MAJ..... suivant que tu calcules par code VBA ou affiches dans le formulaire
La requête sélection devra être paramétrée: SELECT TOP [monRésultat] ................... J'ai un peu la flemme de chercher, mais tu trouveras le code pour exécuter une requête paramétrée sur le site de Raymond http://OfficeSystem.Access.free.fr/
J'ai dépassé les dix mots autorisés, j'espère que les chefs me pardonneront :-) J-Pierre
PS: je n'ai pas testé, j'ai écrit comme ça, si ça ne marche pas, tu peux râler....
"Domi" a écrit dans le message de news:
Bonjour à toutes et à tous,
Je sèche sur un problème...
J'ai deux tables liées (Clients et Achats) contenant respectivement environ 2500 et 10000 enregistrements.
Dans la table Achats, il faudrait que je "marque" les enregistrements (avec un champ Oui/Non) par groupes de 10 terminés par clients.
Exemple :
Un client a 4 achats. Aucun n'est marqué à Oui.
Un client a 17 achats. Les 10 premiers sont marqués à Oui, les 7 suivants à Non
.....
Un client a 52 achats. Les 50 premiers à Oui, les 2 derniers à Non.
Etc...
Si quelqu'un a une idée...
Merci.
Domi
Bonsoir Domi,
Si tu veux marquer tes achats par paquets de dix, tu dois exécuter une requête de mises à jour dont la source est une requête
où tu sélectionnes les 10 premiers, puis les dix suivants, etc... Ca se fait avec un "top 10" (la liste déroulante dans les
boutons de créer une requête en mode création).
Si tu veux marquer d'un coup les x premiers, x étant un multiple de dix, par exemple 50 sur 52, tu dois d'abord calculer ce
chiffre:
Soit aligner un peu de code VBA:
monRésultat = (DCount("unChamp","maTable","codeClient=" & me.codeClient)) 10
monRésultat = (DCount("unChamp","maTable","nomClient='" & me.nomClient & "'")) 10
Soit créer un champ indépendant "monRésultat " dans ton formulaire dont la source sera:
= (DCount("unChamp","maTable","codeClient=" & me.codeClient)) 10 ou
= (DCount("unChamp","maTable","nomClient='" & me.nomClient & "'")) 10
suivant que le champ est numérique ou caractères.
Le champ est sans doute plus pratique.
puis exécuter une requête MAJ dont la source est une requête sélection extrayant les x premiers records, x étant le résultat
du DCount précédent. Faudra tester que monRésultat n'est pas nul ou égal à zéro pour le cas où il y aurait moins de 10 lignes
ou bien pas de lignes du tout.
if isNumeric(monRésultat ) then
if monRésultat > 0 then.....MAJ.....
if isNumeric(me.monRésultat ) then
if me.monRésultat > 0 then.....MAJ.....
suivant que tu calcules par code VBA ou affiches dans le formulaire
La requête sélection devra être paramétrée:
SELECT TOP [monRésultat] ...................
J'ai un peu la flemme de chercher, mais tu trouveras le code pour exécuter une requête paramétrée sur le site de Raymond
http://OfficeSystem.Access.free.fr/
J'ai dépassé les dix mots autorisés, j'espère que les chefs me pardonneront :-)
J-Pierre
PS: je n'ai pas testé, j'ai écrit comme ça, si ça ne marche pas, tu peux râler....
"Domi" <Domi@discussions.microsoft.com> a écrit dans le message de news: 10443772-5BE7-4F30-97CC-8DF7ED9E65D1@microsoft.com...
Bonjour à toutes et à tous,
Je sèche sur un problème...
J'ai deux tables liées (Clients et Achats) contenant respectivement environ
2500 et 10000 enregistrements.
Dans la table Achats, il faudrait que je "marque" les enregistrements (avec
un champ Oui/Non) par groupes de 10 terminés par clients.
Exemple :
Un client a 4 achats. Aucun n'est marqué à Oui.
Un client a 17 achats. Les 10 premiers sont marqués à Oui, les 7 suivants à
Non
.....
Un client a 52 achats. Les 50 premiers à Oui, les 2 derniers à Non.
Si tu veux marquer tes achats par paquets de dix, tu dois exécuter une requête de mises à jour dont la source est une requête où tu sélectionnes les 10 premiers, puis les dix suivants, etc... Ca se fait avec un "top 10" (la liste déroulante dans les boutons de créer une requête en mode création).
Si tu veux marquer d'un coup les x premiers, x étant un multiple de dix, par exemple 50 sur 52, tu dois d'abord calculer ce chiffre: Soit aligner un peu de code VBA: monRésultat = (DCount("unChamp","maTable","codeClient=" & me.codeClient)) 10 monRésultat = (DCount("unChamp","maTable","nomClient='" & me.nomClient & "'")) 10 Soit créer un champ indépendant "monRésultat " dans ton formulaire dont la source sera: = (DCount("unChamp","maTable","codeClient=" & me.codeClient)) 10 ou = (DCount("unChamp","maTable","nomClient='" & me.nomClient & "'")) 10 suivant que le champ est numérique ou caractères. Le champ est sans doute plus pratique.
puis exécuter une requête MAJ dont la source est une requête sélection extrayant les x premiers records, x étant le résultat du DCount précédent. Faudra tester que monRésultat n'est pas nul ou égal à zéro pour le cas où il y aurait moins de 10 lignes ou bien pas de lignes du tout. if isNumeric(monRésultat ) then if monRésultat > 0 then.....MAJ..... if isNumeric(me.monRésultat ) then if me.monRésultat > 0 then.....MAJ..... suivant que tu calcules par code VBA ou affiches dans le formulaire
La requête sélection devra être paramétrée: SELECT TOP [monRésultat] ................... J'ai un peu la flemme de chercher, mais tu trouveras le code pour exécuter une requête paramétrée sur le site de Raymond http://OfficeSystem.Access.free.fr/
J'ai dépassé les dix mots autorisés, j'espère que les chefs me pardonneront :-) J-Pierre
PS: je n'ai pas testé, j'ai écrit comme ça, si ça ne marche pas, tu peux râler....
"Domi" a écrit dans le message de news:
Bonjour à toutes et à tous,
Je sèche sur un problème...
J'ai deux tables liées (Clients et Achats) contenant respectivement environ 2500 et 10000 enregistrements.
Dans la table Achats, il faudrait que je "marque" les enregistrements (avec un champ Oui/Non) par groupes de 10 terminés par clients.
Exemple :
Un client a 4 achats. Aucun n'est marqué à Oui.
Un client a 17 achats. Les 10 premiers sont marqués à Oui, les 7 suivants à Non
.....
Un client a 52 achats. Les 50 premiers à Oui, les 2 derniers à Non.
Etc...
Si quelqu'un a une idée...
Merci.
Domi
Domi
Merci Jean-Pierre,
Et non, je ne vais pas râler...
Je vais d'abord essayer...
En tout les cas, la piste me semble excellente.
Bonne journée.
Domi
Bonsoir Domi,
Si tu veux marquer tes achats par paquets de dix, tu dois exécuter une requête de mises à jour dont la source est une requête où tu sélectionnes les 10 premiers, puis les dix suivants, etc... Ca se fait avec un "top 10" (la liste déroulante dans les boutons de créer une requête en mode création).
Si tu veux marquer d'un coup les x premiers, x étant un multiple de dix, par exemple 50 sur 52, tu dois d'abord calculer ce chiffre: Soit aligner un peu de code VBA: monRésultat = (DCount("unChamp","maTable","codeClient=" & me.codeClient)) 10 monRésultat = (DCount("unChamp","maTable","nomClient='" & me.nomClient & "'")) 10 Soit créer un champ indépendant "monRésultat " dans ton formulaire dont la source sera: = (DCount("unChamp","maTable","codeClient=" & me.codeClient)) 10 ou = (DCount("unChamp","maTable","nomClient='" & me.nomClient & "'")) 10 suivant que le champ est numérique ou caractères. Le champ est sans doute plus pratique.
puis exécuter une requête MAJ dont la source est une requête sélection extrayant les x premiers records, x étant le résultat du DCount précédent. Faudra tester que monRésultat n'est pas nul ou égal à zéro pour le cas où il y aurait moins de 10 lignes ou bien pas de lignes du tout. if isNumeric(monRésultat ) then if monRésultat > 0 then.....MAJ..... if isNumeric(me.monRésultat ) then if me.monRésultat > 0 then.....MAJ..... suivant que tu calcules par code VBA ou affiches dans le formulaire
La requête sélection devra être paramétrée: SELECT TOP [monRésultat] ................... J'ai un peu la flemme de chercher, mais tu trouveras le code pour exécuter une requête paramétrée sur le site de Raymond http://OfficeSystem.Access.free.fr/
J'ai dépassé les dix mots autorisés, j'espère que les chefs me pardonneront :-) J-Pierre
PS: je n'ai pas testé, j'ai écrit comme ça, si ça ne marche pas, tu peux râler....
"Domi" a écrit dans le message de news:
Bonjour à toutes et à tous,
Je sèche sur un problème...
J'ai deux tables liées (Clients et Achats) contenant respectivement environ 2500 et 10000 enregistrements.
Dans la table Achats, il faudrait que je "marque" les enregistrements (avec un champ Oui/Non) par groupes de 10 terminés par clients.
Exemple :
Un client a 4 achats. Aucun n'est marqué à Oui.
Un client a 17 achats. Les 10 premiers sont marqués à Oui, les 7 suivants à Non
.....
Un client a 52 achats. Les 50 premiers à Oui, les 2 derniers à Non.
Etc...
Si quelqu'un a une idée...
Merci.
Domi
Merci Jean-Pierre,
Et non, je ne vais pas râler...
Je vais d'abord essayer...
En tout les cas, la piste me semble excellente.
Bonne journée.
Domi
Bonsoir Domi,
Si tu veux marquer tes achats par paquets de dix, tu dois exécuter une requête de mises à jour dont la source est une requête
où tu sélectionnes les 10 premiers, puis les dix suivants, etc... Ca se fait avec un "top 10" (la liste déroulante dans les
boutons de créer une requête en mode création).
Si tu veux marquer d'un coup les x premiers, x étant un multiple de dix, par exemple 50 sur 52, tu dois d'abord calculer ce
chiffre:
Soit aligner un peu de code VBA:
monRésultat = (DCount("unChamp","maTable","codeClient=" & me.codeClient)) 10
monRésultat = (DCount("unChamp","maTable","nomClient='" & me.nomClient & "'")) 10
Soit créer un champ indépendant "monRésultat " dans ton formulaire dont la source sera:
= (DCount("unChamp","maTable","codeClient=" & me.codeClient)) 10 ou
= (DCount("unChamp","maTable","nomClient='" & me.nomClient & "'")) 10
suivant que le champ est numérique ou caractères.
Le champ est sans doute plus pratique.
puis exécuter une requête MAJ dont la source est une requête sélection extrayant les x premiers records, x étant le résultat
du DCount précédent. Faudra tester que monRésultat n'est pas nul ou égal à zéro pour le cas où il y aurait moins de 10 lignes
ou bien pas de lignes du tout.
if isNumeric(monRésultat ) then
if monRésultat > 0 then.....MAJ.....
if isNumeric(me.monRésultat ) then
if me.monRésultat > 0 then.....MAJ.....
suivant que tu calcules par code VBA ou affiches dans le formulaire
La requête sélection devra être paramétrée:
SELECT TOP [monRésultat] ...................
J'ai un peu la flemme de chercher, mais tu trouveras le code pour exécuter une requête paramétrée sur le site de Raymond
http://OfficeSystem.Access.free.fr/
J'ai dépassé les dix mots autorisés, j'espère que les chefs me pardonneront :-)
J-Pierre
PS: je n'ai pas testé, j'ai écrit comme ça, si ça ne marche pas, tu peux râler....
"Domi" <Domi@discussions.microsoft.com> a écrit dans le message de news: 10443772-5BE7-4F30-97CC-8DF7ED9E65D1@microsoft.com...
Bonjour à toutes et à tous,
Je sèche sur un problème...
J'ai deux tables liées (Clients et Achats) contenant respectivement environ
2500 et 10000 enregistrements.
Dans la table Achats, il faudrait que je "marque" les enregistrements (avec
un champ Oui/Non) par groupes de 10 terminés par clients.
Exemple :
Un client a 4 achats. Aucun n'est marqué à Oui.
Un client a 17 achats. Les 10 premiers sont marqués à Oui, les 7 suivants à
Non
.....
Un client a 52 achats. Les 50 premiers à Oui, les 2 derniers à Non.
Si tu veux marquer tes achats par paquets de dix, tu dois exécuter une requête de mises à jour dont la source est une requête où tu sélectionnes les 10 premiers, puis les dix suivants, etc... Ca se fait avec un "top 10" (la liste déroulante dans les boutons de créer une requête en mode création).
Si tu veux marquer d'un coup les x premiers, x étant un multiple de dix, par exemple 50 sur 52, tu dois d'abord calculer ce chiffre: Soit aligner un peu de code VBA: monRésultat = (DCount("unChamp","maTable","codeClient=" & me.codeClient)) 10 monRésultat = (DCount("unChamp","maTable","nomClient='" & me.nomClient & "'")) 10 Soit créer un champ indépendant "monRésultat " dans ton formulaire dont la source sera: = (DCount("unChamp","maTable","codeClient=" & me.codeClient)) 10 ou = (DCount("unChamp","maTable","nomClient='" & me.nomClient & "'")) 10 suivant que le champ est numérique ou caractères. Le champ est sans doute plus pratique.
puis exécuter une requête MAJ dont la source est une requête sélection extrayant les x premiers records, x étant le résultat du DCount précédent. Faudra tester que monRésultat n'est pas nul ou égal à zéro pour le cas où il y aurait moins de 10 lignes ou bien pas de lignes du tout. if isNumeric(monRésultat ) then if monRésultat > 0 then.....MAJ..... if isNumeric(me.monRésultat ) then if me.monRésultat > 0 then.....MAJ..... suivant que tu calcules par code VBA ou affiches dans le formulaire
La requête sélection devra être paramétrée: SELECT TOP [monRésultat] ................... J'ai un peu la flemme de chercher, mais tu trouveras le code pour exécuter une requête paramétrée sur le site de Raymond http://OfficeSystem.Access.free.fr/
J'ai dépassé les dix mots autorisés, j'espère que les chefs me pardonneront :-) J-Pierre
PS: je n'ai pas testé, j'ai écrit comme ça, si ça ne marche pas, tu peux râler....
"Domi" a écrit dans le message de news:
Bonjour à toutes et à tous,
Je sèche sur un problème...
J'ai deux tables liées (Clients et Achats) contenant respectivement environ 2500 et 10000 enregistrements.
Dans la table Achats, il faudrait que je "marque" les enregistrements (avec un champ Oui/Non) par groupes de 10 terminés par clients.
Exemple :
Un client a 4 achats. Aucun n'est marqué à Oui.
Un client a 17 achats. Les 10 premiers sont marqués à Oui, les 7 suivants à Non
.....
Un client a 52 achats. Les 50 premiers à Oui, les 2 derniers à Non.
Etc...
Si quelqu'un a une idée...
Merci.
Domi
J-Pierre
Finalement, j'ai retrouvé le lien pour le site de Raymond, il est dans mes favoris !!!!!!