OVH Cloud OVH Cloud

choix dans liste déroulante

4 réponses
Avatar
Txl
Bonjour,

Pour une application dans la compétition automobile j'ai une liste de
numéros de série correspondant à des pneus.

J'ai un form et un sous form qui me permettent de consigner quel client à
acheté quel pneu parmi la liste des pneus dispos avec un controle OUI/NON
sur la vente du pneu pour le retirer de la requete des pneus "disponibles".

Donc je voudrais faire un truc "facile" en propriété "sur sortie" de la
liste déroulante du choix de pneu dans le sous form pour mettre le
controle "vendu" sur OUI quand le pneu a été sélectionné.

Mes données sont :

table "tblpneu" avec les champs "pneu" et "vendu"
Sousform "sfrmdonnees" avec le controle "pneu" et dans la requete de
selection du sous form je prends bien tous les champs dans les tables
nécessaires

Merci de votre aide

4 réponses

Avatar
argyronet
Bonjour,

2 solutions
Si le sousform est en mode continu:

Private Sub ListePneus_AfterUpdate()
Dim CodePneu As Long
CodePneu = 1234
PneuVendu True, CodePneu
End Sub

Private Sub PneuVendu(ByVal OuiNon As Boolean, ByVal IDChamp As Long)
Dim SQL As String
SQL = "UPDATE MaTable SET Vendu = " & OuiNon & " WHERE IDPneu = " & IDChamp
CurrentDb.Execute SQL, dbSeeChanges
sfrmdonnees.Requery
End Sub

IDChamp représente le l'ID de la table "tblpneu" contenant les pneus mais
il doit falloir une double clé primaire car sinon, il va y avoir des dégats...

Sinon:
Private Sub ListePneus_AfterUpdate()
Forms!FormulairePrincipal.SousFormlaire.Form!Controls.Vendu = True
End Sub

Argy



Bonjour,

Pour une application dans la compétition automobile j'ai une liste de
numéros de série correspondant à des pneus.

J'ai un form et un sous form qui me permettent de consigner quel client à
acheté quel pneu parmi la liste des pneus dispos avec un controle OUI/NON
sur la vente du pneu pour le retirer de la requete des pneus "disponibles".

Donc je voudrais faire un truc "facile" en propriété "sur sortie" de la
liste déroulante du choix de pneu dans le sous form pour mettre le
controle "vendu" sur OUI quand le pneu a été sélectionné.

Mes données sont :

table "tblpneu" avec les champs "pneu" et "vendu"
Sousform "sfrmdonnees" avec le controle "pneu" et dans la requete de
selection du sous form je prends bien tous les champs dans les tables
nécessaires

Merci de votre aide



Avatar
Txl
Salut et merci de ton aide.

La solution la plus simple ne marche pas, ca me donne une erreur
d'éxecution '2465' : Erreur définie par l'application ou par l'objet...


La solution "compliquée" me donne aussi une erreur d'éxecution '3061' sur
la ligne d'éxecution SQL en me disant qu'il y a trop peu de paramètres, il
lui en faut 2 et apparement il n'y en a qu'un...

voila le code adapté a mes noms de tables...

Private Sub PneuVendu(ByVal OuiNon As Boolean, ByVal refpneu As Long)
Dim req As String
req = "UPDATE tbldonneespneus SET Vendu = " & OuiNon & " WHERE refpneu =
" & refpneu
CurrentDb.Execute req, dbSeeChanges
sfrmdonnees.Requery
End Sub
Private Sub pneusfrm_AfterUpdate()
Dim CodePneu As Long
CodePneu = 1234
PneuVendu True, CodePneu
End Sub


Merci de votre aide à tous



Bonjour,

2 solutions
Si le sousform est en mode continu:

Private Sub ListePneus_AfterUpdate()
Dim CodePneu As Long
CodePneu = 1234
PneuVendu True, CodePneu
End Sub

Private Sub PneuVendu(ByVal OuiNon As Boolean, ByVal IDChamp As Long)
Dim SQL As String
SQL = "UPDATE MaTable SET Vendu = " & OuiNon & " WHERE IDPneu = " &
IDChamp
CurrentDb.Execute SQL, dbSeeChanges
sfrmdonnees.Requery
End Sub

IDChamp représente le l'ID de la table "tblpneu" contenant les pneus
mais
il doit falloir une double clé primaire car sinon, il va y avoir des
dégats...

Sinon:
Private Sub ListePneus_AfterUpdate()
Forms!FormulairePrincipal.SousFormlaire.Form!Controls.Vendu = True
End Sub

Argy



Bonjour,

Pour une application dans la compétition automobile j'ai une liste de
numéros de série correspondant à des pneus.

J'ai un form et un sous form qui me permettent de consigner quel client
à
acheté quel pneu parmi la liste des pneus dispos avec un controle
OUI/NON
sur la vente du pneu pour le retirer de la requete des pneus
"disponibles".

Donc je voudrais faire un truc "facile" en propriété "sur sortie" de la
liste déroulante du choix de pneu dans le sous form pour mettre le
controle "vendu" sur OUI quand le pneu a été sélectionné.

Mes données sont :

table "tblpneu" avec les champs "pneu" et "vendu"
Sousform "sfrmdonnees" avec le controle "pneu" et dans la requete de
selection du sous form je prends bien tous les champs dans les tables
nécessaires

Merci de votre aide






--
Utilisant le client e-mail révolutionnaire d'Opera :
http://www.opera.com/mail/


Avatar
argyronet
L'erreur 2465 est liée au fait qu'un problème est lié entre le formulaire
principal et le sous formulaire avec les propriétés Champs Pères et Champs
Fils... par exemple.

L'erreur 3061 est liée au fait qu'il manque un paramètre dans la requête.
Est-ce que refpneu est de type Long ou String ?
Si c'est String alors il faut ajouter les guillemets comme suit
WHERE refpneu = " & Chr(34) & refpneu &Chr(34) & ";"
Du fait que je ne sâche pas ce qu'il en est pour vos tables, si vous passez
un Long comme Paramètre et la méthode Execute plante...
Dernière chose, est-ce Vendu est un champ Oui/Non ou un Champ Texte ? Si
Texte alors même topo... Le "Oui" que vous voulez appliquez n'est pas True
mais "Oui" ce qui est une abbération.

Donc un petite révision de votre table au niveau du type des champs et de
votre formulaire s'impose car ce que vous exposez est très simple à
solutionner.
Il existe plein de solutions différentes, je vous en ai donné 2...

Argy

--
Mes tutoriels sur http://argyronet.developpez.com/

Ce qui donne son sens à la communication, c´est la réponse que l´on obtient.
Si vous n´obtenez pas la réponse voulue, communiquez différemment



Salut et merci de ton aide.

La solution la plus simple ne marche pas, ca me donne une erreur
d'éxecution '2465' : Erreur définie par l'application ou par l'objet...


La solution "compliquée" me donne aussi une erreur d'éxecution '3061' sur
la ligne d'éxecution SQL en me disant qu'il y a trop peu de paramètres, il
lui en faut 2 et apparement il n'y en a qu'un...

voila le code adapté a mes noms de tables...

Private Sub PneuVendu(ByVal OuiNon As Boolean, ByVal refpneu As Long)
Dim req As String
req = "UPDATE tbldonneespneus SET Vendu = " & OuiNon & " WHERE refpneu =
" & refpneu
CurrentDb.Execute req, dbSeeChanges
sfrmdonnees.Requery
End Sub
Private Sub pneusfrm_AfterUpdate()
Dim CodePneu As Long
CodePneu = 1234
PneuVendu True, CodePneu
End Sub


Merci de votre aide à tous



Bonjour,

2 solutions
Si le sousform est en mode continu:

Private Sub ListePneus_AfterUpdate()
Dim CodePneu As Long
CodePneu = 1234
PneuVendu True, CodePneu
End Sub

Private Sub PneuVendu(ByVal OuiNon As Boolean, ByVal IDChamp As Long)
Dim SQL As String
SQL = "UPDATE MaTable SET Vendu = " & OuiNon & " WHERE IDPneu = " &
IDChamp
CurrentDb.Execute SQL, dbSeeChanges
sfrmdonnees.Requery
End Sub

IDChamp représente le l'ID de la table "tblpneu" contenant les pneus
mais
il doit falloir une double clé primaire car sinon, il va y avoir des
dégats...

Sinon:
Private Sub ListePneus_AfterUpdate()
Forms!FormulairePrincipal.SousFormlaire.Form!Controls.Vendu = True
End Sub

Argy



Bonjour,

Pour une application dans la compétition automobile j'ai une liste de
numéros de série correspondant à des pneus.

J'ai un form et un sous form qui me permettent de consigner quel client
à
acheté quel pneu parmi la liste des pneus dispos avec un controle
OUI/NON
sur la vente du pneu pour le retirer de la requete des pneus
"disponibles".

Donc je voudrais faire un truc "facile" en propriété "sur sortie" de la
liste déroulante du choix de pneu dans le sous form pour mettre le
controle "vendu" sur OUI quand le pneu a été sélectionné.

Mes données sont :

table "tblpneu" avec les champs "pneu" et "vendu"
Sousform "sfrmdonnees" avec le controle "pneu" et dans la requete de
selection du sous form je prends bien tous les champs dans les tables
nécessaires

Merci de votre aide






--
Utilisant le client e-mail révolutionnaire d'Opera :
http://www.opera.com/mail/





Avatar
Txl
Bonjour,

Je n'arrive à rien, j'ai vérifié tout ce que j'ai pu, mais rien à faire.

J'ai trouvé votre adresse mail sur votre site et je vous ai mailé ma base,
si vous pouviez y jeter un coup d'oeil ca serait très gentil à vous.

Une fois que j'aurai un "modèle" je pense que je pourrais m'en sortir
mieux pour la suite mais pour le moment je suis bloqué sur ce problème qui
devrait etre pourtant simple...

Mille mercis



L'erreur 2465 est liée au fait qu'un problème est lié entre le formulaire
principal et le sous formulaire avec les propriétés Champs Pères et
Champs
Fils... par exemple.

L'erreur 3061 est liée au fait qu'il manque un paramètre dans la requête.
Est-ce que refpneu est de type Long ou String ?
Si c'est String alors il faut ajouter les guillemets comme suit
WHERE refpneu = " & Chr(34) & refpneu &Chr(34) & ";"
Du fait que je ne sâche pas ce qu'il en est pour vos tables, si vous
passez
un Long comme Paramètre et la méthode Execute plante...
Dernière chose, est-ce Vendu est un champ Oui/Non ou un Champ Texte ? Si
Texte alors même topo... Le "Oui" que vous voulez appliquez n'est pas
True
mais "Oui" ce qui est une abbération.

Donc un petite révision de votre table au niveau du type des champs et de
votre formulaire s'impose car ce que vous exposez est très simple à
solutionner.
Il existe plein de solutions différentes, je vous en ai donné 2...

Argy





--
Utilisant le client e-mail révolutionnaire d'Opera :
http://www.opera.com/mail/