Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access
Access Forum d'entraide sur Microsoft Access. Avant de poster -> La F.A.Q Access
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 18/01/2012, 18h15   #1
Membre régulier
 
Homme Sylvain
Technico - Administratif
Inscription : août 2008
Messages : 382
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Localisation : France

Informations professionnelles :
Activité : Technico - Administratif
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : août 2008
Messages : 382
Points : 71
Points : 71
Par défaut Comment récuperer la derniere valeur entrée pour une selection precise

Bonsoir,

j'ai sous excel une gestion de carburant et je souhaiterais la faire en Access, dans une colonne j'ai :
Code :
=SI(MAX(SI(C$2:C4=C5;LIGNE($2:4)))=0;0;DECALER(E$2;MAX(SI(C$2:C4=C5;LIGNE($2:4)))-2;))
Qui me permettait de récupérer la dernière valeur entrée pour un Item precis, comment dois-je écrire cela sous Access ?

Le champ dont je dois tenir compte est la zone de liste "zdtImmat" et je souhaiterais que le champ zdtCompteurA est pour valeur la dernière entrée du champ zdtCompteurD quand on sélectionne dans la zdl un choix déjà entré dans la TbMvt.

Exp : zdl choix "3191VN79" CompteurA "100000" compteurB "100850", donc à la prochaine selection de "3191VN79" CompteurA = compteurB de la dernière entrée de "3191VN79".
Sous excel pas de soucis mais sous access ?

Cordialement
Shades
Shades est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 09h11   #2
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 874
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 874
Points : 10 740
Points : 10 740
Envoyer un message via MSN à jpcheck
Hello,
Pour gérer la derniere entrée dans une table, j'aurai tendance a utiliser une table de paramètres
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/01/2012, 09h40   #3
Membre régulier
 
Homme Sylvain
Technico - Administratif
Inscription : août 2008
Messages : 382
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Localisation : France

Informations professionnelles :
Activité : Technico - Administratif
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : août 2008
Messages : 382
Points : 71
Points : 71
Bonjour jpcheck,

Peux tu m'en dire plus car je suis un petit débutant sur Access et là c'est un peu du Chinois.

Comment sauvegarder la dernière valeur du champ compteurB pour une sélection de la zdlImmat, et ensuite récupérer cette valeur quand on fait une sélection identique dans la zdlImmat.

Cordialement,
sylvain
Shades est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2012, 10h15   #4
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 874
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 874
Points : 10 740
Points : 10 740
Envoyer un message via MSN à jpcheck
Hello,

la partie récupération de valeur dans la table est expliquée dans le tutoriel, pour l'insertion de données, il faudra la mettre en place de ton coté :
- à chaque nouvelle insertion, un bout de code ira prendra la valeur insérée et mettra à jour en conséquence la table de paramètres
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 19/01/2012, 11h20   #5
Membre régulier
 
Homme Sylvain
Technico - Administratif
Inscription : août 2008
Messages : 382
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Localisation : France

Informations professionnelles :
Activité : Technico - Administratif
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : août 2008
Messages : 382
Points : 71
Points : 71
jpcheck,

Et bien c'est pas gagné, je vois pas comment avec ce que j'ai lu je peux mettre cela en application sur une liste déroulante qui appellerai la dernière valeur entrée ds le zdt compteurB pour une sélection donnée de cette liste, je suis un vrai débutant dans ce monde de codes. Mais merci tout de même de ce lien, je vais continuer à chercher une solution plus claire à mon petit cerveau de non programmeur

Bonne journée
Shades
Shades est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2012, 17h11   #6
Membre régulier
 
Homme Sylvain
Technico - Administratif
Inscription : août 2008
Messages : 382
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Localisation : France

Informations professionnelles :
Activité : Technico - Administratif
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : août 2008
Messages : 382
Points : 71
Points : 71
Par défaut Calcul de conso carburant

Bonjour Jean-Philippe,

Selon ton article IV-B. Principe d'une table de paramètres j'ai donc créé ma table, _PARAMS_ avec Beneficiaire | CompteurD.

L'article IV-D. Code VBA
Citation:
Il s'agit désormais de mettre en place les fonctions qui vont aller chercher ces variables, récupérer leur valeur, les mettre à jour. Il existe de nombreuses façons d'aller chercher la valeur d'un champ dans un enregistrement. Les méthodes de manipulations de données font l'objets de nombreux cours accessibles sur cette page : Accès aux données. Pour rendre le code le plus digeste et compact possible, on utilisera ici les fonctions de domaines.
Me fait perdre la tête, pourrais tu me dire STP, me concernant quelle fonction serait la plus simple pour moi ?

zdtCompteurA et zdtCompteurD sont respectivement le kilométrage du véhicule (Bénéficiaire) son kilométrage au Départ du dépôt après avoir fait son plein, et le kilométrage quand il revient faire son plein. Je souhaites pouvoir calculer les kms parcourus avec son plein, il y a peut être moyen de faire le calcul avec un seul champ. Comment t'y prendrais tu toi ?

Cordialement,
Sylvain
Shades est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/02/2012, 17h19   #7
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 874
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 874
Points : 10 740
Points : 10 740
Envoyer un message via MSN à jpcheck


la fonction la plus simple reste Dlookup()

Un article très complet et très adapté de Philippe JOCHMANS te donne la syntaxe
http://starec.developpez.com/tuto/fonctionsdomaines/
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 14/02/2012, 18h01   #8
Membre régulier
 
Homme Sylvain
Technico - Administratif
Inscription : août 2008
Messages : 382
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Localisation : France

Informations professionnelles :
Activité : Technico - Administratif
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : août 2008
Messages : 382
Points : 71
Points : 71
Merci je vais voir si cela pourra m'aider
cordialement
sylvain
Shades est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2012, 15h00   #9
Membre régulier
 
Homme Sylvain
Technico - Administratif
Inscription : août 2008
Messages : 382
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Localisation : France

Informations professionnelles :
Activité : Technico - Administratif
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : août 2008
Messages : 382
Points : 71
Points : 71
Bonjour Jean-Philippe,

Alors avec ce code :
Code :
1
2
SELECT TbMvt.IDMvt, TbMvt.Beneficiaire, TbMvt.Datesortie, DLookUp("[Compteur]","TbMvt","[IDMvt] = " & [IDMvt]-1) AS CompteurD, TbMvt.Compteur, TbMvt.PompeD, TbMvt.PompeA, [Compteur]-[CompteurD] AS TotalKm, [PompeA]-[PompeD] AS TotalConso
FROM TbMvt;
Cela me donne bien en Valeur "CompteurD" la derniere valeur entrée pour "Compteur", mais cela me le fait de ligne en ligne sans tenir compte du "beneficiare".

comment puis-je lui indiquer de différencier les "bénéficiaires" ?

Cordialement,
Sylvain
Shades est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2012, 15h22   #10
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 874
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 874
Points : 10 740
Points : 10 740
Envoyer un message via MSN à jpcheck
Si tu veux un critere supplémentaire sur ton benficiaire, il faut l'indiquer dans ta clause WHERE du Dlookup()
par exemple (exemple faux, mais tu saisiras l'idée)
Code :
DLookUp("[Compteur]","TbMvt","[IDMvt] = " & [IDMvt]-1 & " AND Beneficiaire='Pioupiou'")
ou alors ai-je mal saisi la question ?
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/02/2012, 15h54   #11
Membre régulier
 
Homme Sylvain
Technico - Administratif
Inscription : août 2008
Messages : 382
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Localisation : France

Informations professionnelles :
Activité : Technico - Administratif
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : août 2008
Messages : 382
Points : 71
Points : 71
Jean-Philippe,

Dans l'idée, et si je veux que la valeur vienne d'une zdl ce serait :
Code :
1
2
SELECT TbMvt.IDMvt, TbMvt.Beneficiaire, TbMvt.Datesortie, DLookUp("[Compteur]","TbMvt","[IDMvt] = " & [IDMvt]-1 & " AND Beneficiaire = '[Forms]![FmMvt]![zdlBeneficiaire] &'") AS CompteurD, TbMvt.Compteur, TbMvt.PompeD, TbMvt.PompeA, [Compteur]-[CompteurD] AS TotalKm, [PompeA]-[PompeD] AS TotalConso
FROM TbMvt;
Mais là j'ai un doute sur la bonne syntaxe.

Cordialement,
Sylvain
Shades est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2012, 16h11   #12
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 874
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 874
Points : 10 740
Points : 10 740
Envoyer un message via MSN à jpcheck
la bonne syntaxe serait plutot
Code :
& " AND Beneficiaire = [Forms]![FmMvt]![zdlBeneficiaire]") AS CompteurD
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/02/2012, 16h21   #13
Membre régulier
 
Homme Sylvain
Technico - Administratif
Inscription : août 2008
Messages : 382
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Localisation : France

Informations professionnelles :
Activité : Technico - Administratif
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : août 2008
Messages : 382
Points : 71
Points : 71
Il me donne une erreur de syntaxe dans la chaine de l'expression avec :
Code :
1
2
SELECT TbMvt.IDMvt, TbMvt.Beneficiaire, TbMvt.Datesortie, DLookUp("[Compteur]","TbMvt","[IDMvt] = " & [IDMvt]-1 & " & " AND Beneficiaire = [Forms]![FmMvt]![zdlBeneficiaire] ") AS CompteurD, TbMvt.Compteur, TbMvt.PompeD, TbMvt.PompeA, [Compteur]-[CompteurD] AS TotalKm, [PompeA]-[PompeD] AS TotalConso
FROM TbMvt;
Là je sens bien une "," ou un ";" ou qq ch ds le genre qui manque non ?
Shades est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2012, 16h24   #14
Membre régulier
 
Homme Sylvain
Technico - Administratif
Inscription : août 2008
Messages : 382
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Localisation : France

Informations professionnelles :
Activité : Technico - Administratif
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : août 2008
Messages : 382
Points : 71
Points : 71
Naaaaa j'ai trouvé lol mdr, pffff

Code :
1
2
SELECT TbMvt.IDMvt, TbMvt.Beneficiaire, TbMvt.Datesortie, DLookUp("[Compteur]","TbMvt","[IDMvt] = " & [IDMvt]-1 & " AND Beneficiaire = [Forms]![FmMvt]![zdlBeneficiaire] ") AS CompteurD, TbMvt.Compteur, TbMvt.PompeD, TbMvt.PompeA, [Compteur]-[CompteurD] AS TotalKm, [PompeA]-[PompeD] AS TotalConso
FROM TbMvt;
Le double & un peu gênant

Quoi qu'il en soit le résultat de CompteurD est : #Erreur

Tu a compris ce que je cherchais à faire je penses, avec :
Code :
1
2
SELECT TbMvt.IDMvt, TbMvt.Beneficiaire, TbMvt.Datesortie, DLookUp("[Compteur]","TbMvt","[IDMvt] = " & [IDMvt]-1) AS CompteurD, TbMvt.Compteur, TbMvt.PompeD, TbMvt.PompeA, [Compteur]-[CompteurD] AS TotalKm, [PompeA]-[PompeD] AS TotalConso
FROM TbMvt;
le champ CompteurD prend bien la dernière valeur entrée dans le champ Compteur de la ligne du dessus, mais ce que je veux c'est pas simplement la dernière valeur de la ligne du dessus mais par rapport à un bénéficiaire donné. Comme dans l'image que j'avais jointe.

Je sais que on y est presque mais sans atteindre de résultat je m'en mord les doigts. Qu'est ce qui ne va pas dans ce code Jean Philippe ?

Cordialement,
Sylvain
Shades est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2012, 16h28   #15
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 874
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 874
Points : 10 740
Points : 10 740
Envoyer un message via MSN à jpcheck
En fait ce qui me gène dans la requete et en regardant le contenu de ta table, je ne vois pas en quoi le beneficiaire peut etre filtré si tu passes par l'IdMvt...

Soit tu as directement l'IdMvt le "plus élevé" pour trouver directement l'information que tu cherches, soit tu passes seulement par le beneficiaire

On va chercher des complications pour rien j'ai l'impression
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/02/2012, 16h34   #16
Membre régulier
 
Homme Sylvain
Technico - Administratif
Inscription : août 2008
Messages : 382
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Localisation : France

Informations professionnelles :
Activité : Technico - Administratif
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : août 2008
Messages : 382
Points : 71
Points : 71
Comment écrirais tu la syntaxe pourrais tu y mettre ta touche parceque là j'avoue être si prêt de ce que j'ai besoin et pas trouver grrrrrrrrrr ?
Shades est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2012, 16h39   #17
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 874
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 874
Points : 10 740
Points : 10 740
Envoyer un message via MSN à jpcheck
pour récupérer le compteur B de la derniere entrée du beneficiaire 'A', ca donnerait en VBA (modifier les " en ' si requete SQL)
Code :
Dlookup("CompteurB","TbMvt","IdMvt=" & Dmax("IdMvt","TbMvt","Beneficiaire='A'"))
on peut blinder en mettant des Nz(), ca donnerait

Code :
Nz(Dlookup("CompteurB","TbMvt","IdMvt=" & Nz(Dmax("IdMvt","TbMvt","Beneficiaire='A'"),0)),0)
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/02/2012, 16h50   #18
Membre régulier
 
Homme Sylvain
Technico - Administratif
Inscription : août 2008
Messages : 382
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Localisation : France

Informations professionnelles :
Activité : Technico - Administratif
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : août 2008
Messages : 382
Points : 71
Points : 71
Si j'ai bien compris en sql ça donnerai :

Code :
1
2
3
SELECT TbMvt.IDMvt, TbMvt.Beneficiaire, TbMvt.Datesortie, Nz(DLookUp("Compteur","TbMvt","IdMvt=" & Nz(DMax("IdMvt","TbMvt","Beneficiaire=[Forms]![FmMvt]![zdlBeneficiaire] "),0)),0) AS CompteurD, TbMvt.Compteur, TbMvt.PompeD, TbMvt.PompeA, [Compteur]-[CompteurD] AS TotalKm, [PompeA]-[PompeD] AS TotalConso
FROM TbMvt;
;
C'est bien cela ?
Shades est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/02/2012, 16h53   #19
Rédacteur/Modérateur
 
Avatar de jpcheck
 
Jean-Philippe ANDRÉ
Inscription : juillet 2007
Messages : 7 874
Détails du profil
Informations personnelles :
Nom : Jean-Philippe ANDRÉ
Âge : 28
Localisation : France

Informations forums :
Inscription : juillet 2007
Messages : 7 874
Points : 10 740
Points : 10 740
Envoyer un message via MSN à jpcheck
Attention à bien ouvrir ET fermer les quotes
Code :
1
2
SELECT TbMvt.IDMvt, TbMvt.Beneficiaire, TbMvt.Datesortie, Nz(Dlookup('CompteurB','TbMvt','IdMvt=' & Nz(Dmax('IdMvt','TbMvt','Beneficiaire=[Forms]![FmMvt]![zdlBeneficiaire]'),0)),0), TbMvt.Compteur, TbMvt.PompeD, TbMvt.PompeA, [Compteur]-[CompteurD] AS TotalKm, [PompeA]-[PompeD] AS TotalConso
FROM TbMvt;
__________________
Pas de question technique par MP, je ne réponds pas

Mon perso ? Une vraie brute

Tutos Access, Tâches planifiées et Batch,Tables de Paramètres sous Access, Excel et Batch, Tâches planifiées et Access
jpcheck est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/02/2012, 16h55   #20
Membre régulier
 
Homme Sylvain
Technico - Administratif
Inscription : août 2008
Messages : 382
Détails du profil
Informations personnelles :
Nom : Homme Sylvain
Localisation : France

Informations professionnelles :
Activité : Technico - Administratif
Secteur : Bâtiment Travaux Publics

Informations forums :
Inscription : août 2008
Messages : 382
Points : 71
Points : 71
oops plutôt :

Code :
1
2
SELECT TbMvt.IDMvt, TbMvt.Beneficiaire, TbMvt.Datesortie, Nz(DLookUp("Compteur","TbMvt","IdMvt=" & Nz(DMax("IdMvt","TbMvt","Beneficiaire=[Forms]![FmMvt]![zdlBeneficiaire] "),0)),0) AS CompteurD, TbMvt.Compteur, TbMvt.PompeD, TbMvt.PompeA, [Compteur]-[CompteurD] AS TotalKm, [PompeA]-[PompeD] AS TotalConso
FROM TbMvt;
Mais CompteurD ne prend aucune valeur comme cela
Shades 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 06h50.


 
 
 
 
Partenaires

Hébergement Web