OVH Cloud OVH Cloud

modifier un champs dans toute al liste

11 réponses
Avatar
fth
Bonjour,

form1, avec bouton1 qui fait (me.recordsource "MaQuery"

SELECT QSelectAllFilter.*
FROM QSelectAllFilter
WHERE (((QSelectAllFilter.WORK2004)="Y"));

Toujours dans Form1, Bouton2
qui doit (enfin, devrait!) modifier champ1 et le mettre sur 1

Snif, je calle

D'avance merci

10 réponses

1 2
Avatar
Raymond [mvp]
Bonjour.
pourquoi indiquer ta source du formulaire ?
si ton bouton2 doit mettre 1 dans le champ1 (qui est inclus dans la requête,
ce qui est un minimum de condition), sur l'évènement ckick tu mets:
Private Sub bouton2 _Click()
Me.Champ1 = 1
End Sub

j'ai peur de ne pas avoir compris.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message de news:

Bonjour,

form1, avec bouton1 qui fait (me.recordsource "MaQuery"

SELECT QSelectAllFilter.*
FROM QSelectAllFilter
WHERE (((QSelectAllFilter.WORK2004)="Y"));

Toujours dans Form1, Bouton2
qui doit (enfin, devrait!) modifier champ1 et le mettre sur 1

Snif, je calle

D'avance merci




Avatar
fth
Bonsoir Raymond,

C'est toi mm qui m'avait donné cette solution suite à un Post ou je devais,
sans changer de formulaire, avoir des vues différentes de ma base. Et c'est
une super petite bonne idée. Encore merci.

en fait 'bouton1' sur 'FormList' fait;
me.recordsource = "maquery".
j'ai donc qq boutons sur ma 'FormList' et d'un click, je peux avoir des vues
différentes d'une mm base.

Pour en revenir à mon probleme actuel, une fois un recordsource sélectionné,
j'ai des boutons pour des opération " à la louche". (traitement en masse si
tu veux!) mettre 'champ1' à "1" ou à "2" etc...
par la suite, le user peut affiner avec "FormFiche".

En fait je pensais faire UPDATE mais est ce possible et surtout rationnel?

Je cherche aussi (c'est un des critère) à ne pas devoir modifier la config
de base d'access donc éviter ADO, DAO etc qui ne sont pas toujours
automatiquement inscrit à l'installation.

La situation est elle plus clair?

Bonne soirée et encore merci pour le coup de pouce.

Frédéric


"Raymond [mvp]" wrote in message
news:%
Bonjour.
pourquoi indiquer ta source du formulaire ?
si ton bouton2 doit mettre 1 dans le champ1 (qui est inclus dans la
requête, ce qui est un minimum de condition), sur l'évènement ckick tu
mets:
Private Sub bouton2 _Click()
Me.Champ1 = 1
End Sub

j'ai peur de ne pas avoir compris.
--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message de news:

Bonjour,

form1, avec bouton1 qui fait (me.recordsource "MaQuery"

SELECT QSelectAllFilter.*
FROM QSelectAllFilter
WHERE (((QSelectAllFilter.WORK2004)="Y"));

Toujours dans Form1, Bouton2
qui doit (enfin, devrait!) modifier champ1 et le mettre sur 1

Snif, je calle

D'avance merci








Avatar
Raymond [mvp]
bonjour.

ça ne change rien, le 1er paragraphe me semblait inutile, c'est pour ça.
pour ta mise à jour, le plus simple me semble la requête mise à jour car
facile à mettre en oeuvre pour l'ensemble des enregistrements:
DoCmd.RunSQL "UPDATE table1 SET table1.Champ = 1;"

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message de news:

Bonsoir Raymond,

C'est toi mm qui m'avait donné cette solution suite à un Post ou je
devais, sans changer de formulaire, avoir des vues différentes de ma base.
Et c'est une super petite bonne idée. Encore merci.

en fait 'bouton1' sur 'FormList' fait;
me.recordsource = "maquery".
j'ai donc qq boutons sur ma 'FormList' et d'un click, je peux avoir des
vues différentes d'une mm base.

Pour en revenir à mon probleme actuel, une fois un recordsource
sélectionné, j'ai des boutons pour des opération " à la louche".
(traitement en masse si tu veux!) mettre 'champ1' à "1" ou à "2" etc...
par la suite, le user peut affiner avec "FormFiche".

En fait je pensais faire UPDATE mais est ce possible et surtout rationnel?

Je cherche aussi (c'est un des critère) à ne pas devoir modifier la config
de base d'access donc éviter ADO, DAO etc qui ne sont pas toujours
automatiquement inscrit à l'installation.

La situation est elle plus clair?

Bonne soirée et encore merci pour le coup de pouce.

Frédéric




Avatar
fth
Bonnour raymond,
oui c'est un peu à ça que je pensais. Je suppose qu'à la place de table1 je
peux mettre "query" mais dans le cas présent, il faudrait qu'il mette
champs1 à "1" dans la selection en cours ...
c'est là qu'est l'os!




"Raymond [mvp]" wrote in message
news:
bonjour.

ça ne change rien, le 1er paragraphe me semblait inutile, c'est pour ça.
pour ta mise à jour, le plus simple me semble la requête mise à jour car
facile à mettre en oeuvre pour l'ensemble des enregistrements:
DoCmd.RunSQL "UPDATE table1 SET table1.Champ = 1;"

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message de news:

Bonsoir Raymond,

C'est toi mm qui m'avait donné cette solution suite à un Post ou je
devais, sans changer de formulaire, avoir des vues différentes de ma
base. Et c'est une super petite bonne idée. Encore merci.

en fait 'bouton1' sur 'FormList' fait;
me.recordsource = "maquery".
j'ai donc qq boutons sur ma 'FormList' et d'un click, je peux avoir des
vues différentes d'une mm base.

Pour en revenir à mon probleme actuel, une fois un recordsource
sélectionné, j'ai des boutons pour des opération " à la louche".
(traitement en masse si tu veux!) mettre 'champ1' à "1" ou à "2" etc...
par la suite, le user peut affiner avec "FormFiche".

En fait je pensais faire UPDATE mais est ce possible et surtout
rationnel?

Je cherche aussi (c'est un des critère) à ne pas devoir modifier la
config de base d'access donc éviter ADO, DAO etc qui ne sont pas toujours
automatiquement inscrit à l'installation.

La situation est elle plus clair?

Bonne soirée et encore merci pour le coup de pouce.

Frédéric









Avatar
Raymond [mvp]
il faut que tu mettes le nom de ta table.
ensuite lorsque la requête est terminée tu fais un Me.Requery pour
actualiser l'affichage du formulaire.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message de news:

Bonnour raymond,
oui c'est un peu à ça que je pensais. Je suppose qu'à la place de table1
je peux mettre "query" mais dans le cas présent, il faudrait qu'il mette
champs1 à "1" dans la selection en cours ...
c'est là qu'est l'os!



Avatar
fth
oui mais dans ce cas, il met à jour toute la table.
Fichtre!

y aurait il moyen de faire qq chose dans le genre:

variable1 = le recordset en cours
variable1.champs1=1

possible?

Bonne fin de journée,
Frédéric

"Raymond [mvp]" wrote in message
news:%234ZZ%
il faut que tu mettes le nom de ta table.
ensuite lorsque la requête est terminée tu fais un Me.Requery pour
actualiser l'affichage du formulaire.

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message de news:

Bonnour raymond,
oui c'est un peu à ça que je pensais. Je suppose qu'à la place de table1
je peux mettre "query" mais dans le cas présent, il faudrait qu'il mette
champs1 à "1" dans la selection en cours ...
c'est là qu'est l'os!







Avatar
Raymond [mvp]
si tu ne veux modifier que le champ1 de l'enregistrement actif et qui est
affiché sur le formulaire, tu fais simplement:
Me!Champ1 = 1 dans l'événement click du bouton

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message de news:

oui mais dans ce cas, il met à jour toute la table.
Fichtre!

y aurait il moyen de faire qq chose dans le genre:

variable1 = le recordset en cours
variable1.champs1=1

possible?

Bonne fin de journée,
Frédéric



Avatar
fth
je pense que je m'exprime mal ou que j'expose mal mon probleme.

j'ai une table: table1
une query: query1
une form basée sur query1 qui se présente comme une liste (FrmList1).
Form1 me montre une liste de tout le monde;
sur un bouton (bouton1) je désire filtrer certains records me.recordset = "query2" 'qui est une query qui me filtre par exemple les
genre=homme'
sur (bouton2) je filtre autre chose "genreþmme
me.recordset = "query3"
etc
bouton3 doit, par exemple" dans la liste filtrée par "bouton1" ou "bouton2",
mettre champ1 à "1"
pour tous les records affichés (et donc filtrés) par Bt1 ou Bt2...

Suis pas certains d'avoir été plus concis :-/




"Raymond [mvp]" wrote in message
news:
si tu ne veux modifier que le champ1 de l'enregistrement actif et qui est
affiché sur le formulaire, tu fais simplement:
Me!Champ1 = 1 dans l'événement click du bouton

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message de news:

oui mais dans ce cas, il met à jour toute la table.
Fichtre!

y aurait il moyen de faire qq chose dans le genre:

variable1 = le recordset en cours
variable1.champs1=1

possible?

Bonne fin de journée,
Frédéric







Avatar
Raymond [mvp]
D'abord il est préférable de passer par un filtre plutôt que de changer de
requête.
tu peux faire la requête que je t'ai indiquée avec une clause where:
DoCmd.RunSQL "UPDATE table1 SET table1.Champ1 = 1 where [Genre] = '" &
"Homme" & "';"
ou
DoCmd.RunSQL "UPDATE table1 SET table1.Champ1 = 1 where [Genre] = '" &
Me.Genre & "';"

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message de news:

je pense que je m'exprime mal ou que j'expose mal mon probleme.

j'ai une table: table1
une query: query1
une form basée sur query1 qui se présente comme une liste (FrmList1).
Form1 me montre une liste de tout le monde;
sur un bouton (bouton1) je désire filtrer certains records > me.recordset = "query2" 'qui est une query qui me filtre par exemple les
genre=homme'
sur (bouton2) je filtre autre chose "genreþmme
me.recordset = "query3"
etc
bouton3 doit, par exemple" dans la liste filtrée par "bouton1" ou
"bouton2", mettre champ1 à "1"
pour tous les records affichés (et donc filtrés) par Bt1 ou Bt2...

Suis pas certains d'avoir été plus concis :-/


Avatar
fth
Bonsoir Raymond,
en définitif, je me suis rabattu sur la qolution suivante:

Private Sub Command39_Click()

' pour tous les enregistrement actuellement affiché dans la liste,
' mettre le champ [ACCEPTED] à 1 (ACCEPTED)

Dim rst As Recordset
Set rst = Me.Recordset


With rst
If Not .BOF Then
.MoveFirst
Do Until .EOF
If .Fields("ACCEPTED") <> 1 Then
.Edit
.Fields("ACCEPTED") = 1
.Update
End If
.MoveNext
Loop
End If
End With
DoCmd.Requery

Je ne prétend pas que ça soit LA solution mais dans un premier temps, ça
réalise ce dont j'ai besoins.

Encore merçi pour les pistes

Frédéric


End Sub
"Raymond [mvp]" wrote in message
news:%
D'abord il est préférable de passer par un filtre plutôt que de changer de
requête.
tu peux faire la requête que je t'ai indiquée avec une clause where:
DoCmd.RunSQL "UPDATE table1 SET table1.Champ1 = 1 where [Genre] = '" &
"Homme" & "';"
ou
DoCmd.RunSQL "UPDATE table1 SET table1.Champ1 = 1 where [Genre] = '" &
Me.Genre & "';"

--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://OfficeSystem.Access.free.fr/runtime/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"fth" <frederic.thiriauxSPAM!@matloc.be> a écrit dans le message de news:

je pense que je m'exprime mal ou que j'expose mal mon probleme.

j'ai une table: table1
une query: query1
une form basée sur query1 qui se présente comme une liste (FrmList1).
Form1 me montre une liste de tout le monde;
sur un bouton (bouton1) je désire filtrer certains records >> me.recordset = "query2" 'qui est une query qui me filtre par exemple les
genre=homme'
sur (bouton2) je filtre autre chose "genreþmme
me.recordset = "query3"
etc
bouton3 doit, par exemple" dans la liste filtrée par "bouton1" ou
"bouton2", mettre champ1 à "1"
pour tous les records affichés (et donc filtrés) par Bt1 ou Bt2...

Suis pas certains d'avoir été plus concis :-/







1 2