Bonjour,
dans un recordset, je veux modifier un champs de chaque record.
Pour la condition, j'utilise If then
If IsNull(ACCEPTED) = True Then
ACCEPTED = 1
REFUSED = 0
BLACKLIST = 0
End If
mais il ne réagit que sur le record en cours. Normal.
je cherche à le faire sur toute la sélection et je pensais à la boucle for
next....
sans y arriver
Est-ce la bonne solution?
une autre idée?
D'avance merci
Frédéric
Bonjour,
dans un recordset, je veux modifier un champs de chaque record.
Pour la condition, j'utilise If then
If IsNull(ACCEPTED) = True Then
ACCEPTED = 1
REFUSED = 0
BLACKLIST = 0
End If
mais il ne réagit que sur le record en cours. Normal.
je cherche à le faire sur toute la sélection et je pensais à la boucle for
next....
sans y arriver
Est-ce la bonne solution?
une autre idée?
D'avance merci
Frédéric
Bonjour,
dans un recordset, je veux modifier un champs de chaque record.
Pour la condition, j'utilise If then
If IsNull(ACCEPTED) = True Then
ACCEPTED = 1
REFUSED = 0
BLACKLIST = 0
End If
mais il ne réagit que sur le record en cours. Normal.
je cherche à le faire sur toute la sélection et je pensais à la boucle for
next....
sans y arriver
Est-ce la bonne solution?
une autre idée?
D'avance merci
Frédéric
Bonjour
Le mieux est d'utilise le Do ... Loop
Exemple :
Set rst = CurrentDb.OpenRecordset("tbtable", dbOpenDynaset)
with rst
if not .bof Then
.MoveFirst
Do until .eof
If .Fields("ACCEPTED") = True Then
.edit
.fields("ACCEPTED") = 1
.fields("REFUSED ") = 0
.fields("BLACKLIST ") = 0
.update
end if
.MoveNext
Loop
end if
End With
rst.Close: Set rst = Nothing
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message news:
es$Bonjour,
dans un recordset, je veux modifier un champs de chaque record.
Pour la condition, j'utilise If then
If IsNull(ACCEPTED) = True Then
ACCEPTED = 1
REFUSED = 0
BLACKLIST = 0
End If
mais il ne réagit que sur le record en cours. Normal.
je cherche à le faire sur toute la sélection et je pensais à la boucle
for
next....
sans y arriver
Est-ce la bonne solution?
une autre idée?
D'avance merci
Frédéric
Bonjour
Le mieux est d'utilise le Do ... Loop
Exemple :
Set rst = CurrentDb.OpenRecordset("tbtable", dbOpenDynaset)
with rst
if not .bof Then
.MoveFirst
Do until .eof
If .Fields("ACCEPTED") = True Then
.edit
.fields("ACCEPTED") = 1
.fields("REFUSED ") = 0
.fields("BLACKLIST ") = 0
.update
end if
.MoveNext
Loop
end if
End With
rst.Close: Set rst = Nothing
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message news:
es$YgFAQFHA.1476@TK2MSFTNGP09.phx.gbl...
Bonjour,
dans un recordset, je veux modifier un champs de chaque record.
Pour la condition, j'utilise If then
If IsNull(ACCEPTED) = True Then
ACCEPTED = 1
REFUSED = 0
BLACKLIST = 0
End If
mais il ne réagit que sur le record en cours. Normal.
je cherche à le faire sur toute la sélection et je pensais à la boucle
for
next....
sans y arriver
Est-ce la bonne solution?
une autre idée?
D'avance merci
Frédéric
Bonjour
Le mieux est d'utilise le Do ... Loop
Exemple :
Set rst = CurrentDb.OpenRecordset("tbtable", dbOpenDynaset)
with rst
if not .bof Then
.MoveFirst
Do until .eof
If .Fields("ACCEPTED") = True Then
.edit
.fields("ACCEPTED") = 1
.fields("REFUSED ") = 0
.fields("BLACKLIST ") = 0
.update
end if
.MoveNext
Loop
end if
End With
rst.Close: Set rst = Nothing
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message news:
es$Bonjour,
dans un recordset, je veux modifier un champs de chaque record.
Pour la condition, j'utilise If then
If IsNull(ACCEPTED) = True Then
ACCEPTED = 1
REFUSED = 0
BLACKLIST = 0
End If
mais il ne réagit que sur le record en cours. Normal.
je cherche à le faire sur toute la sélection et je pensais à la boucle
for
next....
sans y arriver
Est-ce la bonne solution?
une autre idée?
D'avance merci
Frédéric
Re bonjour Jessy ..
Et merci pour la piste.
en fait, ma form est basée sur une query (QSelectAllFilter).
dans ton code, j'ai donc remplacé "tbtable" par "QSelectAllFilter"
mais ça ne fonctionne pas.
serait il mieux dès lors de définir une variable "tbtable" = docmd.runsql
(le code sql de QSelectAllFilter) ?
merci
frederic
"Jessy Sempere [MVP]" wrote in message
news:425cd764$Bonjour
Le mieux est d'utilise le Do ... Loop
Exemple :
Set rst = CurrentDb.OpenRecordset("tbtable", dbOpenDynaset)
with rst
if not .bof Then
.MoveFirst
Do until .eof
If .Fields("ACCEPTED") = True Then
.edit
.fields("ACCEPTED") = 1
.fields("REFUSED ") = 0
.fields("BLACKLIST ") = 0
.update
end if
.MoveNext
Loop
end if
End With
rst.Close: Set rst = Nothing
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message news:
es$Bonjour,
dans un recordset, je veux modifier un champs de chaque record.
Pour la condition, j'utilise If then
If IsNull(ACCEPTED) = True Then
ACCEPTED = 1
REFUSED = 0
BLACKLIST = 0
End If
mais il ne réagit que sur le record en cours. Normal.
je cherche à le faire sur toute la sélection et je pensais à la boucle
for
next....
sans y arriver
Est-ce la bonne solution?
une autre idée?
D'avance merci
Frédéric
Re bonjour Jessy ..
Et merci pour la piste.
en fait, ma form est basée sur une query (QSelectAllFilter).
dans ton code, j'ai donc remplacé "tbtable" par "QSelectAllFilter"
mais ça ne fonctionne pas.
serait il mieux dès lors de définir une variable "tbtable" = docmd.runsql
(le code sql de QSelectAllFilter) ?
merci
frederic
"Jessy Sempere [MVP]" <jessy.sempere@prg.sncf.fr> wrote in message
news:425cd764$1@news.sncf.fr...
Bonjour
Le mieux est d'utilise le Do ... Loop
Exemple :
Set rst = CurrentDb.OpenRecordset("tbtable", dbOpenDynaset)
with rst
if not .bof Then
.MoveFirst
Do until .eof
If .Fields("ACCEPTED") = True Then
.edit
.fields("ACCEPTED") = 1
.fields("REFUSED ") = 0
.fields("BLACKLIST ") = 0
.update
end if
.MoveNext
Loop
end if
End With
rst.Close: Set rst = Nothing
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message news:
es$YgFAQFHA.1476@TK2MSFTNGP09.phx.gbl...
Bonjour,
dans un recordset, je veux modifier un champs de chaque record.
Pour la condition, j'utilise If then
If IsNull(ACCEPTED) = True Then
ACCEPTED = 1
REFUSED = 0
BLACKLIST = 0
End If
mais il ne réagit que sur le record en cours. Normal.
je cherche à le faire sur toute la sélection et je pensais à la boucle
for
next....
sans y arriver
Est-ce la bonne solution?
une autre idée?
D'avance merci
Frédéric
Re bonjour Jessy ..
Et merci pour la piste.
en fait, ma form est basée sur une query (QSelectAllFilter).
dans ton code, j'ai donc remplacé "tbtable" par "QSelectAllFilter"
mais ça ne fonctionne pas.
serait il mieux dès lors de définir une variable "tbtable" = docmd.runsql
(le code sql de QSelectAllFilter) ?
merci
frederic
"Jessy Sempere [MVP]" wrote in message
news:425cd764$Bonjour
Le mieux est d'utilise le Do ... Loop
Exemple :
Set rst = CurrentDb.OpenRecordset("tbtable", dbOpenDynaset)
with rst
if not .bof Then
.MoveFirst
Do until .eof
If .Fields("ACCEPTED") = True Then
.edit
.fields("ACCEPTED") = 1
.fields("REFUSED ") = 0
.fields("BLACKLIST ") = 0
.update
end if
.MoveNext
Loop
end if
End With
rst.Close: Set rst = Nothing
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message news:
es$Bonjour,
dans un recordset, je veux modifier un champs de chaque record.
Pour la condition, j'utilise If then
If IsNull(ACCEPTED) = True Then
ACCEPTED = 1
REFUSED = 0
BLACKLIST = 0
End If
mais il ne réagit que sur le record en cours. Normal.
je cherche à le faire sur toute la sélection et je pensais à la boucle
for
next....
sans y arriver
Est-ce la bonne solution?
une autre idée?
D'avance merci
Frédéric
Re,
Ta QSelectAllFilter à un sql...
Donc déclares une variable dans le code pour stocker le
sql et ensuite utilises cette variable comme recordset en gros :
Dim strRst as string
strRst = "Select ..."
Set rst = CurrentDb.OpenRecordset(strRst, dbOpenDynaset)
...
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message news:
uS2Q#Re bonjour Jessy ..
Et merci pour la piste.
en fait, ma form est basée sur une query (QSelectAllFilter).
dans ton code, j'ai donc remplacé "tbtable" par "QSelectAllFilter"
mais ça ne fonctionne pas.
serait il mieux dès lors de définir une variable "tbtable" = docmd.runsql
(le code sql de QSelectAllFilter) ?
merci
frederic
"Jessy Sempere [MVP]" wrote in message
news:425cd764$Bonjour
Le mieux est d'utilise le Do ... Loop
Exemple :
Set rst = CurrentDb.OpenRecordset("tbtable", dbOpenDynaset)
with rst
if not .bof Then
.MoveFirst
Do until .eof
If .Fields("ACCEPTED") = True Then
.edit
.fields("ACCEPTED") = 1
.fields("REFUSED ") = 0
.fields("BLACKLIST ") = 0
.update
end if
.MoveNext
Loop
end if
End With
rst.Close: Set rst = Nothing
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message news:
es$Bonjour,
dans un recordset, je veux modifier un champs de chaque record.
Pour la condition, j'utilise If then
If IsNull(ACCEPTED) = True Then
ACCEPTED = 1
REFUSED = 0
BLACKLIST = 0
End If
mais il ne réagit que sur le record en cours. Normal.
je cherche à le faire sur toute la sélection et je pensais à la boucle
for
next....
sans y arriver
Est-ce la bonne solution?
une autre idée?
D'avance merci
Frédéric
Re,
Ta QSelectAllFilter à un sql...
Donc déclares une variable dans le code pour stocker le
sql et ensuite utilises cette variable comme recordset en gros :
Dim strRst as string
strRst = "Select ..."
Set rst = CurrentDb.OpenRecordset(strRst, dbOpenDynaset)
...
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message news:
uS2Q#VAQFHA.2252@TK2MSFTNGP15.phx.gbl...
Re bonjour Jessy ..
Et merci pour la piste.
en fait, ma form est basée sur une query (QSelectAllFilter).
dans ton code, j'ai donc remplacé "tbtable" par "QSelectAllFilter"
mais ça ne fonctionne pas.
serait il mieux dès lors de définir une variable "tbtable" = docmd.runsql
(le code sql de QSelectAllFilter) ?
merci
frederic
"Jessy Sempere [MVP]" <jessy.sempere@prg.sncf.fr> wrote in message
news:425cd764$1@news.sncf.fr...
Bonjour
Le mieux est d'utilise le Do ... Loop
Exemple :
Set rst = CurrentDb.OpenRecordset("tbtable", dbOpenDynaset)
with rst
if not .bof Then
.MoveFirst
Do until .eof
If .Fields("ACCEPTED") = True Then
.edit
.fields("ACCEPTED") = 1
.fields("REFUSED ") = 0
.fields("BLACKLIST ") = 0
.update
end if
.MoveNext
Loop
end if
End With
rst.Close: Set rst = Nothing
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message news:
es$YgFAQFHA.1476@TK2MSFTNGP09.phx.gbl...
Bonjour,
dans un recordset, je veux modifier un champs de chaque record.
Pour la condition, j'utilise If then
If IsNull(ACCEPTED) = True Then
ACCEPTED = 1
REFUSED = 0
BLACKLIST = 0
End If
mais il ne réagit que sur le record en cours. Normal.
je cherche à le faire sur toute la sélection et je pensais à la boucle
for
next....
sans y arriver
Est-ce la bonne solution?
une autre idée?
D'avance merci
Frédéric
Re,
Ta QSelectAllFilter à un sql...
Donc déclares une variable dans le code pour stocker le
sql et ensuite utilises cette variable comme recordset en gros :
Dim strRst as string
strRst = "Select ..."
Set rst = CurrentDb.OpenRecordset(strRst, dbOpenDynaset)
...
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message news:
uS2Q#Re bonjour Jessy ..
Et merci pour la piste.
en fait, ma form est basée sur une query (QSelectAllFilter).
dans ton code, j'ai donc remplacé "tbtable" par "QSelectAllFilter"
mais ça ne fonctionne pas.
serait il mieux dès lors de définir une variable "tbtable" = docmd.runsql
(le code sql de QSelectAllFilter) ?
merci
frederic
"Jessy Sempere [MVP]" wrote in message
news:425cd764$Bonjour
Le mieux est d'utilise le Do ... Loop
Exemple :
Set rst = CurrentDb.OpenRecordset("tbtable", dbOpenDynaset)
with rst
if not .bof Then
.MoveFirst
Do until .eof
If .Fields("ACCEPTED") = True Then
.edit
.fields("ACCEPTED") = 1
.fields("REFUSED ") = 0
.fields("BLACKLIST ") = 0
.update
end if
.MoveNext
Loop
end if
End With
rst.Close: Set rst = Nothing
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message news:
es$Bonjour,
dans un recordset, je veux modifier un champs de chaque record.
Pour la condition, j'utilise If then
If IsNull(ACCEPTED) = True Then
ACCEPTED = 1
REFUSED = 0
BLACKLIST = 0
End If
mais il ne réagit que sur le record en cours. Normal.
je cherche à le faire sur toute la sélection et je pensais à la boucle
for
next....
sans y arriver
Est-ce la bonne solution?
une autre idée?
D'avance merci
Frédéric
Salut Jessy,
au bout du compte, j'ai trouvé une solution.
j'espere que c'est la bonne.
Private Sub Command39_Click()
If IsNull([ACCEPTED]) = False Then
DoCmd.RunSQL ("UPDATE QSelectAllFilter SET QSelectAllFilter.ACCEPTED > 1, " & _
"QSelectAllFilter.REFUSED = 0, " & _
"QSelectAllFilter.BLACKLIST = 0;")
End If
"Jessy Sempere [MVP]" wrote in message
news:425cdf3f$Re,
Ta QSelectAllFilter à un sql...
Donc déclares une variable dans le code pour stocker le
sql et ensuite utilises cette variable comme recordset en gros :
Dim strRst as string
strRst = "Select ..."
Set rst = CurrentDb.OpenRecordset(strRst, dbOpenDynaset)
...
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message news:
uS2Q#Re bonjour Jessy ..
Et merci pour la piste.
en fait, ma form est basée sur une query (QSelectAllFilter).
dans ton code, j'ai donc remplacé "tbtable" par "QSelectAllFilter"
mais ça ne fonctionne pas.
serait il mieux dès lors de définir une variable "tbtable" docmd.runsql
(le code sql de QSelectAllFilter) ?
merci
frederic
"Jessy Sempere [MVP]" wrote in message
news:425cd764$Bonjour
Le mieux est d'utilise le Do ... Loop
Exemple :
Set rst = CurrentDb.OpenRecordset("tbtable", dbOpenDynaset)
with rst
if not .bof Then
.MoveFirst
Do until .eof
If .Fields("ACCEPTED") = True Then
.edit
.fields("ACCEPTED") = 1
.fields("REFUSED ") = 0
.fields("BLACKLIST ") = 0
.update
end if
.MoveNext
Loop
end if
End With
rst.Close: Set rst = Nothing
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message
news:
es$Bonjour,
dans un recordset, je veux modifier un champs de chaque record.
Pour la condition, j'utilise If then
If IsNull(ACCEPTED) = True Then
ACCEPTED = 1
REFUSED = 0
BLACKLIST = 0
End If
mais il ne réagit que sur le record en cours. Normal.
je cherche à le faire sur toute la sélection et je pensais à la
boucle
for
next....
sans y arriver
Est-ce la bonne solution?
une autre idée?
D'avance merci
Frédéric
Salut Jessy,
au bout du compte, j'ai trouvé une solution.
j'espere que c'est la bonne.
Private Sub Command39_Click()
If IsNull([ACCEPTED]) = False Then
DoCmd.RunSQL ("UPDATE QSelectAllFilter SET QSelectAllFilter.ACCEPTED > 1, " & _
"QSelectAllFilter.REFUSED = 0, " & _
"QSelectAllFilter.BLACKLIST = 0;")
End If
"Jessy Sempere [MVP]" <jessy.sempere@prg.sncf.fr> wrote in message
news:425cdf3f$1@news.sncf.fr...
Re,
Ta QSelectAllFilter à un sql...
Donc déclares une variable dans le code pour stocker le
sql et ensuite utilises cette variable comme recordset en gros :
Dim strRst as string
strRst = "Select ..."
Set rst = CurrentDb.OpenRecordset(strRst, dbOpenDynaset)
...
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message news:
uS2Q#VAQFHA.2252@TK2MSFTNGP15.phx.gbl...
Re bonjour Jessy ..
Et merci pour la piste.
en fait, ma form est basée sur une query (QSelectAllFilter).
dans ton code, j'ai donc remplacé "tbtable" par "QSelectAllFilter"
mais ça ne fonctionne pas.
serait il mieux dès lors de définir une variable "tbtable" docmd.runsql
(le code sql de QSelectAllFilter) ?
merci
frederic
"Jessy Sempere [MVP]" <jessy.sempere@prg.sncf.fr> wrote in message
news:425cd764$1@news.sncf.fr...
Bonjour
Le mieux est d'utilise le Do ... Loop
Exemple :
Set rst = CurrentDb.OpenRecordset("tbtable", dbOpenDynaset)
with rst
if not .bof Then
.MoveFirst
Do until .eof
If .Fields("ACCEPTED") = True Then
.edit
.fields("ACCEPTED") = 1
.fields("REFUSED ") = 0
.fields("BLACKLIST ") = 0
.update
end if
.MoveNext
Loop
end if
End With
rst.Close: Set rst = Nothing
@+
Jessy Sempere - Access MVP
news@access.fr.vu
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message
news:
es$YgFAQFHA.1476@TK2MSFTNGP09.phx.gbl...
Bonjour,
dans un recordset, je veux modifier un champs de chaque record.
Pour la condition, j'utilise If then
If IsNull(ACCEPTED) = True Then
ACCEPTED = 1
REFUSED = 0
BLACKLIST = 0
End If
mais il ne réagit que sur le record en cours. Normal.
je cherche à le faire sur toute la sélection et je pensais à la
boucle
for
next....
sans y arriver
Est-ce la bonne solution?
une autre idée?
D'avance merci
Frédéric
Salut Jessy,
au bout du compte, j'ai trouvé une solution.
j'espere que c'est la bonne.
Private Sub Command39_Click()
If IsNull([ACCEPTED]) = False Then
DoCmd.RunSQL ("UPDATE QSelectAllFilter SET QSelectAllFilter.ACCEPTED > 1, " & _
"QSelectAllFilter.REFUSED = 0, " & _
"QSelectAllFilter.BLACKLIST = 0;")
End If
"Jessy Sempere [MVP]" wrote in message
news:425cdf3f$Re,
Ta QSelectAllFilter à un sql...
Donc déclares une variable dans le code pour stocker le
sql et ensuite utilises cette variable comme recordset en gros :
Dim strRst as string
strRst = "Select ..."
Set rst = CurrentDb.OpenRecordset(strRst, dbOpenDynaset)
...
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message news:
uS2Q#Re bonjour Jessy ..
Et merci pour la piste.
en fait, ma form est basée sur une query (QSelectAllFilter).
dans ton code, j'ai donc remplacé "tbtable" par "QSelectAllFilter"
mais ça ne fonctionne pas.
serait il mieux dès lors de définir une variable "tbtable" docmd.runsql
(le code sql de QSelectAllFilter) ?
merci
frederic
"Jessy Sempere [MVP]" wrote in message
news:425cd764$Bonjour
Le mieux est d'utilise le Do ... Loop
Exemple :
Set rst = CurrentDb.OpenRecordset("tbtable", dbOpenDynaset)
with rst
if not .bof Then
.MoveFirst
Do until .eof
If .Fields("ACCEPTED") = True Then
.edit
.fields("ACCEPTED") = 1
.fields("REFUSED ") = 0
.fields("BLACKLIST ") = 0
.update
end if
.MoveNext
Loop
end if
End With
rst.Close: Set rst = Nothing
@+
Jessy Sempere - Access MVP
------------------------------------
Site @ccess : http://access.jessy.free.fr/
Pour l'efficacité de tous :
http://users.skynet.be/mpfa/
------------------------------------
"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message
news:
es$Bonjour,
dans un recordset, je veux modifier un champs de chaque record.
Pour la condition, j'utilise If then
If IsNull(ACCEPTED) = True Then
ACCEPTED = 1
REFUSED = 0
BLACKLIST = 0
End If
mais il ne réagit que sur le record en cours. Normal.
je cherche à le faire sur toute la sélection et je pensais à la
boucle
for
next....
sans y arriver
Est-ce la bonne solution?
une autre idée?
D'avance merci
Frédéric