Mettre à jour un enregistrement apres un test
PATMAR83
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
blux Messages postés 27147 Date d'inscription Statut Modérateur Dernière intervention -
blux Messages postés 27147 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Bonjour,
Grâce aux réponses trouvées dans le forum, j'ai pu avancé dans mon projet. Mais je me heurte à une nouvelle difficulté
J'ai un formulaire issu de deux tables, je teste un champ "code plan", s'il est null je voudrais qu'il me mette non ok dans le champ catégorie (mise à jour de ce champ qui au départ est vide), s'il n'est pas vide je veux qu'il mette ok
J'ai donc créé le code ci-dessous mais j'ai un problème avec la boucle car celui-ci me met bien 'ok' ou 'non ok' mais pour tous les enregistrements, il ne tient pas compte du test si myvariant est nul ou pas
Dés qu'il arrive sur un premier test, il déroule tout le fichier
la table à mettre à jour s'apPelle T011FECX
MERCI
Bonjour,
Grâce aux réponses trouvées dans le forum, j'ai pu avancé dans mon projet. Mais je me heurte à une nouvelle difficulté
J'ai un formulaire issu de deux tables, je teste un champ "code plan", s'il est null je voudrais qu'il me mette non ok dans le champ catégorie (mise à jour de ce champ qui au départ est vide), s'il n'est pas vide je veux qu'il mette ok
J'ai donc créé le code ci-dessous mais j'ai un problème avec la boucle car celui-ci me met bien 'ok' ou 'non ok' mais pour tous les enregistrements, il ne tient pas compte du test si myvariant est nul ou pas
Dés qu'il arrive sur un premier test, il déroule tout le fichier
la table à mettre à jour s'apPelle T011FECX
Private Sub code_Plan_GotFocus() Dim db As DAO.Database: Set db = CurrentDb Dim r As DAO.Recordset: Set r = db.OpenRecordset("T011FECX") Dim myvariant As Variant myvariant = [code plan] Do While Not r.EOF 'test si on se trouve en fin de fichier If IsNull(myvariant) Then 'si myvariant est nul on affiche un message d'info MsgBox "code plan vide" r.Edit r![Category] = "non ok" 'on met non ok dans le champ category r.Update Else 'si myvariant n'est pas nul, on affiche un message d'info MsgBox "code plan non vide" r.Edit r![Category] = "ok" 'on met ok dans le champ category r.Update End If r.MoveNext Loop End Sub
MERCI
A voir également:
- Mettre à jour un enregistrement apres un test
- Test performance pc - Guide
- Mettre a jour chrome - Accueil - Applications & Logiciels
- Test disque dur - Télécharger - Informations & Diagnostic
- Test steam deck oled - Guide
- Mise a jour windows 10 - Accueil - Mise à jour
4 réponses
Salut,
myvariant ne varie à aucun moment, il n'est dans aucune boucle, conservant sa valeur de départ (code plan).
Pas étonnant donc que la boucle ait tout le temps le même comportement.
myvariant ne varie à aucun moment, il n'est dans aucune boucle, conservant sa valeur de départ (code plan).
Pas étonnant donc que la boucle ait tout le temps le même comportement.
bien noté la remarque, que faudrait-il que je fasse ?
merci
merci
Comme dirait Jacques II de Chabannes, faire évoluer sa valeur, vraisemblablement en la mettant dans la boucle. Reste quand même une inconnue : où est stockée la valeur de [code plan] ?
La valeur [code plan] se trouve dans une table, j'ai bien compris ou se trouvait le problème , mais je pense que le r.movenext n'agit pas comme je le pensais à savoir qu'il ne passe pas réellement à l'enregistrement suivant
Si ta procédure se termine, c'est qu'on est allé au bout du recordset...
Si tu penses que ce n'est pas le cas, tu peux mettre des msgbox "toto" afin de savoir combien de fois on passe dans la boucle...
Quant à [code plan], je ne sais pas ce que tu dois en faire, seul toi sait ce qu'il contient et quelle importance il revêt...
Si tu penses que ce n'est pas le cas, tu peux mettre des msgbox "toto" afin de savoir combien de fois on passe dans la boucle...
Quant à [code plan], je ne sais pas ce que tu dois en faire, seul toi sait ce qu'il contient et quelle importance il revêt...