|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Futur Membre du Club
![]() Inscription : janvier 2008 Messages : 304 ![]() |
Bonjour,
J' inscrit manuellement c'est à dire 'RAS' ou 'CC' ou 'X' entre le champs C52 et C1 de mon formulaire sa marche manuellement impec. mais cependant je voudrais : Si le champs le plus près de C52 =RAS inscrire = "1" dans le champ variation automatiquement sur la même ligne simplement. Si le champs le plus près de C52 =CC inscrire = "2" dans le champ variation automatiquement sur la même ligne simplement. Si le champs le plus près de C52 =X inscrire = "3" dans le champ variation automatiquement sur la même ligne simplement. Qui peut m'aider ? pour insérer un select case ou autre le plus simple possible merci les pros Code :
Code :
|
||||
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() Inscription : août 2006 Messages : 1 435 ![]() |
Bonjour,
Qu'entends-tu par "le champs le plus près" ? Une requête Mise à jour pourrait peut-être faire l'affaire Code :
|
||
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : janvier 2008 Messages : 304 ![]() |
MERCI Helas pour votre visibilité car c'est presque bon !!!
mais j'ai un message qui me dit erreur de synthaxe, pouvez vous m'aiguiller ? d'ailleur à quel moment et ou je dois insérer la commande Code :
DoCmd.RunSQL "UPDATE NomTable SET NomTable.variation= IIf([strTypeVariation]=""RAS"",1,IIf([strTypeVariation]=""CC"",2,3));" --> c'est celui qui est en ordre décroissant le plus près de C52 qui sera traduit dans le champ variation exemple C36= CC et C35 = RAS prendre C36 =2 1-/ Faut-il insérer cette commande dans le script VBA ou créer une requête ? 2-/ est ce que le code VBA que j'ai d'écrit et bon ? Merci pour votre retour car c'est presque bon |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : août 2006 Messages : 1 435 ![]() |
2 possibilités :
soit inclure dans le code VBA la commande RunSQL soit créer une requête avec le code entre guillemets Pour ma part, je ne vois pas d'erreurs. Attention au nombre de guillemets qui sont doublés pour entourer une chaine de caractères. |
|
|
00
|
|
|
#5 | ||
|
Futur Membre du Club
![]() Inscription : janvier 2008 Messages : 304 ![]() |
Bonjour Helas,
Merci pour votre aide mais après avoir insérer le code DoCmd.RunSQL cela fonctionne pas j'ai ajouté dans le formulaire dans le champs C40 = CC et j'ai rien du tout dans le champ variation. Voici la pièce jointe merci pour votre aide Code :
|
||
|
|
00
|
|
|
#6 | ||
|
Membre régulier
![]() Michaël Développeur .NET Inscription : avril 2008 Messages : 80 ![]() |
Je pense n'avoir rien compris à ta question mais peut-être que si...
tout d'abord: Code :
Mais comme je l'ai compris, ce que tu appelles champs, ce sont des TextBox? Auquel cas lorsque tu mettrais à jour un des C° la textbox variation à coté afficherait la valeur correspondante? Est ce que j'ai rien compris? |
||
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : janvier 2008 Messages : 304 ![]() |
Bonjour MKL
Mon objectif de cette base c'est de pouvoir la faire fonctionner via le formulaire : nom du formulaire est "Table_planification Requête1" (voir pièce jointe). Les utilisateurs devront via le formulaire capitaliser entre le champ C1 et C52 trois choses : 'RAS' ou 'CC' ou 'X' (C1 = semaine 1 ect...Jusqu'a C52..) Je souhaite en fonction de ce vont capitaliser les utilisateurs entre C1 et C52 à chaque ligne avoir dans la colonne variation : à chaque ligne Si le dernier champ =RAS inscrire = "1" au bout de la ligne dans le champ variation simplement. à chaque ligneSi le dernier champ =CC inscrire = "2" au bout de la ligne dans le champ variation simplement. à chaque ligne Si le dernier champ =X inscrire = "3" au bout de la ligne dans le champ variation simplement. Quelle est la démarche à faire ? requête ? VBA ? Merci de votre aide car je voudrais faire qq chose de simple avoir un résultat 1 ou 2 ou 3 au bout de chaque ligne en colonne variation simplement (merci de voir la pièce jointe). |
|
|
00
|
|
|
#8 | ||
|
Membre Expert
![]() Inscription : août 2006 Messages : 1 435 ![]() |
Bonsoir,
Je comprends maintenant sur l'évement BeforeUpdate du formulaire écrire ce code Code :
dans le formulaire supprimer le lien avec la table T1 qui n'est pas utile La source du formulaire sera simplement la table Table_planification |
||
|
|
10
|
|
|
#9 | ||
|
Futur Membre du Club
![]() Inscription : janvier 2008 Messages : 304 ![]() |
Bonsoir Helas,
J'ai suivi votre instruction sur l'évement BeforeUpdate du formulaire j'ai écrit le code avec une petite adaptation comme je le voulais : "C" au lieu de "S" Code :
Ensuite dès que l'on rentre une donnée dans un champ C.. rien ne se passe sauf pour les champs C52, C51,C50,C49 Avez vous réussi à le faire fonctionner de votre côté ? |
||
|
|
00
|
|
|
#10 |
|
Membre Expert
![]() Inscription : août 2006 Messages : 1 435 ![]() |
la valeur retournée dans variation dépend du champ renseigné le plus près du champ C52
si C48 contient "CC" et les champs suivant sont vides variation vaudra 2, les champs C47 à C1 ne sont donc pas reardés quelle erreur se produit ? |
|
|
10
|
|
|
#11 |
|
Futur Membre du Club
![]() Inscription : janvier 2008 Messages : 304 ![]() |
Bonsoir Helas
la valeur retournée dans variation dépend du champ renseigné le plus près du champ C52 --> OK pour le champs de C52 à C49 si C48 contient "CC" et les champs suivant sont vides variation vaudra 2, les champs C47 à C1 ne sont donc pas reardés quelle erreur se produit ? --> Ne fonctionne pas, je vous ai fait une copie d'écran en pièce jointe j'ai un message d'erreur d'execution |
|
|
00
|
|
|
#12 | ||
|
Futur Membre du Club
![]() Inscription : janvier 2008 Messages : 304 ![]() |
Quelqu'un peut m'aider à résoudre mon switch car il est limité à C49,
Comment le traduire en VBA ? ACCESS est limité pour les imbrications vraifaux et premvrai. Y-a-t-il une solution ? MERCI à vous Code :
|
||
|
|
00
|
|
|
#13 | ||
|
Membre Expert
![]() Inscription : août 2006 Messages : 1 435 ![]() |
Bonjour,
Le code sur l'evenement Form_BeforeUpdate doit fonctionner. Tu dis que cela fonctionne sur les cellules C49 à C52 mais pas avant. Pour savoir ce qui se passe, il faut 1) ajouter le code en bleu. Si une erreur se produit taper ?error dans la fenêtre d'execution pour connaitre l'erreur 2) faire du pas à pas pour comprendre ce qui se passe. Mettre un point d'arrêt sur For , entrer une valeur en C27 par exemple lors de la mise à jour le code s'arrête au point d'arrêt, taper F8 pour executer chaque ligne de code On peut voir ainsi si i passe de 52 à 27, on peut constater si variation est mis à jour si i=27 et quel valeur il y met Code :
|
||
|
|
00
|
|
|
#14 |
![]() ![]() René MAROTInscription : octobre 2005 Messages : 5 470 ![]() |
Il y a une autre discussion sur le même sujet par la même personne dans le forum.
Nous sommes proche d'une solution dans celle-ci. A+
__________________
Vous voulez une réponse rapide et efficace à vos questions téchniques ? Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com