OVH Cloud OVH Cloud

Calcul avec conditons

13 réponses
Avatar
Emilie
Bonjour,

Je dispose de 2 tables
1- Table liste des docs : avec les champs N° / Ref / Titre / Indice
2 - Table suivi doc : avec les Champs refdoc (lié à N° de la table
précédente) / En application (case à cocher) / en cours de modif (case à
cocher) / supprimé (case à cocher).

J'ai fait un formulaire sur le quel je sélectionne un doc (via liste
déroulante) ce qui ouvre 2 sous formulaires correspondant à mes 2 tables.
Je veux à présent que : lorsque j'active la case à cocher "en cours de
modif" puis je la désactive : il apparaissent une boite de dialogue pour
confirmer cette action et si OK : mon indice de la table "liste des docs"
s'incrémente de 1 pour le document sélectionné.

Je pense qu'une macro se cache derrière cela mais je sais pas comment faire.
Merci de votre aide

10 réponses

1 2
Avatar
Gafish
Re :)

Il faut que tu utilises la fonction MsgBox (regarde dans l'aide pour plus de
précisions)
Mais ce serait du style :

Dim dbsCurrent as database
set dbscurrent = opendatabase(currentdb.name)
Dim RepMsg
RepMsg = MsgBox("Vous etes sur ?", 4)
If RepMsg = 6 then
'ici la valeur 6 correspond au oui
'il faut que tu fasses un update sur ton indice pour incrémenter
dbscurrent.execute "UPDATE [ListeDocs] SET
[Indice]=[ListeDocs].[Indice]+1 WHERE [N°]=" & Me.TaListe & ";"
Else
'sinon
End If
set dbscurrent = nothing

pour la condition where de l'update, j'ai supposé que ta liste renvoyait le
numéro.
Ici tu remplaces par le nom de tes vrais objets.

Arnaud

"Emilie" a écrit dans le message news:

Bonjour,

Je dispose de 2 tables
1- Table liste des docs : avec les champs N° / Ref / Titre / Indice
2 - Table suivi doc : avec les Champs refdoc (lié à N° de la table
précédente) / En application (case à cocher) / en cours de modif (case à
cocher) / supprimé (case à cocher).

J'ai fait un formulaire sur le quel je sélectionne un doc (via liste
déroulante) ce qui ouvre 2 sous formulaires correspondant à mes 2 tables.
Je veux à présent que : lorsque j'active la case à cocher "en cours de
modif" puis je la désactive : il apparaissent une boite de dialogue pour
confirmer cette action et si OK : mon indice de la table "liste des docs"
s'incrémente de 1 pour le document sélectionné.

Je pense qu'une macro se cache derrière cela mais je sais pas comment
faire.

Merci de votre aide



Avatar
Emilie
Merci de ton aide mais je suis nul en visual basic : j'ai donc recopier ce
que tu m'avais écrit et il met un message d'erreur dès le départ sur "DIM
dbscurrent as database" : ERREUR DE COMPILATION ???



Re :)

Il faut que tu utilises la fonction MsgBox (regarde dans l'aide pour plus de
précisions)
Mais ce serait du style :

Dim dbsCurrent as database
set dbscurrent = opendatabase(currentdb.name)
Dim RepMsg
RepMsg = MsgBox("Vous etes sur ?", 4)
If RepMsg = 6 then
'ici la valeur 6 correspond au oui
'il faut que tu fasses un update sur ton indice pour incrémenter
dbscurrent.execute "UPDATE [ListeDocs] SET
[Indice]=[ListeDocs].[Indice]+1 WHERE [N°]=" & Me.TaListe & ";"
Else
'sinon
End If
set dbscurrent = nothing

pour la condition where de l'update, j'ai supposé que ta liste renvoyait le
numéro.
Ici tu remplaces par le nom de tes vrais objets.

Arnaud

"Emilie" a écrit dans le message news:

Bonjour,

Je dispose de 2 tables
1- Table liste des docs : avec les champs N° / Ref / Titre / Indice
2 - Table suivi doc : avec les Champs refdoc (lié à N° de la table
précédente) / En application (case à cocher) / en cours de modif (case à
cocher) / supprimé (case à cocher).

J'ai fait un formulaire sur le quel je sélectionne un doc (via liste
déroulante) ce qui ouvre 2 sous formulaires correspondant à mes 2 tables.
Je veux à présent que : lorsque j'active la case à cocher "en cours de
modif" puis je la désactive : il apparaissent une boite de dialogue pour
confirmer cette action et si OK : mon indice de la table "liste des docs"
s'incrémente de 1 pour le document sélectionné.

Je pense qu'une macro se cache derrière cela mais je sais pas comment
faire.

Merci de votre aide








Avatar
Gafish
Tu es en quelle version d'Access ?
Dans ton module, va dans le menu outils...reférence
et coche la réference qui s'appele Microsoft DAO ....

"Emilie" a écrit dans le message news:

Merci de ton aide mais je suis nul en visual basic : j'ai donc recopier ce
que tu m'avais écrit et il met un message d'erreur dès le départ sur "DIM
dbscurrent as database" : ERREUR DE COMPILATION ???



Re :)

Il faut que tu utilises la fonction MsgBox (regarde dans l'aide pour
plus de


précisions)
Mais ce serait du style :

Dim dbsCurrent as database
set dbscurrent = opendatabase(currentdb.name)
Dim RepMsg
RepMsg = MsgBox("Vous etes sur ?", 4)
If RepMsg = 6 then
'ici la valeur 6 correspond au oui
'il faut que tu fasses un update sur ton indice pour incrémenter
dbscurrent.execute "UPDATE [ListeDocs] SET
[Indice]=[ListeDocs].[Indice]+1 WHERE [N°]=" & Me.TaListe & ";"
Else
'sinon
End If
set dbscurrent = nothing

pour la condition where de l'update, j'ai supposé que ta liste renvoyait
le


numéro.
Ici tu remplaces par le nom de tes vrais objets.

Arnaud

"Emilie" a écrit dans le message
news:



Bonjour,

Je dispose de 2 tables
1- Table liste des docs : avec les champs N° / Ref / Titre / Indice
2 - Table suivi doc : avec les Champs refdoc (lié à N° de la table
précédente) / En application (case à cocher) / en cours de modif
(case à



cocher) / supprimé (case à cocher).

J'ai fait un formulaire sur le quel je sélectionne un doc (via liste
déroulante) ce qui ouvre 2 sous formulaires correspondant à mes 2
tables.



Je veux à présent que : lorsque j'active la case à cocher "en cours de
modif" puis je la désactive : il apparaissent une boite de dialogue
pour



confirmer cette action et si OK : mon indice de la table "liste des
docs"



s'incrémente de 1 pour le document sélectionné.

Je pense qu'une macro se cache derrière cela mais je sais pas comment
faire.

Merci de votre aide










Avatar
Emilie
Je suis en version ACCESS 2002
Je viens de cocher Microsoft DAO 2.5/3.5 compatibility library
ET ....
Il bug à présent sur la ligne suivante : set dbscurrent =
opendatabase(currentdb.name)



Tu es en quelle version d'Access ?
Dans ton module, va dans le menu outils...reférence
et coche la réference qui s'appele Microsoft DAO ....

"Emilie" a écrit dans le message news:

Merci de ton aide mais je suis nul en visual basic : j'ai donc recopier ce
que tu m'avais écrit et il met un message d'erreur dès le départ sur "DIM
dbscurrent as database" : ERREUR DE COMPILATION ???



Re :)

Il faut que tu utilises la fonction MsgBox (regarde dans l'aide pour
plus de


précisions)
Mais ce serait du style :

Dim dbsCurrent as database
set dbscurrent = opendatabase(currentdb.name)
Dim RepMsg
RepMsg = MsgBox("Vous etes sur ?", 4)
If RepMsg = 6 then
'ici la valeur 6 correspond au oui
'il faut que tu fasses un update sur ton indice pour incrémenter
dbscurrent.execute "UPDATE [ListeDocs] SET
[Indice]=[ListeDocs].[Indice]+1 WHERE [N°]=" & Me.TaListe & ";"
Else
'sinon
End If
set dbscurrent = nothing

pour la condition where de l'update, j'ai supposé que ta liste renvoyait
le


numéro.
Ici tu remplaces par le nom de tes vrais objets.

Arnaud

"Emilie" a écrit dans le message
news:



Bonjour,

Je dispose de 2 tables
1- Table liste des docs : avec les champs N° / Ref / Titre / Indice
2 - Table suivi doc : avec les Champs refdoc (lié à N° de la table
précédente) / En application (case à cocher) / en cours de modif
(case à



cocher) / supprimé (case à cocher).

J'ai fait un formulaire sur le quel je sélectionne un doc (via liste
déroulante) ce qui ouvre 2 sous formulaires correspondant à mes 2
tables.



Je veux à présent que : lorsque j'active la case à cocher "en cours de
modif" puis je la désactive : il apparaissent une boite de dialogue
pour



confirmer cette action et si OK : mon indice de la table "liste des
docs"



s'incrémente de 1 pour le document sélectionné.

Je pense qu'une macro se cache derrière cela mais je sais pas comment
faire.

Merci de votre aide















Avatar
Gafish
Qu'est ce qu'il te dit exactement ?

"Emilie" a écrit dans le message news:

Je suis en version ACCESS 2002
Je viens de cocher Microsoft DAO 2.5/3.5 compatibility library
ET ....
Il bug à présent sur la ligne suivante : set dbscurrent > opendatabase(currentdb.name)



Tu es en quelle version d'Access ?
Dans ton module, va dans le menu outils...reférence
et coche la réference qui s'appele Microsoft DAO ....

"Emilie" a écrit dans le message
news:



Merci de ton aide mais je suis nul en visual basic : j'ai donc
recopier ce



que tu m'avais écrit et il met un message d'erreur dès le départ sur
"DIM



dbscurrent as database" : ERREUR DE COMPILATION ???



Re :)

Il faut que tu utilises la fonction MsgBox (regarde dans l'aide pour
plus de


précisions)
Mais ce serait du style :

Dim dbsCurrent as database
set dbscurrent = opendatabase(currentdb.name)
Dim RepMsg
RepMsg = MsgBox("Vous etes sur ?", 4)
If RepMsg = 6 then
'ici la valeur 6 correspond au oui
'il faut que tu fasses un update sur ton indice pour incrémenter
dbscurrent.execute "UPDATE [ListeDocs] SET
[Indice]=[ListeDocs].[Indice]+1 WHERE [N°]=" & Me.TaListe & ";"
Else
'sinon
End If
set dbscurrent = nothing

pour la condition where de l'update, j'ai supposé que ta liste
renvoyait




le
numéro.
Ici tu remplaces par le nom de tes vrais objets.

Arnaud

"Emilie" a écrit dans le message
news:



Bonjour,

Je dispose de 2 tables
1- Table liste des docs : avec les champs N° / Ref / Titre /
Indice





2 - Table suivi doc : avec les Champs refdoc (lié à N° de la
table





précédente) / En application (case à cocher) / en cours de modif
(case à



cocher) / supprimé (case à cocher).

J'ai fait un formulaire sur le quel je sélectionne un doc (via
liste





déroulante) ce qui ouvre 2 sous formulaires correspondant à mes 2
tables.



Je veux à présent que : lorsque j'active la case à cocher "en
cours de





modif" puis je la désactive : il apparaissent une boite de
dialogue





pour
confirmer cette action et si OK : mon indice de la table "liste
des





docs"
s'incrémente de 1 pour le document sélectionné.

Je pense qu'une macro se cache derrière cela mais je sais pas
comment





faire.
Merci de votre aide

















Avatar
Emilie
Il me dit : "erreur d'éxecution 3343 - Unrecognized database..."
Lorsque je clique sur "Débogage" il m'ouvre la fenêtre Visual basic et
surligne en jaune la ligne que je te disais

En fait, j'ai créer le code sur la cache à cocher "sur sortie" : peut être
que c'est pas judicieux ?


Qu'est ce qu'il te dit exactement ?

"Emilie" a écrit dans le message news:

Je suis en version ACCESS 2002
Je viens de cocher Microsoft DAO 2.5/3.5 compatibility library
ET ....
Il bug à présent sur la ligne suivante : set dbscurrent > > opendatabase(currentdb.name)



Tu es en quelle version d'Access ?
Dans ton module, va dans le menu outils...reférence
et coche la réference qui s'appele Microsoft DAO ....

"Emilie" a écrit dans le message
news:



Merci de ton aide mais je suis nul en visual basic : j'ai donc
recopier ce



que tu m'avais écrit et il met un message d'erreur dès le départ sur
"DIM



dbscurrent as database" : ERREUR DE COMPILATION ???



Re :)

Il faut que tu utilises la fonction MsgBox (regarde dans l'aide pour
plus de


précisions)
Mais ce serait du style :

Dim dbsCurrent as database
set dbscurrent = opendatabase(currentdb.name)
Dim RepMsg
RepMsg = MsgBox("Vous etes sur ?", 4)
If RepMsg = 6 then
'ici la valeur 6 correspond au oui
'il faut que tu fasses un update sur ton indice pour incrémenter
dbscurrent.execute "UPDATE [ListeDocs] SET
[Indice]=[ListeDocs].[Indice]+1 WHERE [N°]=" & Me.TaListe & ";"
Else
'sinon
End If
set dbscurrent = nothing

pour la condition where de l'update, j'ai supposé que ta liste
renvoyait




le
numéro.
Ici tu remplaces par le nom de tes vrais objets.

Arnaud

"Emilie" a écrit dans le message
news:



Bonjour,

Je dispose de 2 tables
1- Table liste des docs : avec les champs N° / Ref / Titre /
Indice





2 - Table suivi doc : avec les Champs refdoc (lié à N° de la
table





précédente) / En application (case à cocher) / en cours de modif
(case à



cocher) / supprimé (case à cocher).

J'ai fait un formulaire sur le quel je sélectionne un doc (via
liste





déroulante) ce qui ouvre 2 sous formulaires correspondant à mes 2
tables.



Je veux à présent que : lorsque j'active la case à cocher "en
cours de





modif" puis je la désactive : il apparaissent une boite de
dialogue





pour
confirmer cette action et si OK : mon indice de la table "liste
des





docs"
s'incrémente de 1 pour le document sélectionné.

Je pense qu'une macro se cache derrière cela mais je sais pas
comment





faire.
Merci de votre aide






















Avatar
Gafish
En fait tu veux que le code se déclenche quand tu décoches la case non ?
En ce cas tu le mets sur l'evenement sur clic, et tu peux rajouter les deux
lignes suivantes dans le code :

If Me.TaCase.Value = -1 then
'tu mets là le code que je t'ai donné tout à l'heure
End If

En revanche l'erreur que tu as est plus inquiétante. Essaie de compacter ta
base voir si le problème subsiste.

"Emilie" a écrit dans le message news:

Il me dit : "erreur d'éxecution 3343 - Unrecognized database..."
Lorsque je clique sur "Débogage" il m'ouvre la fenêtre Visual basic et
surligne en jaune la ligne que je te disais

En fait, j'ai créer le code sur la cache à cocher "sur sortie" : peut être
que c'est pas judicieux ?


Qu'est ce qu'il te dit exactement ?

"Emilie" a écrit dans le message
news:



Je suis en version ACCESS 2002
Je viens de cocher Microsoft DAO 2.5/3.5 compatibility library
ET ....
Il bug à présent sur la ligne suivante : set dbscurrent > > > opendatabase(currentdb.name)



Tu es en quelle version d'Access ?
Dans ton module, va dans le menu outils...reférence
et coche la réference qui s'appele Microsoft DAO ....

"Emilie" a écrit dans le message
news:



Merci de ton aide mais je suis nul en visual basic : j'ai donc
recopier ce



que tu m'avais écrit et il met un message d'erreur dès le départ
sur





"DIM
dbscurrent as database" : ERREUR DE COMPILATION ???



Re :)

Il faut que tu utilises la fonction MsgBox (regarde dans l'aide
pour






plus de
précisions)
Mais ce serait du style :

Dim dbsCurrent as database
set dbscurrent = opendatabase(currentdb.name)
Dim RepMsg
RepMsg = MsgBox("Vous etes sur ?", 4)
If RepMsg = 6 then
'ici la valeur 6 correspond au oui
'il faut que tu fasses un update sur ton indice pour
incrémenter






dbscurrent.execute "UPDATE [ListeDocs] SET
[Indice]=[ListeDocs].[Indice]+1 WHERE [N°]=" & Me.TaListe & ";"
Else
'sinon
End If
set dbscurrent = nothing

pour la condition where de l'update, j'ai supposé que ta liste
renvoyait




le
numéro.
Ici tu remplaces par le nom de tes vrais objets.

Arnaud

"Emilie" a écrit dans le
message






news:

Bonjour,

Je dispose de 2 tables
1- Table liste des docs : avec les champs N° / Ref / Titre /
Indice





2 - Table suivi doc : avec les Champs refdoc (lié à N° de la
table





précédente) / En application (case à cocher) / en cours de
modif







(case à
cocher) / supprimé (case à cocher).

J'ai fait un formulaire sur le quel je sélectionne un doc (via
liste





déroulante) ce qui ouvre 2 sous formulaires correspondant à
mes 2







tables.
Je veux à présent que : lorsque j'active la case à cocher "en
cours de





modif" puis je la désactive : il apparaissent une boite de
dialogue





pour
confirmer cette action et si OK : mon indice de la table
"liste







des
docs"
s'incrémente de 1 pour le document sélectionné.

Je pense qu'une macro se cache derrière cela mais je sais pas
comment





faire.
Merci de votre aide
























Avatar
Emilie
J'avance à petits pas :
J'ai fait ce que tu m'as dit et maintenant il me met le message suivant :
"Erreur d'execution 2465 - Impossible de trouver le champ 'l' auquel il
fait référence dans votre expression."
Puis il surligne la ligne suivante dans visual basic :
dbscurrent.Execute "UPDATE [T_Listedocuments] set
[ind]=[T_Listedocuments].[ind]+1 WHERE [N°]=" & Me.[Lstdocument] & ";"



En fait tu veux que le code se déclenche quand tu décoches la case non ?
En ce cas tu le mets sur l'evenement sur clic, et tu peux rajouter les deux
lignes suivantes dans le code :

If Me.TaCase.Value = -1 then
'tu mets là le code que je t'ai donné tout à l'heure
End If

En revanche l'erreur que tu as est plus inquiétante. Essaie de compacter ta
base voir si le problème subsiste.

"Emilie" a écrit dans le message news:

Il me dit : "erreur d'éxecution 3343 - Unrecognized database..."
Lorsque je clique sur "Débogage" il m'ouvre la fenêtre Visual basic et
surligne en jaune la ligne que je te disais

En fait, j'ai créer le code sur la cache à cocher "sur sortie" : peut être
que c'est pas judicieux ?


Qu'est ce qu'il te dit exactement ?

"Emilie" a écrit dans le message
news:



Je suis en version ACCESS 2002
Je viens de cocher Microsoft DAO 2.5/3.5 compatibility library
ET ....
Il bug à présent sur la ligne suivante : set dbscurrent > > > > opendatabase(currentdb.name)



Tu es en quelle version d'Access ?
Dans ton module, va dans le menu outils...reférence
et coche la réference qui s'appele Microsoft DAO ....

"Emilie" a écrit dans le message
news:



Merci de ton aide mais je suis nul en visual basic : j'ai donc
recopier ce



que tu m'avais écrit et il met un message d'erreur dès le départ
sur





"DIM
dbscurrent as database" : ERREUR DE COMPILATION ???



Re :)

Il faut que tu utilises la fonction MsgBox (regarde dans l'aide
pour






plus de
précisions)
Mais ce serait du style :

Dim dbsCurrent as database
set dbscurrent = opendatabase(currentdb.name)
Dim RepMsg
RepMsg = MsgBox("Vous etes sur ?", 4)
If RepMsg = 6 then
'ici la valeur 6 correspond au oui
'il faut que tu fasses un update sur ton indice pour
incrémenter






dbscurrent.execute "UPDATE [ListeDocs] SET
[Indice]=[ListeDocs].[Indice]+1 WHERE [N°]=" & Me.TaListe & ";"
Else
'sinon
End If
set dbscurrent = nothing

pour la condition where de l'update, j'ai supposé que ta liste
renvoyait




le
numéro.
Ici tu remplaces par le nom de tes vrais objets.

Arnaud

"Emilie" a écrit dans le
message






news:

Bonjour,

Je dispose de 2 tables
1- Table liste des docs : avec les champs N° / Ref / Titre /
Indice





2 - Table suivi doc : avec les Champs refdoc (lié à N° de la
table





précédente) / En application (case à cocher) / en cours de
modif







(case à
cocher) / supprimé (case à cocher).

J'ai fait un formulaire sur le quel je sélectionne un doc (via
liste





déroulante) ce qui ouvre 2 sous formulaires correspondant à
mes 2







tables.
Je veux à présent que : lorsque j'active la case à cocher "en
cours de





modif" puis je la désactive : il apparaissent une boite de
dialogue





pour
confirmer cette action et si OK : mon indice de la table
"liste







des
docs"
s'incrémente de 1 pour le document sélectionné.

Je pense qu'une macro se cache derrière cela mais je sais pas
comment





faire.
Merci de votre aide





























Avatar
Gafish
Je ne comprends pas je viens encore de tester en reproduisant ton cas, le 1
est bien interprété chez moi comme un nombre et non comme un champ.
De quel type est ton champ ind ?

"Emilie" a écrit dans le message news:

J'avance à petits pas :
J'ai fait ce que tu m'as dit et maintenant il me met le message suivant :
"Erreur d'execution 2465 - Impossible de trouver le champ 'l' auquel il
fait référence dans votre expression."
Puis il surligne la ligne suivante dans visual basic :
dbscurrent.Execute "UPDATE [T_Listedocuments] set
[ind]=[T_Listedocuments].[ind]+1 WHERE [N°]=" & Me.[Lstdocument] & ";"



En fait tu veux que le code se déclenche quand tu décoches la case non ?
En ce cas tu le mets sur l'evenement sur clic, et tu peux rajouter les
deux


lignes suivantes dans le code :

If Me.TaCase.Value = -1 then
'tu mets là le code que je t'ai donné tout à l'heure
End If

En revanche l'erreur que tu as est plus inquiétante. Essaie de compacter
ta


base voir si le problème subsiste.

"Emilie" a écrit dans le message
news:



Il me dit : "erreur d'éxecution 3343 - Unrecognized database..."
Lorsque je clique sur "Débogage" il m'ouvre la fenêtre Visual basic et
surligne en jaune la ligne que je te disais

En fait, j'ai créer le code sur la cache à cocher "sur sortie" : peut
être



que c'est pas judicieux ?


Qu'est ce qu'il te dit exactement ?

"Emilie" a écrit dans le message
news:



Je suis en version ACCESS 2002
Je viens de cocher Microsoft DAO 2.5/3.5 compatibility library
ET ....
Il bug à présent sur la ligne suivante : set dbscurrent > > > > > opendatabase(currentdb.name)



Tu es en quelle version d'Access ?
Dans ton module, va dans le menu outils...reférence
et coche la réference qui s'appele Microsoft DAO ....

"Emilie" a écrit dans le
message






news:

Merci de ton aide mais je suis nul en visual basic : j'ai donc
recopier ce



que tu m'avais écrit et il met un message d'erreur dès le
départ







sur
"DIM
dbscurrent as database" : ERREUR DE COMPILATION ???



Re :)

Il faut que tu utilises la fonction MsgBox (regarde dans
l'aide








pour
plus de
précisions)
Mais ce serait du style :

Dim dbsCurrent as database
set dbscurrent = opendatabase(currentdb.name)
Dim RepMsg
RepMsg = MsgBox("Vous etes sur ?", 4)
If RepMsg = 6 then
'ici la valeur 6 correspond au oui
'il faut que tu fasses un update sur ton indice pour
incrémenter






dbscurrent.execute "UPDATE [ListeDocs] SET
[Indice]=[ListeDocs].[Indice]+1 WHERE [N°]=" & Me.TaListe &
";"








Else
'sinon
End If
set dbscurrent = nothing

pour la condition where de l'update, j'ai supposé que ta
liste








renvoyait
le
numéro.
Ici tu remplaces par le nom de tes vrais objets.

Arnaud

"Emilie" a écrit dans le
message






news:

Bonjour,

Je dispose de 2 tables
1- Table liste des docs : avec les champs N° / Ref /
Titre /









Indice
2 - Table suivi doc : avec les Champs refdoc (lié à N°
de la









table
précédente) / En application (case à cocher) / en cours
de









modif
(case à
cocher) / supprimé (case à cocher).

J'ai fait un formulaire sur le quel je sélectionne un doc
(via









liste
déroulante) ce qui ouvre 2 sous formulaires correspondant
à









mes 2
tables.
Je veux à présent que : lorsque j'active la case à cocher
"en









cours de
modif" puis je la désactive : il apparaissent une boite de
dialogue





pour
confirmer cette action et si OK : mon indice de la table
"liste







des
docs"
s'incrémente de 1 pour le document sélectionné.

Je pense qu'une macro se cache derrière cela mais je sais
pas









comment
faire.
Merci de votre aide































Avatar
Emilie
Je sais pas si on va y arriver : Mon champ [ind] est de type numérique
(entier long)
Par contre ce champ est dans un sous formulaire (SF_1) tout comme mon champ
[modif] qui est dans un autre sous formulaire (SF_2) : Est ce que celà à de
l'importance ?????



Je ne comprends pas je viens encore de tester en reproduisant ton cas, le 1
est bien interprété chez moi comme un nombre et non comme un champ.
De quel type est ton champ ind ?

"Emilie" a écrit dans le message news:

J'avance à petits pas :
J'ai fait ce que tu m'as dit et maintenant il me met le message suivant :
"Erreur d'execution 2465 - Impossible de trouver le champ 'l' auquel il
fait référence dans votre expression."
Puis il surligne la ligne suivante dans visual basic :
dbscurrent.Execute "UPDATE [T_Listedocuments] set
[ind]=[T_Listedocuments].[ind]+1 WHERE [N°]=" & Me.[Lstdocument] & ";"



En fait tu veux que le code se déclenche quand tu décoches la case non ?
En ce cas tu le mets sur l'evenement sur clic, et tu peux rajouter les
deux


lignes suivantes dans le code :

If Me.TaCase.Value = -1 then
'tu mets là le code que je t'ai donné tout à l'heure
End If

En revanche l'erreur que tu as est plus inquiétante. Essaie de compacter
ta


base voir si le problème subsiste.

"Emilie" a écrit dans le message
news:



Il me dit : "erreur d'éxecution 3343 - Unrecognized database..."
Lorsque je clique sur "Débogage" il m'ouvre la fenêtre Visual basic et
surligne en jaune la ligne que je te disais

En fait, j'ai créer le code sur la cache à cocher "sur sortie" : peut
être



que c'est pas judicieux ?


Qu'est ce qu'il te dit exactement ?

"Emilie" a écrit dans le message
news:



Je suis en version ACCESS 2002
Je viens de cocher Microsoft DAO 2.5/3.5 compatibility library
ET ....
Il bug à présent sur la ligne suivante : set dbscurrent > > > > > > opendatabase(currentdb.name)



Tu es en quelle version d'Access ?
Dans ton module, va dans le menu outils...reférence
et coche la réference qui s'appele Microsoft DAO ....

"Emilie" a écrit dans le
message






news:

Merci de ton aide mais je suis nul en visual basic : j'ai donc
recopier ce



que tu m'avais écrit et il met un message d'erreur dès le
départ







sur
"DIM
dbscurrent as database" : ERREUR DE COMPILATION ???



Re :)

Il faut que tu utilises la fonction MsgBox (regarde dans
l'aide








pour
plus de
précisions)
Mais ce serait du style :

Dim dbsCurrent as database
set dbscurrent = opendatabase(currentdb.name)
Dim RepMsg
RepMsg = MsgBox("Vous etes sur ?", 4)
If RepMsg = 6 then
'ici la valeur 6 correspond au oui
'il faut que tu fasses un update sur ton indice pour
incrémenter






dbscurrent.execute "UPDATE [ListeDocs] SET
[Indice]=[ListeDocs].[Indice]+1 WHERE [N°]=" & Me.TaListe &
";"








Else
'sinon
End If
set dbscurrent = nothing

pour la condition where de l'update, j'ai supposé que ta
liste








renvoyait
le
numéro.
Ici tu remplaces par le nom de tes vrais objets.

Arnaud

"Emilie" a écrit dans le
message






news:

Bonjour,

Je dispose de 2 tables
1- Table liste des docs : avec les champs N° / Ref /
Titre /









Indice
2 - Table suivi doc : avec les Champs refdoc (lié à N°
de la









table
précédente) / En application (case à cocher) / en cours
de









modif
(case à
cocher) / supprimé (case à cocher).

J'ai fait un formulaire sur le quel je sélectionne un doc
(via









liste
déroulante) ce qui ouvre 2 sous formulaires correspondant
à









mes 2
tables.
Je veux à présent que : lorsque j'active la case à cocher
"en









cours de
modif" puis je la désactive : il apparaissent une boite de
dialogue





pour
confirmer cette action et si OK : mon indice de la table
"liste







des
docs"
s'incrémente de 1 pour le document sélectionné.

Je pense qu'une macro se cache derrière cela mais je sais
pas









comment
faire.
Merci de votre aide




































1 2