Salut et bonne année à toutes et à tous !
[...]
Soit une requête sélection reprenant, pour chaque prof, deux champs :
DateVisiteProf (la date où le prof effectue la visite du stagiaire) et
CommuneEntreprise (la commune de l'entreprise où il doit se rendre). Je
voudrais, par un algorithme simple, renvoyer les valeurs de deux champs
calculés de ma requête : CommuneDépart et CommuneArrivée.
Salut et bonne année à toutes et à tous !
[...]
Soit une requête sélection reprenant, pour chaque prof, deux champs :
DateVisiteProf (la date où le prof effectue la visite du stagiaire) et
CommuneEntreprise (la commune de l'entreprise où il doit se rendre). Je
voudrais, par un algorithme simple, renvoyer les valeurs de deux champs
calculés de ma requête : CommuneDépart et CommuneArrivée.
Salut et bonne année à toutes et à tous !
[...]
Soit une requête sélection reprenant, pour chaque prof, deux champs :
DateVisiteProf (la date où le prof effectue la visite du stagiaire) et
CommuneEntreprise (la commune de l'entreprise où il doit se rendre). Je
voudrais, par un algorithme simple, renvoyer les valeurs de deux champs
calculés de ma requête : CommuneDépart et CommuneArrivée.
Kolele a écrit :
> Salut et bonne année à toutes et à tous !
> [...]
> Soit une requête sélection reprenant, pour chaque prof, deux champs :
> DateVisiteProf (la date où le prof effectue la visite du stagiaire) et
> CommuneEntreprise (la commune de l'entreprise où il doit se rendre). Je
> voudrais, par un algorithme simple, renvoyer les valeurs de deux champs
> calculés de ma requête : CommuneDépart et CommuneArrivée.
> [...]
Dans Access, la notion d'enregistrement précédent n'a de sens que si une
donnée permet de préciser ce qu'on entend par "précédent" !
En l'occurrence, il va vous falloir - au moins - indiquer l'ordre dans
lequel les visites se sont effectuées.
Si on a, par exemple, une table Déplacements avec les colonnes suivantes
: idprof, datevisite, ordre, commune alors dans une requête qui affiche
les 4 champs, on affichera un 5ème champ communedépart qui contiendra :
départ:
VraiFaux([ordre]=1;"Thiais";RechDom("commune";"Déplacements";"idprof=" &
[idprof] & " and datevisite=#" & [datevisite] & "# and ordre=" & [ordre]-1))
Testé avec une table Déplacements contenant les lignes suivantes :
id idprof datevisite ordre commune
11 10 01/01/2010 1 paris
12 10 01/01/2010 3 thiais
13 10 01/01/2010 2 orly
14 10 21/12/2009 1 orly
15 11 01/01/2010 1 arcueil
db
.
Kolele a écrit :
> Salut et bonne année à toutes et à tous !
> [...]
> Soit une requête sélection reprenant, pour chaque prof, deux champs :
> DateVisiteProf (la date où le prof effectue la visite du stagiaire) et
> CommuneEntreprise (la commune de l'entreprise où il doit se rendre). Je
> voudrais, par un algorithme simple, renvoyer les valeurs de deux champs
> calculés de ma requête : CommuneDépart et CommuneArrivée.
> [...]
Dans Access, la notion d'enregistrement précédent n'a de sens que si une
donnée permet de préciser ce qu'on entend par "précédent" !
En l'occurrence, il va vous falloir - au moins - indiquer l'ordre dans
lequel les visites se sont effectuées.
Si on a, par exemple, une table Déplacements avec les colonnes suivantes
: idprof, datevisite, ordre, commune alors dans une requête qui affiche
les 4 champs, on affichera un 5ème champ communedépart qui contiendra :
départ:
VraiFaux([ordre]=1;"Thiais";RechDom("commune";"Déplacements";"idprof=" &
[idprof] & " and datevisite=#" & [datevisite] & "# and ordre=" & [ordre]-1))
Testé avec une table Déplacements contenant les lignes suivantes :
id idprof datevisite ordre commune
11 10 01/01/2010 1 paris
12 10 01/01/2010 3 thiais
13 10 01/01/2010 2 orly
14 10 21/12/2009 1 orly
15 11 01/01/2010 1 arcueil
db
.
Kolele a écrit :
> Salut et bonne année à toutes et à tous !
> [...]
> Soit une requête sélection reprenant, pour chaque prof, deux champs :
> DateVisiteProf (la date où le prof effectue la visite du stagiaire) et
> CommuneEntreprise (la commune de l'entreprise où il doit se rendre). Je
> voudrais, par un algorithme simple, renvoyer les valeurs de deux champs
> calculés de ma requête : CommuneDépart et CommuneArrivée.
> [...]
Dans Access, la notion d'enregistrement précédent n'a de sens que si une
donnée permet de préciser ce qu'on entend par "précédent" !
En l'occurrence, il va vous falloir - au moins - indiquer l'ordre dans
lequel les visites se sont effectuées.
Si on a, par exemple, une table Déplacements avec les colonnes suivantes
: idprof, datevisite, ordre, commune alors dans une requête qui affiche
les 4 champs, on affichera un 5ème champ communedépart qui contiendra :
départ:
VraiFaux([ordre]=1;"Thiais";RechDom("commune";"Déplacements";"idprof=" &
[idprof] & " and datevisite=#" & [datevisite] & "# and ordre=" & [ordre]-1))
Testé avec une table Déplacements contenant les lignes suivantes :
id idprof datevisite ordre commune
11 10 01/01/2010 1 paris
12 10 01/01/2010 3 thiais
13 10 01/01/2010 2 orly
14 10 21/12/2009 1 orly
15 11 01/01/2010 1 arcueil
db
.
Kolele a écrit :
> Salut et bonne année à toutes et à tous !
> [...]
> Soit une requête sélection reprenant, pour chaque prof, deux champs :
> DateVisiteProf (la date où le prof effectue la visite du stagiaire) et
> CommuneEntreprise (la commune de l'entreprise où il doit se rendre). Je
> voudrais, par un algorithme simple, renvoyer les valeurs de deux champs
> calculés de ma requête : CommuneDépart et CommuneArrivée.
> [...]
Dans Access, la notion d'enregistrement précédent n'a de sens que si une
donnée permet de préciser ce qu'on entend par "précédent" !
En l'occurrence, il va vous falloir - au moins - indiquer l'ordre dans
lequel les visites se sont effectuées.
Si on a, par exemple, une table Déplacements avec les colonnes suivantes
: idprof, datevisite, ordre, commune alors dans une requête qui affiche
les 4 champs, on affichera un 5ème champ communedépart qui contiendra :
départ:
VraiFaux([ordre]=1;"Thiais";RechDom("commune";"Déplacements";"idprof=" &
[idprof] & " and datevisite=#" & [datevisite] & "# and ordre=" & [ordre]-1))
Testé avec une table Déplacements contenant les lignes suivantes :
id idprof datevisite ordre commune
11 10 01/01/2010 1 paris
12 10 01/01/2010 3 thiais
13 10 01/01/2010 2 orly
14 10 21/12/2009 1 orly
15 11 01/01/2010 1 arcueil
db
.
Kolele a écrit :
> Salut et bonne année à toutes et à tous !
> [...]
> Soit une requête sélection reprenant, pour chaque prof, deux champs :
> DateVisiteProf (la date où le prof effectue la visite du stagiaire) et
> CommuneEntreprise (la commune de l'entreprise où il doit se rendre). Je
> voudrais, par un algorithme simple, renvoyer les valeurs de deux champs
> calculés de ma requête : CommuneDépart et CommuneArrivée.
> [...]
Dans Access, la notion d'enregistrement précédent n'a de sens que si une
donnée permet de préciser ce qu'on entend par "précédent" !
En l'occurrence, il va vous falloir - au moins - indiquer l'ordre dans
lequel les visites se sont effectuées.
Si on a, par exemple, une table Déplacements avec les colonnes suivantes
: idprof, datevisite, ordre, commune alors dans une requête qui affiche
les 4 champs, on affichera un 5ème champ communedépart qui contiendra :
départ:
VraiFaux([ordre]=1;"Thiais";RechDom("commune";"Déplacements";"idprof=" &
[idprof] & " and datevisite=#" & [datevisite] & "# and ordre=" & [ordre]-1))
Testé avec une table Déplacements contenant les lignes suivantes :
id idprof datevisite ordre commune
11 10 01/01/2010 1 paris
12 10 01/01/2010 3 thiais
13 10 01/01/2010 2 orly
14 10 21/12/2009 1 orly
15 11 01/01/2010 1 arcueil
db
.
Kolele a écrit :
> Salut et bonne année à toutes et à tous !
> [...]
> Soit une requête sélection reprenant, pour chaque prof, deux champs :
> DateVisiteProf (la date où le prof effectue la visite du stagiaire) et
> CommuneEntreprise (la commune de l'entreprise où il doit se rendre). Je
> voudrais, par un algorithme simple, renvoyer les valeurs de deux champs
> calculés de ma requête : CommuneDépart et CommuneArrivée.
> [...]
Dans Access, la notion d'enregistrement précédent n'a de sens que si une
donnée permet de préciser ce qu'on entend par "précédent" !
En l'occurrence, il va vous falloir - au moins - indiquer l'ordre dans
lequel les visites se sont effectuées.
Si on a, par exemple, une table Déplacements avec les colonnes suivantes
: idprof, datevisite, ordre, commune alors dans une requête qui affiche
les 4 champs, on affichera un 5ème champ communedépart qui contiendra :
départ:
VraiFaux([ordre]=1;"Thiais";RechDom("commune";"Déplacements";"idprof=" &
[idprof] & " and datevisite=#" & [datevisite] & "# and ordre=" & [ordre]-1))
Testé avec une table Déplacements contenant les lignes suivantes :
id idprof datevisite ordre commune
11 10 01/01/2010 1 paris
12 10 01/01/2010 3 thiais
13 10 01/01/2010 2 orly
14 10 21/12/2009 1 orly
15 11 01/01/2010 1 arcueil
db
.
Rebonjour à tous
J'ai des problèmes avec la fonction RechDom, sur le meme projet. Quand je
reprends la syntaxe de db, ça marche :
communedépart:
VraiFaux([ordre]=1;"Thiais";RechDom("commune";"9-DéplacementsEssai";"idprof="
& [idprof] & " and datevisite=#" & [datevisite] & "# and ordre=" & [ordre]-1))
mais quand je pointe la fonction sur une requête
([11-PlannificationVisiteSousForm]), aucun résultat n'est renvoyé :
CommuneDépart:
VraiFaux([OrdreTrajet]=1;"THIAIS";RechDom("[NomCommune]";"11-PlannificationVisiteSousForm";"[CléPersonnel]="
& [CléPersonnel] & " and [DateVisiteProf]=#" & [DateVisiteProf] & "# and
[OrdreTrajet]=" & [OrdreTrajet]-1))
RechDom ne fonctionnerait pas sur une requête, ou autre syntaxe ?
J'aimerais bien aussi comprendre la syntaxe de la fonction (le sens des
guillemets, des & et des dièses. L'aide n'est pas toujours très claire.
Merci à tous.
Rebonjour à tous
J'ai des problèmes avec la fonction RechDom, sur le meme projet. Quand je
reprends la syntaxe de db, ça marche :
communedépart:
VraiFaux([ordre]=1;"Thiais";RechDom("commune";"9-DéplacementsEssai";"idprof="
& [idprof] & " and datevisite=#" & [datevisite] & "# and ordre=" & [ordre]-1))
mais quand je pointe la fonction sur une requête
([11-PlannificationVisiteSousForm]), aucun résultat n'est renvoyé :
CommuneDépart:
VraiFaux([OrdreTrajet]=1;"THIAIS";RechDom("[NomCommune]";"11-PlannificationVisiteSousForm";"[CléPersonnel]="
& [CléPersonnel] & " and [DateVisiteProf]=#" & [DateVisiteProf] & "# and
[OrdreTrajet]=" & [OrdreTrajet]-1))
RechDom ne fonctionnerait pas sur une requête, ou autre syntaxe ?
J'aimerais bien aussi comprendre la syntaxe de la fonction (le sens des
guillemets, des & et des dièses. L'aide n'est pas toujours très claire.
Merci à tous.
Rebonjour à tous
J'ai des problèmes avec la fonction RechDom, sur le meme projet. Quand je
reprends la syntaxe de db, ça marche :
communedépart:
VraiFaux([ordre]=1;"Thiais";RechDom("commune";"9-DéplacementsEssai";"idprof="
& [idprof] & " and datevisite=#" & [datevisite] & "# and ordre=" & [ordre]-1))
mais quand je pointe la fonction sur une requête
([11-PlannificationVisiteSousForm]), aucun résultat n'est renvoyé :
CommuneDépart:
VraiFaux([OrdreTrajet]=1;"THIAIS";RechDom("[NomCommune]";"11-PlannificationVisiteSousForm";"[CléPersonnel]="
& [CléPersonnel] & " and [DateVisiteProf]=#" & [DateVisiteProf] & "# and
[OrdreTrajet]=" & [OrdreTrajet]-1))
RechDom ne fonctionnerait pas sur une requête, ou autre syntaxe ?
J'aimerais bien aussi comprendre la syntaxe de la fonction (le sens des
guillemets, des & et des dièses. L'aide n'est pas toujours très claire.
Merci à tous.
Kolele a écrit :
> Rebonjour à tous
> J'ai des problèmes avec la fonction RechDom, sur le meme projet. Quand je
> reprends la syntaxe de db, ça marche :
>
> communedépart:
> VraiFaux([ordre]=1;"Thiais";RechDom("commune";"9-DéplacementsEssai";"idprof="
> & [idprof] & " and datevisite=#" & [datevisite] & "# and ordre=" & [ordre]-1))
>
> mais quand je pointe la fonction sur une requête
> ([11-PlannificationVisiteSousForm]), aucun résultat n'est renvoyé :
> CommuneDépart:
> VraiFaux([OrdreTrajet]=1;"THIAIS";RechDom("[NomCommune]";"11-PlannificationVisiteSousForm";"[CléPersonnel]="
> & [CléPersonnel] & " and [DateVisiteProf]=#" & [DateVisiteProf] & "# and
> [OrdreTrajet]=" & [OrdreTrajet]-1))
>
> RechDom ne fonctionnerait pas sur une requête, ou autre syntaxe ?
> J'aimerais bien aussi comprendre la syntaxe de la fonction (le sens des
> guillemets, des & et des dièses. L'aide n'est pas toujours très claire.
> Merci à tous.
>
Bonsoir,
Je ne sais pas si ça vient de là, mais j'ai effectivement oublié que la
date doit être passée au format SQL , c'est-à-dire américain :
...." and [DateVisiteProf]=#" & Format([DateVisiteProf];"mm/jj/aaaa") & ...
La syntaxe de RechDom attend 3 paramètres : le champ renvoyé
([NomCommune], la table/requête ([11-PlannificationVisiteSousForm]) et
la condition de recherche ("[CléPersonnel]="
& [CléPersonnel] & " and [DateVisiteProf]=#" &
Format([DateVisiteProf];"mm/jj/aaaa") & "# and
[OrdreTrajet]=" & [OrdreTrajet]-1))
Sur une ligne où les champs [CléPersonnel], [DateVisiteProf] et
[OrdreTrajet] contiendraient respectivement 9, 13/1/2001 et 4,
cette condition de recherche pourrait s'écrire :
"[CléPersonnel]=9 and [DateVisiteProf]=#01/13/2010# and [OrdreTrajet]=3"
(une date doit être encadrée de 2 #)
mais les trois critères 9, 01/13/2010, 2 dépendent de la ligne de la
requête, il faut donc les remplacer par les champs correspondants, et
les "sortir" de la chaîne de caractères :
"[CléPersonnel]=" & [CléPersonnel] : à l'exécution, ça donne :
[CléPersonnel]=9
"[DateVisiteProf]=#" & Format([DateVisiteProf];"mm/dd/aaaa") & "#" : à
l'exécution, ça donne : [DateVisiteProf]=#13/01/2001"
"[OrdreTrajet]=" & [OrdreTrajet]-1 : à l'exécution, ça donne :
[OrdreTrajet]=3
Le symbole & sert à la concaténation. Il ne reste plus qu'à lier les
critères avec l'opérateur logique "and" :
"[CléPersonnel]=" & [CléPersonnel] & " and [DateVisiteProf]=#" &
Format([DateVisiteProf];"mm/dd/aaaa") & "# and [OrdreTrajet]=" &
[OrdreTrajet]-1"
Hum... Est-ce plus clair ?
db
.
Kolele a écrit :
> Rebonjour à tous
> J'ai des problèmes avec la fonction RechDom, sur le meme projet. Quand je
> reprends la syntaxe de db, ça marche :
>
> communedépart:
> VraiFaux([ordre]=1;"Thiais";RechDom("commune";"9-DéplacementsEssai";"idprof="
> & [idprof] & " and datevisite=#" & [datevisite] & "# and ordre=" & [ordre]-1))
>
> mais quand je pointe la fonction sur une requête
> ([11-PlannificationVisiteSousForm]), aucun résultat n'est renvoyé :
> CommuneDépart:
> VraiFaux([OrdreTrajet]=1;"THIAIS";RechDom("[NomCommune]";"11-PlannificationVisiteSousForm";"[CléPersonnel]="
> & [CléPersonnel] & " and [DateVisiteProf]=#" & [DateVisiteProf] & "# and
> [OrdreTrajet]=" & [OrdreTrajet]-1))
>
> RechDom ne fonctionnerait pas sur une requête, ou autre syntaxe ?
> J'aimerais bien aussi comprendre la syntaxe de la fonction (le sens des
> guillemets, des & et des dièses. L'aide n'est pas toujours très claire.
> Merci à tous.
>
Bonsoir,
Je ne sais pas si ça vient de là, mais j'ai effectivement oublié que la
date doit être passée au format SQL , c'est-à-dire américain :
...." and [DateVisiteProf]=#" & Format([DateVisiteProf];"mm/jj/aaaa") & ...
La syntaxe de RechDom attend 3 paramètres : le champ renvoyé
([NomCommune], la table/requête ([11-PlannificationVisiteSousForm]) et
la condition de recherche ("[CléPersonnel]="
& [CléPersonnel] & " and [DateVisiteProf]=#" &
Format([DateVisiteProf];"mm/jj/aaaa") & "# and
[OrdreTrajet]=" & [OrdreTrajet]-1))
Sur une ligne où les champs [CléPersonnel], [DateVisiteProf] et
[OrdreTrajet] contiendraient respectivement 9, 13/1/2001 et 4,
cette condition de recherche pourrait s'écrire :
"[CléPersonnel]=9 and [DateVisiteProf]=#01/13/2010# and [OrdreTrajet]=3"
(une date doit être encadrée de 2 #)
mais les trois critères 9, 01/13/2010, 2 dépendent de la ligne de la
requête, il faut donc les remplacer par les champs correspondants, et
les "sortir" de la chaîne de caractères :
"[CléPersonnel]=" & [CléPersonnel] : à l'exécution, ça donne :
[CléPersonnel]=9
"[DateVisiteProf]=#" & Format([DateVisiteProf];"mm/dd/aaaa") & "#" : à
l'exécution, ça donne : [DateVisiteProf]=#13/01/2001"
"[OrdreTrajet]=" & [OrdreTrajet]-1 : à l'exécution, ça donne :
[OrdreTrajet]=3
Le symbole & sert à la concaténation. Il ne reste plus qu'à lier les
critères avec l'opérateur logique "and" :
"[CléPersonnel]=" & [CléPersonnel] & " and [DateVisiteProf]=#" &
Format([DateVisiteProf];"mm/dd/aaaa") & "# and [OrdreTrajet]=" &
[OrdreTrajet]-1"
Hum... Est-ce plus clair ?
db
.
Kolele a écrit :
> Rebonjour à tous
> J'ai des problèmes avec la fonction RechDom, sur le meme projet. Quand je
> reprends la syntaxe de db, ça marche :
>
> communedépart:
> VraiFaux([ordre]=1;"Thiais";RechDom("commune";"9-DéplacementsEssai";"idprof="
> & [idprof] & " and datevisite=#" & [datevisite] & "# and ordre=" & [ordre]-1))
>
> mais quand je pointe la fonction sur une requête
> ([11-PlannificationVisiteSousForm]), aucun résultat n'est renvoyé :
> CommuneDépart:
> VraiFaux([OrdreTrajet]=1;"THIAIS";RechDom("[NomCommune]";"11-PlannificationVisiteSousForm";"[CléPersonnel]="
> & [CléPersonnel] & " and [DateVisiteProf]=#" & [DateVisiteProf] & "# and
> [OrdreTrajet]=" & [OrdreTrajet]-1))
>
> RechDom ne fonctionnerait pas sur une requête, ou autre syntaxe ?
> J'aimerais bien aussi comprendre la syntaxe de la fonction (le sens des
> guillemets, des & et des dièses. L'aide n'est pas toujours très claire.
> Merci à tous.
>
Bonsoir,
Je ne sais pas si ça vient de là, mais j'ai effectivement oublié que la
date doit être passée au format SQL , c'est-à-dire américain :
...." and [DateVisiteProf]=#" & Format([DateVisiteProf];"mm/jj/aaaa") & ...
La syntaxe de RechDom attend 3 paramètres : le champ renvoyé
([NomCommune], la table/requête ([11-PlannificationVisiteSousForm]) et
la condition de recherche ("[CléPersonnel]="
& [CléPersonnel] & " and [DateVisiteProf]=#" &
Format([DateVisiteProf];"mm/jj/aaaa") & "# and
[OrdreTrajet]=" & [OrdreTrajet]-1))
Sur une ligne où les champs [CléPersonnel], [DateVisiteProf] et
[OrdreTrajet] contiendraient respectivement 9, 13/1/2001 et 4,
cette condition de recherche pourrait s'écrire :
"[CléPersonnel]=9 and [DateVisiteProf]=#01/13/2010# and [OrdreTrajet]=3"
(une date doit être encadrée de 2 #)
mais les trois critères 9, 01/13/2010, 2 dépendent de la ligne de la
requête, il faut donc les remplacer par les champs correspondants, et
les "sortir" de la chaîne de caractères :
"[CléPersonnel]=" & [CléPersonnel] : à l'exécution, ça donne :
[CléPersonnel]=9
"[DateVisiteProf]=#" & Format([DateVisiteProf];"mm/dd/aaaa") & "#" : à
l'exécution, ça donne : [DateVisiteProf]=#13/01/2001"
"[OrdreTrajet]=" & [OrdreTrajet]-1 : à l'exécution, ça donne :
[OrdreTrajet]=3
Le symbole & sert à la concaténation. Il ne reste plus qu'à lier les
critères avec l'opérateur logique "and" :
"[CléPersonnel]=" & [CléPersonnel] & " and [DateVisiteProf]=#" &
Format([DateVisiteProf];"mm/dd/aaaa") & "# and [OrdreTrajet]=" &
[OrdreTrajet]-1"
Hum... Est-ce plus clair ?
db
.
Ça maaaarche !
Ça ne venait pas du format SQL de la date : la première fonction qui
fonctionnait hier avec la table DEPLACEMENT renvoyait un message d'erreur
avec ce format.
Ça a mis du temps à devenir stable, en revanche. La même expression s'est
mise à fonctionner dans une copie de la base, alors qu'elle ne fonctionnait
dans la base initiale.
Un grand merci, en tout cas, db. Je m'attaque à la commune d'arrivée. Il me
faut gérer le retour du prof : après avoir fait une ou plusieurs visites en
entreprise, il doit revenir à la case départ (le lycée), ce qui génère un
nouveau trajet. J'ai quelques idées.
Côté syntaxe, un dernier truc me chiffonne : les &, les # fonctionnent par
paires, encadrant une expression ; bizarrement, pas les guillemets. A quoi
servent les guillemets dans RechDom ?
Ça maaaarche !
Ça ne venait pas du format SQL de la date : la première fonction qui
fonctionnait hier avec la table DEPLACEMENT renvoyait un message d'erreur
avec ce format.
Ça a mis du temps à devenir stable, en revanche. La même expression s'est
mise à fonctionner dans une copie de la base, alors qu'elle ne fonctionnait
dans la base initiale.
Un grand merci, en tout cas, db. Je m'attaque à la commune d'arrivée. Il me
faut gérer le retour du prof : après avoir fait une ou plusieurs visites en
entreprise, il doit revenir à la case départ (le lycée), ce qui génère un
nouveau trajet. J'ai quelques idées.
Côté syntaxe, un dernier truc me chiffonne : les &, les # fonctionnent par
paires, encadrant une expression ; bizarrement, pas les guillemets. A quoi
servent les guillemets dans RechDom ?
Ça maaaarche !
Ça ne venait pas du format SQL de la date : la première fonction qui
fonctionnait hier avec la table DEPLACEMENT renvoyait un message d'erreur
avec ce format.
Ça a mis du temps à devenir stable, en revanche. La même expression s'est
mise à fonctionner dans une copie de la base, alors qu'elle ne fonctionnait
dans la base initiale.
Un grand merci, en tout cas, db. Je m'attaque à la commune d'arrivée. Il me
faut gérer le retour du prof : après avoir fait une ou plusieurs visites en
entreprise, il doit revenir à la case départ (le lycée), ce qui génère un
nouveau trajet. J'ai quelques idées.
Côté syntaxe, un dernier truc me chiffonne : les &, les # fonctionnent par
paires, encadrant une expression ; bizarrement, pas les guillemets. A quoi
servent les guillemets dans RechDom ?
Kolele a écrit :
> Ça maaaarche !
Tant mieux :-)
> Ça ne venait pas du format SQL de la date : la première fonction qui
> fonctionnait hier avec la table DEPLACEMENT renvoyait un message d'erreur
> avec ce format.
Etrange...
> Ça a mis du temps à devenir stable, en revanche. La même expression s'est
> mise à fonctionner dans une copie de la base, alors qu'elle ne fonctionnait
> dans la base initiale.
>
> Un grand merci, en tout cas, db. Je m'attaque à la commune d'arrivée. Il me
> faut gérer le retour du prof : après avoir fait une ou plusieurs visites en
> entreprise, il doit revenir à la case départ (le lycée), ce qui génère un
> nouveau trajet. J'ai quelques idées.
Il me semble que je traiterais ça dans la même requête avec une UNION.
> Côté syntaxe, un dernier truc me chiffonne : les &, les # fonctionnent par
> paires, encadrant une expression ; bizarrement, pas les guillemets. A quoi
> servent les guillemets dans RechDom ?
Les # et les guillemets fonctionnent par paire :
RechDom("[NomCommune]";"11-PlannificationVisiteSousForm";"[CléPersonnel]="
& [CléPersonnel] & " and [DateVisiteProf]=#" & [DateVisiteProf] & "# and
[OrdreTrajet]=" & [OrdreTrajet]-1))
Si je compte bien, il y a 6 guillemets dans le RechDom et deux #. Les guillemets servent à constituer la chaîne de la condition de recherche.
Les & ne fonctionnent pas par paire : il y en a 5 !
db
.
Kolele a écrit :
> Ça maaaarche !
Tant mieux :-)
> Ça ne venait pas du format SQL de la date : la première fonction qui
> fonctionnait hier avec la table DEPLACEMENT renvoyait un message d'erreur
> avec ce format.
Etrange...
> Ça a mis du temps à devenir stable, en revanche. La même expression s'est
> mise à fonctionner dans une copie de la base, alors qu'elle ne fonctionnait
> dans la base initiale.
>
> Un grand merci, en tout cas, db. Je m'attaque à la commune d'arrivée. Il me
> faut gérer le retour du prof : après avoir fait une ou plusieurs visites en
> entreprise, il doit revenir à la case départ (le lycée), ce qui génère un
> nouveau trajet. J'ai quelques idées.
Il me semble que je traiterais ça dans la même requête avec une UNION.
> Côté syntaxe, un dernier truc me chiffonne : les &, les # fonctionnent par
> paires, encadrant une expression ; bizarrement, pas les guillemets. A quoi
> servent les guillemets dans RechDom ?
Les # et les guillemets fonctionnent par paire :
RechDom("[NomCommune]";"11-PlannificationVisiteSousForm";"[CléPersonnel]="
& [CléPersonnel] & " and [DateVisiteProf]=#" & [DateVisiteProf] & "# and
[OrdreTrajet]=" & [OrdreTrajet]-1))
Si je compte bien, il y a 6 guillemets dans le RechDom et deux #. Les guillemets servent à constituer la chaîne de la condition de recherche.
Les & ne fonctionnent pas par paire : il y en a 5 !
db
.
Kolele a écrit :
> Ça maaaarche !
Tant mieux :-)
> Ça ne venait pas du format SQL de la date : la première fonction qui
> fonctionnait hier avec la table DEPLACEMENT renvoyait un message d'erreur
> avec ce format.
Etrange...
> Ça a mis du temps à devenir stable, en revanche. La même expression s'est
> mise à fonctionner dans une copie de la base, alors qu'elle ne fonctionnait
> dans la base initiale.
>
> Un grand merci, en tout cas, db. Je m'attaque à la commune d'arrivée. Il me
> faut gérer le retour du prof : après avoir fait une ou plusieurs visites en
> entreprise, il doit revenir à la case départ (le lycée), ce qui génère un
> nouveau trajet. J'ai quelques idées.
Il me semble que je traiterais ça dans la même requête avec une UNION.
> Côté syntaxe, un dernier truc me chiffonne : les &, les # fonctionnent par
> paires, encadrant une expression ; bizarrement, pas les guillemets. A quoi
> servent les guillemets dans RechDom ?
Les # et les guillemets fonctionnent par paire :
RechDom("[NomCommune]";"11-PlannificationVisiteSousForm";"[CléPersonnel]="
& [CléPersonnel] & " and [DateVisiteProf]=#" & [DateVisiteProf] & "# and
[OrdreTrajet]=" & [OrdreTrajet]-1))
Si je compte bien, il y a 6 guillemets dans le RechDom et deux #. Les guillemets servent à constituer la chaîne de la condition de recherche.
Les & ne fonctionnent pas par paire : il y en a 5 !
db
.
Bonjour db et vous tous,
Je rappelle que le projet consiste à déterminer les trajets de profs qui
visitent leurs élèves en stage en entreprise. Tout fonctionne (la commune de
départ, d'arrivée), il reste maintenant la commune de retour : le dernier
trajet de la journée est celui qui ramène mon prof au lycée.
Bonjour db et vous tous,
Je rappelle que le projet consiste à déterminer les trajets de profs qui
visitent leurs élèves en stage en entreprise. Tout fonctionne (la commune de
départ, d'arrivée), il reste maintenant la commune de retour : le dernier
trajet de la journée est celui qui ramène mon prof au lycée.
Bonjour db et vous tous,
Je rappelle que le projet consiste à déterminer les trajets de profs qui
visitent leurs élèves en stage en entreprise. Tout fonctionne (la commune de
départ, d'arrivée), il reste maintenant la commune de retour : le dernier
trajet de la journée est celui qui ramène mon prof au lycée.
Salut et bonne année à toutes et à tous !
Dans ACCESS 2002, je cherche à déterminer des trajets de profs visitant en
entreprise leurs étudiants stagiaires (pour ensuite calculer leurs frais de
déplacement). Lorsque le prof visite un seul élève par jour, no problemo car
le départ et l'arrivée sont des constantes : CommuneDépart = le lycée ;
CommuneArrivée = l'entreprise.
La difficulté provient de ce que chaque prof visite plusieurs stagiaires le
même jour : ils partent du lycée visiter le premier stagiaire, mais ensuite
repartent de l'entreprise visitée pour se rendre dans l'entreprise du
deuxième stagiaire. La commune de départ change.
Soit une requête sélection reprenant, pour chaque prof, deux champs :
DateVisiteProf (la date où le prof effectue la visite du stagiaire) et
CommuneEntreprise (la commune de l'entreprise où il doit se rendre). Je
voudrais, par un algorithme simple, renvoyer les valeurs de deux champs
calculés de ma requête : CommuneDépart et CommuneArrivée.
- Pour CommuneDépart :
SI il n'y a pas d'autre visite le même jour, ALORS CommuneDépart = "THIAIS"
(le lycée).
SINON, CommuneDépart = CommuneArrivée de l'enregistrement précédent (la
visite précédente).
- Pour CommuneArrivée :
SI il y a déjà eu un déplacement le même jour et que la visite est la
dernière du jour, ALORS, CommuneArrivée = "THIAIS" (retour au lycée).
SINON, CommuneArrivée = CommuneEntreprise
J'arrive à faire ça sur EXCEL, par des fonction en SI ET OU enchâssées.
Sur ACCESS, dans une requête, je n'arrive pas à désigner la valeur de
l'enregistrement précédent. Et le VBA n'est pas ma langue maternelle. Merci
du coup de m
Salut et bonne année à toutes et à tous !
Dans ACCESS 2002, je cherche à déterminer des trajets de profs visitant en
entreprise leurs étudiants stagiaires (pour ensuite calculer leurs frais de
déplacement). Lorsque le prof visite un seul élève par jour, no problemo car
le départ et l'arrivée sont des constantes : CommuneDépart = le lycée ;
CommuneArrivée = l'entreprise.
La difficulté provient de ce que chaque prof visite plusieurs stagiaires le
même jour : ils partent du lycée visiter le premier stagiaire, mais ensuite
repartent de l'entreprise visitée pour se rendre dans l'entreprise du
deuxième stagiaire. La commune de départ change.
Soit une requête sélection reprenant, pour chaque prof, deux champs :
DateVisiteProf (la date où le prof effectue la visite du stagiaire) et
CommuneEntreprise (la commune de l'entreprise où il doit se rendre). Je
voudrais, par un algorithme simple, renvoyer les valeurs de deux champs
calculés de ma requête : CommuneDépart et CommuneArrivée.
- Pour CommuneDépart :
SI il n'y a pas d'autre visite le même jour, ALORS CommuneDépart = "THIAIS"
(le lycée).
SINON, CommuneDépart = CommuneArrivée de l'enregistrement précédent (la
visite précédente).
- Pour CommuneArrivée :
SI il y a déjà eu un déplacement le même jour et que la visite est la
dernière du jour, ALORS, CommuneArrivée = "THIAIS" (retour au lycée).
SINON, CommuneArrivée = CommuneEntreprise
J'arrive à faire ça sur EXCEL, par des fonction en SI ET OU enchâssées.
Sur ACCESS, dans une requête, je n'arrive pas à désigner la valeur de
l'enregistrement précédent. Et le VBA n'est pas ma langue maternelle. Merci
du coup de m
Salut et bonne année à toutes et à tous !
Dans ACCESS 2002, je cherche à déterminer des trajets de profs visitant en
entreprise leurs étudiants stagiaires (pour ensuite calculer leurs frais de
déplacement). Lorsque le prof visite un seul élève par jour, no problemo car
le départ et l'arrivée sont des constantes : CommuneDépart = le lycée ;
CommuneArrivée = l'entreprise.
La difficulté provient de ce que chaque prof visite plusieurs stagiaires le
même jour : ils partent du lycée visiter le premier stagiaire, mais ensuite
repartent de l'entreprise visitée pour se rendre dans l'entreprise du
deuxième stagiaire. La commune de départ change.
Soit une requête sélection reprenant, pour chaque prof, deux champs :
DateVisiteProf (la date où le prof effectue la visite du stagiaire) et
CommuneEntreprise (la commune de l'entreprise où il doit se rendre). Je
voudrais, par un algorithme simple, renvoyer les valeurs de deux champs
calculés de ma requête : CommuneDépart et CommuneArrivée.
- Pour CommuneDépart :
SI il n'y a pas d'autre visite le même jour, ALORS CommuneDépart = "THIAIS"
(le lycée).
SINON, CommuneDépart = CommuneArrivée de l'enregistrement précédent (la
visite précédente).
- Pour CommuneArrivée :
SI il y a déjà eu un déplacement le même jour et que la visite est la
dernière du jour, ALORS, CommuneArrivée = "THIAIS" (retour au lycée).
SINON, CommuneArrivée = CommuneEntreprise
J'arrive à faire ça sur EXCEL, par des fonction en SI ET OU enchâssées.
Sur ACCESS, dans une requête, je n'arrive pas à désigner la valeur de
l'enregistrement précédent. Et le VBA n'est pas ma langue maternelle. Merci
du coup de m
Kolele a écrit :
> Bonjour db et vous tous,
> Je rappelle que le projet consiste à déterminer les trajets de profs qui
> visitent leurs élèves en stage en entreprise. Tout fonctionne (la commune de
> départ, d'arrivée), il reste maintenant la commune de retour : le dernier
> trajet de la journée est celui qui ramène mon prof au lycée.
>
Bonjour,
En fait, chaque ligne de la requête actuelle est un trajet d'une ville à une autre. Le trajet de retour est donc une ligne (et non une colonne) supplémentaire. C'est pour cela que je parlais d'une requête UNION dans mon post précédent.
A partir de l'exemple de la table Déplacements déjà cité, je ferais une requête dans ce genre :
SELECT idprof, datevisite,ordre, IIf([ordre]=1,"Thiais",DLookUp("commune","Déplacements","idprof=" & [idprof] & " and datevisite=#" & [datevisite] & "# and ordre=" & [ordre]-1)) AS communedépart, commune
FROM Déplacements
union
select idprof,datevisite,ordre+1,commune,"Thiais"
from Déplacements D1
where ordre=(select max(ordre) from Déplacements D2 where D2.idprofÑ.idprof and D2.datevisiteÑ.datevisite)
qui crée une ligne supplémentaire par prof et datevisite avec le trajet retour.
Evidemment, quand la dernière visite est à Thiais, ça rajoute une ligne Thais-Thiais, mais avec un kilométrage à 0, ça ne reviendra pas cher :-)
db
.
Kolele a écrit :
> Bonjour db et vous tous,
> Je rappelle que le projet consiste à déterminer les trajets de profs qui
> visitent leurs élèves en stage en entreprise. Tout fonctionne (la commune de
> départ, d'arrivée), il reste maintenant la commune de retour : le dernier
> trajet de la journée est celui qui ramène mon prof au lycée.
>
Bonjour,
En fait, chaque ligne de la requête actuelle est un trajet d'une ville à une autre. Le trajet de retour est donc une ligne (et non une colonne) supplémentaire. C'est pour cela que je parlais d'une requête UNION dans mon post précédent.
A partir de l'exemple de la table Déplacements déjà cité, je ferais une requête dans ce genre :
SELECT idprof, datevisite,ordre, IIf([ordre]=1,"Thiais",DLookUp("commune","Déplacements","idprof=" & [idprof] & " and datevisite=#" & [datevisite] & "# and ordre=" & [ordre]-1)) AS communedépart, commune
FROM Déplacements
union
select idprof,datevisite,ordre+1,commune,"Thiais"
from Déplacements D1
where ordre=(select max(ordre) from Déplacements D2 where D2.idprofÑ.idprof and D2.datevisiteÑ.datevisite)
qui crée une ligne supplémentaire par prof et datevisite avec le trajet retour.
Evidemment, quand la dernière visite est à Thiais, ça rajoute une ligne Thais-Thiais, mais avec un kilométrage à 0, ça ne reviendra pas cher :-)
db
.
Kolele a écrit :
> Bonjour db et vous tous,
> Je rappelle que le projet consiste à déterminer les trajets de profs qui
> visitent leurs élèves en stage en entreprise. Tout fonctionne (la commune de
> départ, d'arrivée), il reste maintenant la commune de retour : le dernier
> trajet de la journée est celui qui ramène mon prof au lycée.
>
Bonjour,
En fait, chaque ligne de la requête actuelle est un trajet d'une ville à une autre. Le trajet de retour est donc une ligne (et non une colonne) supplémentaire. C'est pour cela que je parlais d'une requête UNION dans mon post précédent.
A partir de l'exemple de la table Déplacements déjà cité, je ferais une requête dans ce genre :
SELECT idprof, datevisite,ordre, IIf([ordre]=1,"Thiais",DLookUp("commune","Déplacements","idprof=" & [idprof] & " and datevisite=#" & [datevisite] & "# and ordre=" & [ordre]-1)) AS communedépart, commune
FROM Déplacements
union
select idprof,datevisite,ordre+1,commune,"Thiais"
from Déplacements D1
where ordre=(select max(ordre) from Déplacements D2 where D2.idprofÑ.idprof and D2.datevisiteÑ.datevisite)
qui crée une ligne supplémentaire par prof et datevisite avec le trajet retour.
Evidemment, quand la dernière visite est à Thiais, ça rajoute une ligne Thais-Thiais, mais avec un kilométrage à 0, ça ne reviendra pas cher :-)
db
.