Formulaire access

Formulaire access - VB/VBA/VBS - Programmation

Marsh Posté le 04-09-2013 à 19:47:03    

Bonjour,
 
j'ai un formulaire à affectuer.
 
J'ai une table : References(ref, description, quantite)
 
Je souhaiterais faire un formulaire avec une liste déroulante pour choisir la ref, une zone de texte pour saisir la quantité, et 2 boutons, un ajout au stock, et un retirer du stock.
 
Je n'arrive pas à programmer les boutons... j'ai essayé avec :  

Code :
  1. Dim qte As Double
  2. qte = Val(ztqte.Value)
  3. DoCmd.SetWarnings False
  4. DoCmd.RunSQL "UPDATE References SET quantite = quantite + " + qte + " WHERE ref = '" + Zlref.Value + "';"
  5. DoCmd.SetWarnings True


 
mais ça ne fonctionne pas...
 
un petit coup de main svp?
 
Merci!! :jap:

Reply

Marsh Posté le 04-09-2013 à 19:47:03   

Reply

Marsh Posté le 05-09-2013 à 07:48:13    

Qu'est ce qui ne fonctionne pas ? Le run de la requête ?

 

Je commencerais par remplacer les + par des &


Message édité par otobox le 05-09-2013 à 07:48:58

---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
Reply

Marsh Posté le 05-09-2013 à 11:07:16    

bah les plus ont toujours marché habituellement, mais je vais essayer ^^
 
en fait il me met "erreur, incompatibilité de type"...  
 
qte=2000 et non "2000", Zlref.Value marche correctement...
 
et qte est un numeric type double dans ma table
 
(merci de m'avoir répondu!)

Reply

Marsh Posté le 05-09-2013 à 18:14:22    

Ca bloque à quelle ligne ?
 
De quel type est le champ Ref de la table References ? De type String ?


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
Reply

Marsh Posté le 06-09-2013 à 09:49:38    

ça bloque sur ma requete... ref est un string

Reply

Marsh Posté le 06-09-2013 à 09:51:03    

et zlref.value recupere correctement la valeur selectionnée dans la liste

Reply

Marsh Posté le 06-09-2013 à 18:39:19    

Bon, si ça bloque au niveau de la requête, il faut voir si elle est bien écrite...
 
Alors transforme ton code comme ceci :

   
Dim qte As Double, sql As String
qte = Val(ztqte.Value)
sql = "UPDATE References SET quantite = quantite + " + qte + " WHERE ref = '" + Zlref.Value + "';"
Debug.Print sql 'Ceci va écrire la requête dans la fenêtre Exécution
DoCmd.SetWarnings False
DoCmd.RunSQL sql
DoCmd.SetWarnings True


Regarde ce que te donne le debug.print. Si tu ne trouves pas, copie-colle le résultat ici.
Je soupçonne que le Zlref.Value te renvoie un Nombre plutôt qu'une chaine.
 
L'erreur incompatibilité de type arrive souvent dans on balance un string et que le champ attend un type Long ou un type Date.
 
Dans ta table le champ Ref est la clé ? Généralement, la clé est de type numérique Long Auto. Dans ce cas les ' seraient de trop dans :

WHERE ref = '" + Zlref.Value + "';"


et généralement, dans une liste déroulante, on récupère la valeur de première colonne (qui est masquée) et qui renvoie aussi un Entier long.


---------------
OtObOxBlOg - - - Etre seul à avoir tort  c'est plus difficile, mais c'est bien plus beau que d'avoir raison avec une bande de cons
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed