Sur une même table, quelle est la syntaxe pour une mise à jour d'un champ
selon la valeur d'un autre ?
ex :
si champ Frais = 7 => champ Action = COL
si champ Frais = 16 => champ Action = CHR
Merci
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
Blaise Cacramp
"NewsMic" a écrit dans le message de news: 4894807e$0$887$
Bonjour,
Sur une même table, quelle est la syntaxe pour une mise à jour d'un champ selon la valeur d'un autre ? ex : si champ Frais = 7 => champ Action = COL si champ Frais = 16 => champ Action = CHR Merci
NewsMic
Bonsoir
C'est marrant, il me semble que tu réponds à la question toi-même
-- Cdt
"NewsMic" <britannicus60@wanadoo.fr> a écrit dans le message de news:
4894807e$0$887$ba4acef3@news.orange.fr...
Bonjour,
Sur une même table, quelle est la syntaxe pour une mise à jour d'un champ
selon la valeur d'un autre ?
ex :
si champ Frais = 7 => champ Action = COL
si champ Frais = 16 => champ Action = CHR
Merci
NewsMic
Bonsoir
C'est marrant, il me semble que tu réponds à la question toi-même
"NewsMic" a écrit dans le message de news: 4894807e$0$887$
Bonjour,
Sur une même table, quelle est la syntaxe pour une mise à jour d'un champ selon la valeur d'un autre ? ex : si champ Frais = 7 => champ Action = COL si champ Frais = 16 => champ Action = CHR Merci
NewsMic
Bonsoir
C'est marrant, il me semble que tu réponds à la question toi-même
-- Cdt
NewsMic
:)) C'est gentil ! Mais ce n'est pas une syntaxe SQL. ;) Il faut un UPDATE, un FROM....etc
Je peux poser ma question autrement : quand je crée une requête simple PUIS que j'en affiche le code SQL correspondant, ça donne à peu près la structure SELECT * FROM....WHERE.... Est'il possible de créer ma requête ci-dessous en mode modification sans passer directement par le code SQL ?
Merci
NewsMic
"Blaise Cacramp" a écrit dans le message de news:
"NewsMic" a écrit dans le message de news: 4894807e$0$887$
Bonjour,
Sur une même table, quelle est la syntaxe pour une mise à jour d'un champ selon la valeur d'un autre ? ex : si champ Frais = 7 => champ Action = COL si champ Frais = 16 => champ Action = CHR Merci
NewsMic
Bonsoir
C'est marrant, il me semble que tu réponds à la question toi-même
-- Cdt
:)) C'est gentil !
Mais ce n'est pas une syntaxe SQL. ;)
Il faut un UPDATE, un FROM....etc
Je peux poser ma question autrement : quand je crée une requête simple PUIS
que j'en affiche le code SQL correspondant, ça donne à peu près la structure
SELECT * FROM....WHERE....
Est'il possible de créer ma requête ci-dessous en mode modification sans
passer directement par le code SQL ?
Merci
NewsMic
"Blaise Cacramp" <Devinez@gmail.com> a écrit dans le message de news:
ONboeoL9IHA.3360@TK2MSFTNGP03.phx.gbl...
"NewsMic" <britannicus60@wanadoo.fr> a écrit dans le message de news:
4894807e$0$887$ba4acef3@news.orange.fr...
Bonjour,
Sur une même table, quelle est la syntaxe pour une mise à jour d'un champ
selon la valeur d'un autre ?
ex :
si champ Frais = 7 => champ Action = COL
si champ Frais = 16 => champ Action = CHR
Merci
NewsMic
Bonsoir
C'est marrant, il me semble que tu réponds à la question toi-même
:)) C'est gentil ! Mais ce n'est pas une syntaxe SQL. ;) Il faut un UPDATE, un FROM....etc
Je peux poser ma question autrement : quand je crée une requête simple PUIS que j'en affiche le code SQL correspondant, ça donne à peu près la structure SELECT * FROM....WHERE.... Est'il possible de créer ma requête ci-dessous en mode modification sans passer directement par le code SQL ?
Merci
NewsMic
"Blaise Cacramp" a écrit dans le message de news:
"NewsMic" a écrit dans le message de news: 4894807e$0$887$
Bonjour,
Sur une même table, quelle est la syntaxe pour une mise à jour d'un champ selon la valeur d'un autre ? ex : si champ Frais = 7 => champ Action = COL si champ Frais = 16 => champ Action = CHR Merci
NewsMic
Bonsoir
C'est marrant, il me semble que tu réponds à la question toi-même
-- Cdt
3stone
Salut,
"NewsMic" | Sur une même table, quelle est la syntaxe pour une mise à jour d'un champ | selon la valeur d'un autre ? | ex : | si champ Frais = 7 => champ Action = COL | si champ Frais = 16 => champ Action = CHR
Si la valeur "7" représente toujours "COL" et que le "16" représente toujours "CHR", cela n'a pas lieu de se faire... Et de toute façon, cela ne marche pas directement dans une table.
Pourquoi ? Parce que dans une table, on ne crée pas de champ calculé, qui serait seulement une valeur redondante.
Par contre, on peut faire cela en cas de besoin dans une requête:
Code: iif([Frais]=7;"COL";"CHR")
A condition de n'avoir que les deux valeurs citées. Si plus de valeur, imbriquer les iif() Mais à plus de deux ou trois, cela devient illisible et l'on préfèrera écrire une petite fonction ou plus simplement, créer une petite table qui contiendra ces équivalences...
PS: Ce genre de souhait nait par une volonté de recréer ce qui se fait dans Excel - ce qui est à proscrire dans une base de données.
"NewsMic"
| Sur une même table, quelle est la syntaxe pour une mise à jour d'un champ
| selon la valeur d'un autre ?
| ex :
| si champ Frais = 7 => champ Action = COL
| si champ Frais = 16 => champ Action = CHR
Si la valeur "7" représente toujours "COL" et que le "16" représente
toujours "CHR", cela n'a pas lieu de se faire...
Et de toute façon, cela ne marche pas directement dans une table.
Pourquoi ?
Parce que dans une table, on ne crée pas de champ calculé, qui
serait seulement une valeur redondante.
Par contre, on peut faire cela en cas de besoin dans une requête:
Code: iif([Frais]=7;"COL";"CHR")
A condition de n'avoir que les deux valeurs citées.
Si plus de valeur, imbriquer les iif()
Mais à plus de deux ou trois, cela devient illisible et l'on préfèrera
écrire une petite fonction ou plus simplement, créer une petite
table qui contiendra ces équivalences...
PS:
Ce genre de souhait nait par une volonté de recréer ce qui se
fait dans Excel - ce qui est à proscrire dans une base de données.
"NewsMic" | Sur une même table, quelle est la syntaxe pour une mise à jour d'un champ | selon la valeur d'un autre ? | ex : | si champ Frais = 7 => champ Action = COL | si champ Frais = 16 => champ Action = CHR
Si la valeur "7" représente toujours "COL" et que le "16" représente toujours "CHR", cela n'a pas lieu de se faire... Et de toute façon, cela ne marche pas directement dans une table.
Pourquoi ? Parce que dans une table, on ne crée pas de champ calculé, qui serait seulement une valeur redondante.
Par contre, on peut faire cela en cas de besoin dans une requête:
Code: iif([Frais]=7;"COL";"CHR")
A condition de n'avoir que les deux valeurs citées. Si plus de valeur, imbriquer les iif() Mais à plus de deux ou trois, cela devient illisible et l'on préfèrera écrire une petite fonction ou plus simplement, créer une petite table qui contiendra ces équivalences...
PS: Ce genre de souhait nait par une volonté de recréer ce qui se fait dans Excel - ce qui est à proscrire dans une base de données.
Merci pour ces précisions et pour ta réponse. La raison est un peu plus complexe : Je travaille beaucoup sur AS400 et peut être en connaissez vous la structure des fichiers (fichier = table). Il est notamment possible de mettre à jour des données directement sur un fichier. J'essaie de concevoir les tables Access pour exportation dans un format correspondant exactement aux structures de mes fichiers AS400. J'avoue qu'il n'est pas facile quand on programme depuis des années dans un langage avec sa logique de s'adapter à une autre logique. Dans le cas présent, j'ai commis l'erreur d'oublier le champ Origine à la création de la table LignesdeCommandes. J'essaie de corriger cette erreur avec une mise à jour. Dans l'esprit, vous avez tout à fait raison dans vos réponses, aussi bien toi que Blaise Cacramp.
Amicalement,
NewsMic
"3stone" a écrit dans le message de news:
Salut,
"NewsMic" | Sur une même table, quelle est la syntaxe pour une mise à jour d'un champ | selon la valeur d'un autre ? | ex : | si champ Frais = 7 => champ Action = COL | si champ Frais = 16 => champ Action = CHR
Si la valeur "7" représente toujours "COL" et que le "16" représente toujours "CHR", cela n'a pas lieu de se faire... Et de toute façon, cela ne marche pas directement dans une table.
Pourquoi ? Parce que dans une table, on ne crée pas de champ calculé, qui serait seulement une valeur redondante.
Par contre, on peut faire cela en cas de besoin dans une requête:
Code: iif([Frais]=7;"COL";"CHR")
A condition de n'avoir que les deux valeurs citées. Si plus de valeur, imbriquer les iif() Mais à plus de deux ou trois, cela devient illisible et l'on préfèrera écrire une petite fonction ou plus simplement, créer une petite table qui contiendra ces équivalences...
PS: Ce genre de souhait nait par une volonté de recréer ce qui se fait dans Excel - ce qui est à proscrire dans une base de données.
Merci pour ces précisions et pour ta réponse.
La raison est un peu plus complexe : Je travaille beaucoup sur AS400 et peut
être en connaissez vous la structure des fichiers (fichier = table).
Il est notamment possible de mettre à jour des données directement sur un
fichier.
J'essaie de concevoir les tables Access pour exportation dans un format
correspondant exactement aux structures de mes fichiers AS400.
J'avoue qu'il n'est pas facile quand on programme depuis des années dans un
langage avec sa logique de s'adapter à une autre logique.
Dans le cas présent, j'ai commis l'erreur d'oublier le champ Origine à la
création de la table LignesdeCommandes. J'essaie de corriger cette erreur
avec une mise à jour.
Dans l'esprit, vous avez tout à fait raison dans vos réponses, aussi bien
toi que Blaise Cacramp.
Amicalement,
NewsMic
"3stone" <home@sweet_home.be> a écrit dans le message de news:
uA8I5Ib9IHA.2064@TK2MSFTNGP02.phx.gbl...
Salut,
"NewsMic"
| Sur une même table, quelle est la syntaxe pour une mise à jour d'un
champ
| selon la valeur d'un autre ?
| ex :
| si champ Frais = 7 => champ Action = COL
| si champ Frais = 16 => champ Action = CHR
Si la valeur "7" représente toujours "COL" et que le "16" représente
toujours "CHR", cela n'a pas lieu de se faire...
Et de toute façon, cela ne marche pas directement dans une table.
Pourquoi ?
Parce que dans une table, on ne crée pas de champ calculé, qui
serait seulement une valeur redondante.
Par contre, on peut faire cela en cas de besoin dans une requête:
Code: iif([Frais]=7;"COL";"CHR")
A condition de n'avoir que les deux valeurs citées.
Si plus de valeur, imbriquer les iif()
Mais à plus de deux ou trois, cela devient illisible et l'on préfèrera
écrire une petite fonction ou plus simplement, créer une petite
table qui contiendra ces équivalences...
PS:
Ce genre de souhait nait par une volonté de recréer ce qui se
fait dans Excel - ce qui est à proscrire dans une base de données.
Merci pour ces précisions et pour ta réponse. La raison est un peu plus complexe : Je travaille beaucoup sur AS400 et peut être en connaissez vous la structure des fichiers (fichier = table). Il est notamment possible de mettre à jour des données directement sur un fichier. J'essaie de concevoir les tables Access pour exportation dans un format correspondant exactement aux structures de mes fichiers AS400. J'avoue qu'il n'est pas facile quand on programme depuis des années dans un langage avec sa logique de s'adapter à une autre logique. Dans le cas présent, j'ai commis l'erreur d'oublier le champ Origine à la création de la table LignesdeCommandes. J'essaie de corriger cette erreur avec une mise à jour. Dans l'esprit, vous avez tout à fait raison dans vos réponses, aussi bien toi que Blaise Cacramp.
Amicalement,
NewsMic
"3stone" a écrit dans le message de news:
Salut,
"NewsMic" | Sur une même table, quelle est la syntaxe pour une mise à jour d'un champ | selon la valeur d'un autre ? | ex : | si champ Frais = 7 => champ Action = COL | si champ Frais = 16 => champ Action = CHR
Si la valeur "7" représente toujours "COL" et que le "16" représente toujours "CHR", cela n'a pas lieu de se faire... Et de toute façon, cela ne marche pas directement dans une table.
Pourquoi ? Parce que dans une table, on ne crée pas de champ calculé, qui serait seulement une valeur redondante.
Par contre, on peut faire cela en cas de besoin dans une requête:
Code: iif([Frais]=7;"COL";"CHR")
A condition de n'avoir que les deux valeurs citées. Si plus de valeur, imbriquer les iif() Mais à plus de deux ou trois, cela devient illisible et l'on préfèrera écrire une petite fonction ou plus simplement, créer une petite table qui contiendra ces équivalences...
PS: Ce genre de souhait nait par une volonté de recréer ce qui se fait dans Excel - ce qui est à proscrire dans une base de données.
"NewsMic" | Merci pour ces précisions et pour ta réponse. | La raison est un peu plus complexe : Je travaille beaucoup sur AS400 et peut | être en connaissez vous la structure des fichiers (fichier = table). | Il est notamment possible de mettre à jour des données directement sur un | fichier. | J'essaie de concevoir les tables Access pour exportation dans un format | correspondant exactement aux structures de mes fichiers AS400. | J'avoue qu'il n'est pas facile quand on programme depuis des années dans un | langage avec sa logique de s'adapter à une autre logique. | Dans le cas présent, j'ai commis l'erreur d'oublier le champ Origine à la | création de la table LignesdeCommandes. J'essaie de corriger cette erreur | avec une mise à jour. | Dans l'esprit, vous avez tout à fait raison dans vos réponses, aussi bien | toi que Blaise Cacramp.
Je comprends, mais, malgré que Access soit par défaut "serveur de fichiers" il ne serait pas raisonnable de laisser tomber son "R" (relationnel) pour le transformer en gestionnaire de fichiers à plat...
Si tu souhaites disposer de cette correspondance, place cela dans une petite table, comme dit.
| | "3stone" a écrit dans le message de news: | | > Salut, | > | > "NewsMic" | > | Sur une même table, quelle est la syntaxe pour une mise à jour d'un | > champ | > | selon la valeur d'un autre ? | > | ex : | > | si champ Frais = 7 => champ Action = COL | > | si champ Frais = 16 => champ Action = CHR | > | > | > Si la valeur "7" représente toujours "COL" et que le "16" représente | > toujours "CHR", cela n'a pas lieu de se faire... | > Et de toute façon, cela ne marche pas directement dans une table. | > | > Pourquoi ? | > Parce que dans une table, on ne crée pas de champ calculé, qui | > serait seulement une valeur redondante. | > | > Par contre, on peut faire cela en cas de besoin dans une requête: | > | > Code: iif([Frais]=7;"COL";"CHR") | > | > A condition de n'avoir que les deux valeurs citées. | > Si plus de valeur, imbriquer les iif() | > Mais à plus de deux ou trois, cela devient illisible et l'on préfèrera | > écrire une petite fonction ou plus simplement, créer une petite | > table qui contiendra ces équivalences... | > | > PS: | > Ce genre de souhait nait par une volonté de recréer ce qui se | > fait dans Excel - ce qui est à proscrire dans une base de données. | > | > -- | > A+ | > Pierre (3stone) Access MVP | > Perso: http://www.3stone.be/ | > MPFA: http://www.mpfa.info/ (infos générales) | > | > | |
re,
"NewsMic"
| Merci pour ces précisions et pour ta réponse.
| La raison est un peu plus complexe : Je travaille beaucoup sur AS400 et peut
| être en connaissez vous la structure des fichiers (fichier = table).
| Il est notamment possible de mettre à jour des données directement sur un
| fichier.
| J'essaie de concevoir les tables Access pour exportation dans un format
| correspondant exactement aux structures de mes fichiers AS400.
| J'avoue qu'il n'est pas facile quand on programme depuis des années dans un
| langage avec sa logique de s'adapter à une autre logique.
| Dans le cas présent, j'ai commis l'erreur d'oublier le champ Origine à la
| création de la table LignesdeCommandes. J'essaie de corriger cette erreur
| avec une mise à jour.
| Dans l'esprit, vous avez tout à fait raison dans vos réponses, aussi bien
| toi que Blaise Cacramp.
Je comprends, mais, malgré que Access soit par défaut "serveur de fichiers"
il ne serait pas raisonnable de laisser tomber son "R" (relationnel) pour
le transformer en gestionnaire de fichiers à plat...
Si tu souhaites disposer de cette correspondance, place cela
dans une petite table, comme dit.
|
| "3stone" <home@sweet_home.be> a écrit dans le message de news:
| uA8I5Ib9IHA.2064@TK2MSFTNGP02.phx.gbl...
| > Salut,
| >
| > "NewsMic"
| > | Sur une même table, quelle est la syntaxe pour une mise à jour d'un
| > champ
| > | selon la valeur d'un autre ?
| > | ex :
| > | si champ Frais = 7 => champ Action = COL
| > | si champ Frais = 16 => champ Action = CHR
| >
| >
| > Si la valeur "7" représente toujours "COL" et que le "16" représente
| > toujours "CHR", cela n'a pas lieu de se faire...
| > Et de toute façon, cela ne marche pas directement dans une table.
| >
| > Pourquoi ?
| > Parce que dans une table, on ne crée pas de champ calculé, qui
| > serait seulement une valeur redondante.
| >
| > Par contre, on peut faire cela en cas de besoin dans une requête:
| >
| > Code: iif([Frais]=7;"COL";"CHR")
| >
| > A condition de n'avoir que les deux valeurs citées.
| > Si plus de valeur, imbriquer les iif()
| > Mais à plus de deux ou trois, cela devient illisible et l'on préfèrera
| > écrire une petite fonction ou plus simplement, créer une petite
| > table qui contiendra ces équivalences...
| >
| > PS:
| > Ce genre de souhait nait par une volonté de recréer ce qui se
| > fait dans Excel - ce qui est à proscrire dans une base de données.
| >
| > --
| > A+
| > Pierre (3stone) Access MVP
| > Perso: http://www.3stone.be/
| > MPFA: http://www.mpfa.info/ (infos générales)
| >
| >
|
|
"NewsMic" | Merci pour ces précisions et pour ta réponse. | La raison est un peu plus complexe : Je travaille beaucoup sur AS400 et peut | être en connaissez vous la structure des fichiers (fichier = table). | Il est notamment possible de mettre à jour des données directement sur un | fichier. | J'essaie de concevoir les tables Access pour exportation dans un format | correspondant exactement aux structures de mes fichiers AS400. | J'avoue qu'il n'est pas facile quand on programme depuis des années dans un | langage avec sa logique de s'adapter à une autre logique. | Dans le cas présent, j'ai commis l'erreur d'oublier le champ Origine à la | création de la table LignesdeCommandes. J'essaie de corriger cette erreur | avec une mise à jour. | Dans l'esprit, vous avez tout à fait raison dans vos réponses, aussi bien | toi que Blaise Cacramp.
Je comprends, mais, malgré que Access soit par défaut "serveur de fichiers" il ne serait pas raisonnable de laisser tomber son "R" (relationnel) pour le transformer en gestionnaire de fichiers à plat...
Si tu souhaites disposer de cette correspondance, place cela dans une petite table, comme dit.
| | "3stone" a écrit dans le message de news: | | > Salut, | > | > "NewsMic" | > | Sur une même table, quelle est la syntaxe pour une mise à jour d'un | > champ | > | selon la valeur d'un autre ? | > | ex : | > | si champ Frais = 7 => champ Action = COL | > | si champ Frais = 16 => champ Action = CHR | > | > | > Si la valeur "7" représente toujours "COL" et que le "16" représente | > toujours "CHR", cela n'a pas lieu de se faire... | > Et de toute façon, cela ne marche pas directement dans une table. | > | > Pourquoi ? | > Parce que dans une table, on ne crée pas de champ calculé, qui | > serait seulement une valeur redondante. | > | > Par contre, on peut faire cela en cas de besoin dans une requête: | > | > Code: iif([Frais]=7;"COL";"CHR") | > | > A condition de n'avoir que les deux valeurs citées. | > Si plus de valeur, imbriquer les iif() | > Mais à plus de deux ou trois, cela devient illisible et l'on préfèrera | > écrire une petite fonction ou plus simplement, créer une petite | > table qui contiendra ces équivalences... | > | > PS: | > Ce genre de souhait nait par une volonté de recréer ce qui se | > fait dans Excel - ce qui est à proscrire dans une base de données. | > | > -- | > A+ | > Pierre (3stone) Access MVP | > Perso: http://www.3stone.be/ | > MPFA: http://www.mpfa.info/ (infos générales) | > | > | |