J’ai une table reprenant les contrats avec[IDF TR], [Contrat N°],
[ContratDurée] (Indéterminée ou déterminée), [DatedeDébut], [DatedeFin] (vide
si Indéterminée), [Actif] (Oui/Non).
Chaque jour une macro désactive un contrat lorsque la [DatedeFin] < Date().
Cela fonctionne très bien pour les contrats à durée déterminée.
Mais il arrive qu’un nouveau contrat à durée indéterminée soit fait alors
qu’il existe déjà un précédent contrat à durée indéterminée, dans le cas d’un
changement de salaire horaire par exemple. Il faut donc ajouter une
[DatedeFin] au premier contrat, date qui sera la [DatedeDébut]-1 du nouveau
contrat à durée indéterminée.
Par une première requête ([Trav Contrat 71]), j’extrais les éléments
nécessaires :
SELECT Min([Trav Contrat].[Contrat N°]) AS [Contrat+Jeune], Max([Trav
Contrat].[Date de début]) AS FinPlusVieille
FROM [Trav Contrat]
WHERE ((([Trav Contrat].[Date de fin]) Is Null) AND (([Trav
Contrat].ContratDurée)="indéterminée") AND (([Trav Contrat].Actif)=Yes))
GROUP BY [Trav Contrat].[IDF TR]
HAVING (((Count([Trav Contrat].[Contrat N°]))>1))
ORDER BY [Trav Contrat].[IDF TR], Max([Trav Contrat].[Date de début]);
Avec une seconde requête mise à jour, j’essaie de mettre la table à jour,
mais j’ai un message d’erreur comme quoi « Opération must use an updatable
query »
UPDATE [Trav Contrat] INNER JOIN [Trav Contrat 71] ON [Trav
Contrat].[Contrat N°] = [Trav Contrat 71].[Contrat+Jeune] SET [Trav
Contrat].[Date de fin] = ([Trav Contrat 71].FinPlusVieille);
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
ze_titi
Bonjour aussi...
d'après moi, le "INNER JOIN" dans une requête UPDATE n'est pas très recommandable. Il faudrait reformuler la requête.
UPDATE [Trav contrat], [Trava contrat 71] SET [Trav contrat].[Date de fin]=[Trav contrat71.Finplusvieille WHERE [Trav contrat].[Contrat n°]=[Trav contrat 71].[Contrat+Jeune]
-- Cordialement,
ze_titi
Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ
J’ai une table reprenant les contrats avec[IDF TR], [Contrat N°], [ContratDurée] (Indéterminée ou déterminée), [DatedeDébut], [DatedeFin] (vide si Indéterminée), [Actif] (Oui/Non). Chaque jour une macro désactive un contrat lorsque la [DatedeFin] < Date(). Cela fonctionne très bien pour les contrats à durée déterminée. Mais il arrive qu’un nouveau contrat à durée indéterminée soit fait alors qu’il existe déjà un précédent contrat à durée indéterminée, dans le cas d’un changement de salaire horaire par exemple. Il faut donc ajouter une [DatedeFin] au premier contrat, date qui sera la [DatedeDébut]-1 du nouveau contrat à durée indéterminée.
Par une première requête ([Trav Contrat 71]), j’extrais les éléments nécessaires : SELECT Min([Trav Contrat].[Contrat N°]) AS [Contrat+Jeune], Max([Trav Contrat].[Date de début]) AS FinPlusVieille FROM [Trav Contrat] WHERE ((([Trav Contrat].[Date de fin]) Is Null) AND (([Trav Contrat].ContratDurée)="indéterminée") AND (([Trav Contrat].Actif)=Yes)) GROUP BY [Trav Contrat].[IDF TR] HAVING (((Count([Trav Contrat].[Contrat N°]))>1)) ORDER BY [Trav Contrat].[IDF TR], Max([Trav Contrat].[Date de début]);
Avec une seconde requête mise à jour, j’essaie de mettre la table à jour, mais j’ai un message d’erreur comme quoi « Opération must use an updatable query » UPDATE [Trav Contrat] INNER JOIN [Trav Contrat 71] ON [Trav Contrat].[Contrat N°] = [Trav Contrat 71].[Contrat+Jeune] SET [Trav Contrat].[Date de fin] = ([Trav Contrat 71].FinPlusVieille);
D’avance merci.
Bonjour aussi...
d'après moi, le "INNER JOIN" dans une requête UPDATE n'est pas très
recommandable. Il faudrait reformuler la requête.
UPDATE [Trav contrat], [Trava contrat 71] SET [Trav contrat].[Date de
fin]=[Trav contrat71.Finplusvieille WHERE [Trav contrat].[Contrat n°]=[Trav
contrat 71].[Contrat+Jeune]
--
Cordialement,
ze_titi
Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ
J’ai une table reprenant les contrats avec[IDF TR], [Contrat N°],
[ContratDurée] (Indéterminée ou déterminée), [DatedeDébut], [DatedeFin] (vide
si Indéterminée), [Actif] (Oui/Non).
Chaque jour une macro désactive un contrat lorsque la [DatedeFin] < Date().
Cela fonctionne très bien pour les contrats à durée déterminée.
Mais il arrive qu’un nouveau contrat à durée indéterminée soit fait alors
qu’il existe déjà un précédent contrat à durée indéterminée, dans le cas d’un
changement de salaire horaire par exemple. Il faut donc ajouter une
[DatedeFin] au premier contrat, date qui sera la [DatedeDébut]-1 du nouveau
contrat à durée indéterminée.
Par une première requête ([Trav Contrat 71]), j’extrais les éléments
nécessaires :
SELECT Min([Trav Contrat].[Contrat N°]) AS [Contrat+Jeune], Max([Trav
Contrat].[Date de début]) AS FinPlusVieille
FROM [Trav Contrat]
WHERE ((([Trav Contrat].[Date de fin]) Is Null) AND (([Trav
Contrat].ContratDurée)="indéterminée") AND (([Trav Contrat].Actif)=Yes))
GROUP BY [Trav Contrat].[IDF TR]
HAVING (((Count([Trav Contrat].[Contrat N°]))>1))
ORDER BY [Trav Contrat].[IDF TR], Max([Trav Contrat].[Date de début]);
Avec une seconde requête mise à jour, j’essaie de mettre la table à jour,
mais j’ai un message d’erreur comme quoi « Opération must use an updatable
query »
UPDATE [Trav Contrat] INNER JOIN [Trav Contrat 71] ON [Trav
Contrat].[Contrat N°] = [Trav Contrat 71].[Contrat+Jeune] SET [Trav
Contrat].[Date de fin] = ([Trav Contrat 71].FinPlusVieille);
d'après moi, le "INNER JOIN" dans une requête UPDATE n'est pas très recommandable. Il faudrait reformuler la requête.
UPDATE [Trav contrat], [Trava contrat 71] SET [Trav contrat].[Date de fin]=[Trav contrat71.Finplusvieille WHERE [Trav contrat].[Contrat n°]=[Trav contrat 71].[Contrat+Jeune]
-- Cordialement,
ze_titi
Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ
J’ai une table reprenant les contrats avec[IDF TR], [Contrat N°], [ContratDurée] (Indéterminée ou déterminée), [DatedeDébut], [DatedeFin] (vide si Indéterminée), [Actif] (Oui/Non). Chaque jour une macro désactive un contrat lorsque la [DatedeFin] < Date(). Cela fonctionne très bien pour les contrats à durée déterminée. Mais il arrive qu’un nouveau contrat à durée indéterminée soit fait alors qu’il existe déjà un précédent contrat à durée indéterminée, dans le cas d’un changement de salaire horaire par exemple. Il faut donc ajouter une [DatedeFin] au premier contrat, date qui sera la [DatedeDébut]-1 du nouveau contrat à durée indéterminée.
Par une première requête ([Trav Contrat 71]), j’extrais les éléments nécessaires : SELECT Min([Trav Contrat].[Contrat N°]) AS [Contrat+Jeune], Max([Trav Contrat].[Date de début]) AS FinPlusVieille FROM [Trav Contrat] WHERE ((([Trav Contrat].[Date de fin]) Is Null) AND (([Trav Contrat].ContratDurée)="indéterminée") AND (([Trav Contrat].Actif)=Yes)) GROUP BY [Trav Contrat].[IDF TR] HAVING (((Count([Trav Contrat].[Contrat N°]))>1)) ORDER BY [Trav Contrat].[IDF TR], Max([Trav Contrat].[Date de début]);
Avec une seconde requête mise à jour, j’essaie de mettre la table à jour, mais j’ai un message d’erreur comme quoi « Opération must use an updatable query » UPDATE [Trav Contrat] INNER JOIN [Trav Contrat 71] ON [Trav Contrat].[Contrat N°] = [Trav Contrat 71].[Contrat+Jeune] SET [Trav Contrat].[Date de fin] = ([Trav Contrat 71].FinPlusVieille);
D’avance merci.
Vincent BD
Désolé, même résultat : « Opération must use an updatable query ».
Bonjour aussi...
d'après moi, le "INNER JOIN" dans une requête UPDATE n'est pas très recommandable. Il faudrait reformuler la requête.
UPDATE [Trav contrat], [Trava contrat 71] SET [Trav contrat].[Date de fin]=[Trav contrat71.Finplusvieille WHERE [Trav contrat].[Contrat n°]=[Trav contrat 71].[Contrat+Jeune]
-- Cordialement,
ze_titi
Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ
J’ai une table reprenant les contrats avec[IDF TR], [Contrat N°], [ContratDurée] (Indéterminée ou déterminée), [DatedeDébut], [DatedeFin] (vide si Indéterminée), [Actif] (Oui/Non). Chaque jour une macro désactive un contrat lorsque la [DatedeFin] < Date(). Cela fonctionne très bien pour les contrats à durée déterminée. Mais il arrive qu’un nouveau contrat à durée indéterminée soit fait alors qu’il existe déjà un précédent contrat à durée indéterminée, dans le cas d’un changement de salaire horaire par exemple. Il faut donc ajouter une [DatedeFin] au premier contrat, date qui sera la [DatedeDébut]-1 du nouveau contrat à durée indéterminée.
Par une première requête ([Trav Contrat 71]), j’extrais les éléments nécessaires : SELECT Min([Trav Contrat].[Contrat N°]) AS [Contrat+Jeune], Max([Trav Contrat].[Date de début]) AS FinPlusVieille FROM [Trav Contrat] WHERE ((([Trav Contrat].[Date de fin]) Is Null) AND (([Trav Contrat].ContratDurée)="indéterminée") AND (([Trav Contrat].Actif)=Yes)) GROUP BY [Trav Contrat].[IDF TR] HAVING (((Count([Trav Contrat].[Contrat N°]))>1)) ORDER BY [Trav Contrat].[IDF TR], Max([Trav Contrat].[Date de début]);
Avec une seconde requête mise à jour, j’essaie de mettre la table à jour, mais j’ai un message d’erreur comme quoi « Opération must use an updatable query » UPDATE [Trav Contrat] INNER JOIN [Trav Contrat 71] ON [Trav Contrat].[Contrat N°] = [Trav Contrat 71].[Contrat+Jeune] SET [Trav Contrat].[Date de fin] = ([Trav Contrat 71].FinPlusVieille);
D’avance merci.
Désolé, même résultat : « Opération must use an updatable query ».
Bonjour aussi...
d'après moi, le "INNER JOIN" dans une requête UPDATE n'est pas très
recommandable. Il faudrait reformuler la requête.
UPDATE [Trav contrat], [Trava contrat 71] SET [Trav contrat].[Date de
fin]=[Trav contrat71.Finplusvieille WHERE [Trav contrat].[Contrat n°]=[Trav
contrat 71].[Contrat+Jeune]
--
Cordialement,
ze_titi
Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ
J’ai une table reprenant les contrats avec[IDF TR], [Contrat N°],
[ContratDurée] (Indéterminée ou déterminée), [DatedeDébut], [DatedeFin] (vide
si Indéterminée), [Actif] (Oui/Non).
Chaque jour une macro désactive un contrat lorsque la [DatedeFin] < Date().
Cela fonctionne très bien pour les contrats à durée déterminée.
Mais il arrive qu’un nouveau contrat à durée indéterminée soit fait alors
qu’il existe déjà un précédent contrat à durée indéterminée, dans le cas d’un
changement de salaire horaire par exemple. Il faut donc ajouter une
[DatedeFin] au premier contrat, date qui sera la [DatedeDébut]-1 du nouveau
contrat à durée indéterminée.
Par une première requête ([Trav Contrat 71]), j’extrais les éléments
nécessaires :
SELECT Min([Trav Contrat].[Contrat N°]) AS [Contrat+Jeune], Max([Trav
Contrat].[Date de début]) AS FinPlusVieille
FROM [Trav Contrat]
WHERE ((([Trav Contrat].[Date de fin]) Is Null) AND (([Trav
Contrat].ContratDurée)="indéterminée") AND (([Trav Contrat].Actif)=Yes))
GROUP BY [Trav Contrat].[IDF TR]
HAVING (((Count([Trav Contrat].[Contrat N°]))>1))
ORDER BY [Trav Contrat].[IDF TR], Max([Trav Contrat].[Date de début]);
Avec une seconde requête mise à jour, j’essaie de mettre la table à jour,
mais j’ai un message d’erreur comme quoi « Opération must use an updatable
query »
UPDATE [Trav Contrat] INNER JOIN [Trav Contrat 71] ON [Trav
Contrat].[Contrat N°] = [Trav Contrat 71].[Contrat+Jeune] SET [Trav
Contrat].[Date de fin] = ([Trav Contrat 71].FinPlusVieille);
Désolé, même résultat : « Opération must use an updatable query ».
Bonjour aussi...
d'après moi, le "INNER JOIN" dans une requête UPDATE n'est pas très recommandable. Il faudrait reformuler la requête.
UPDATE [Trav contrat], [Trava contrat 71] SET [Trav contrat].[Date de fin]=[Trav contrat71.Finplusvieille WHERE [Trav contrat].[Contrat n°]=[Trav contrat 71].[Contrat+Jeune]
-- Cordialement,
ze_titi
Mail perso: http://www.cerbermail.com/?sj4KuQC4GQ
J’ai une table reprenant les contrats avec[IDF TR], [Contrat N°], [ContratDurée] (Indéterminée ou déterminée), [DatedeDébut], [DatedeFin] (vide si Indéterminée), [Actif] (Oui/Non). Chaque jour une macro désactive un contrat lorsque la [DatedeFin] < Date(). Cela fonctionne très bien pour les contrats à durée déterminée. Mais il arrive qu’un nouveau contrat à durée indéterminée soit fait alors qu’il existe déjà un précédent contrat à durée indéterminée, dans le cas d’un changement de salaire horaire par exemple. Il faut donc ajouter une [DatedeFin] au premier contrat, date qui sera la [DatedeDébut]-1 du nouveau contrat à durée indéterminée.
Par une première requête ([Trav Contrat 71]), j’extrais les éléments nécessaires : SELECT Min([Trav Contrat].[Contrat N°]) AS [Contrat+Jeune], Max([Trav Contrat].[Date de début]) AS FinPlusVieille FROM [Trav Contrat] WHERE ((([Trav Contrat].[Date de fin]) Is Null) AND (([Trav Contrat].ContratDurée)="indéterminée") AND (([Trav Contrat].Actif)=Yes)) GROUP BY [Trav Contrat].[IDF TR] HAVING (((Count([Trav Contrat].[Contrat N°]))>1)) ORDER BY [Trav Contrat].[IDF TR], Max([Trav Contrat].[Date de début]);
Avec une seconde requête mise à jour, j’essaie de mettre la table à jour, mais j’ai un message d’erreur comme quoi « Opération must use an updatable query » UPDATE [Trav Contrat] INNER JOIN [Trav Contrat 71] ON [Trav Contrat].[Contrat N°] = [Trav Contrat 71].[Contrat+Jeune] SET [Trav Contrat].[Date de fin] = ([Trav Contrat 71].FinPlusVieille);