Bonjour,
Je désire copier la valeur d'un champ (Y) vers un autre champ (X) si ce champ (X) est vide.
Donc si X est vide mettre la valeur de Y.
Je désire faire cela pour toute ma table.
Et je n'y comprend rien avec les recordset...
Merci.
Bonjour,
Je désire copier la valeur d'un champ (Y) vers un autre champ (X) si ce champ (X) est vide.
Donc si X est vide mettre la valeur de Y.
Je désire faire cela pour toute ma table.
Et je n'y comprend rien avec les recordset...
Merci.
Bonjour,
Normalement ce type d'opération se fait avec une requête.
Si tu débutes,
1- il faut d'abord faire une requête sélection qui te permet de sélectionner les valeurs dont le champX sont vides avec :
2- ensuite tu transformes ta requête en requête mise à jour (UPDATE) pour mettre à jour les champs vides :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT T_essai.CHAMPX, T_essai.ID FROM T_essai WHERE (((T_essai.CHAMPX) Is Null));
Et tu exécutes cette requête
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 UPDATE T_essai SET T_essai.CHAMPX = [CHAMPY] WHERE (((T_essai.CHAMPX) Is Null));
Cordialement
Mandresy
"Je ne sais qu'une chose, c'est que je ne sais rien" Socrate
N'oublions pas de mettre quand on a trouvé notre bonheur. Soyons sympa pour les futurs heureux.
Merci, c'est toujours sympa de recevoir des de votre part
voici une procedure pour le faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 Sub champYVerschampX() Dim db As Database Dim rs As DAO.Recordset 'ouvrir la recordset pour les valeurs de champY Set db = CurrentDb Set rs = db.OpenRecordset("select * from nomTable where nomChampY = valeurY", dbOpenDynaset) 'boucle sur les enregistrements While Not rs.EOF 'si type du valeurDuCle est numerique rs.FindFirst "[nomDuCle] = " & valeurDuCle ' ou si type du valeurDuCle est string rs.FindFirst "[nomDuCle] = '" & valeurDuCle & "'" 'si le cle est trouvé If Not rs.NoMatch Then 'si le champX est vide If IsNull(rs("nomChampX")) Or rs("nomChampX") = "" Then 'rs("nomChampX") = 0 si champX numerique rs.Edit rs("nomChampX") = rs("nomChampY") rs.Update End If End If rs.MoveNext Wend rs.Close Set rs = Nothing Set bd = Nothing End Sub
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager