Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

Pb code vba avec recordset

cow040, le jeudi 19 mai 2005 à 17:40:15
Bonjour, j' ai réaliser un code qui me permet de sortir des articles suivant les commandes c'est a dire que je sors d'abord les articles des plus anciennes commandes(premier entrée premier sorti).mais tout marche bien qd il y a que deux commande(deux enregistrement ds la requete)mais des qu il y en a plus de 2 ça me donne plus du tout le bon resultat. voici mon code :
'Requete permetant de calculer le stock restant pour l'entrée la moins recente
StrSql1 = "SELECT [Transactions inventaire].DateTransaction, [Transactions inventaire].RéfBonCommande, [Transactions inventaire].RéfProduit, [Transactions inventaire].UnitésEntrées, [Transactions inventaire].Qsoldées, [Transactions inventaire]!UnitésEntrées-[Transactions inventaire]!Qsoldées AS Stock, [Transactions inventaire].Pxunitaire " & _
"FROM Catégories RIGHT JOIN (Produits INNER JOIN [Transactions inventaire] ON Produits.RéfProduit=[Transactions inventaire].RéfProduit) ON Catégories.RéfCatégorie=Produits.RéfCatégorie " & _
"WHERE [Transactions inventaire].RéfProduit = " & Me![RéfProduit] & " And ([Transactions inventaire]!UnitésEntrées-[Transactions inventaire]!Qsoldées)>0 " & _
"ORDER BY [Transactions inventaire].DateTransaction, [Transactions inventaire].RéfBonCommande;"

'Ouverture de la Requete ( voir requete Stockentréedatex)
Set rs1 = Application.CurrentDb.OpenRecordset(StrSql1)
Set rstable = Application.CurrentDb.OpenRecordset("Transactions inventaire", dbOpenTable)

rs1.MoveFirst

reste1 = rs1("Stock")
'MsgBox " " & CStr(reste1) 'espion pour le debugage(enlever le quote devant MsgBox)
MsgBox "stock avant boucle " & CStr(reste1)
Do Until Not reste = 0
MsgBox " reste avant if" & CStr(reste)
If reste <= rs1("Stock") Then
MsgBox "reste apres if" & CStr(reste) 'espion pour le debugage
rs1.Edit
rs1.Fields("Qsoldées") = rs1("Qsoldées") + reste 'affectation de la valeur
rs1.Update 'mise a jour
rstable.AddNew
rstable!DateTransaction = Me.DateTransaction
rstable!RéfProduit = Me.RéfProduit
rstable!RéfBonCommande = rs1("RéfBonCommande")
rstable!UnitésSortie = reste
rstable!Pxunitaire = rs1("Pxunitaire")
rstable!RéfLieuconso = lieu
rstable.Update
Exit Do
Else
rs1.Edit
rs1.Fields("Qsoldées") = rs1("Qsoldées") + rs1("Stock")
rs1.Update
rstable.AddNew
rstable!DateTransaction = Me.DateTransaction
rstable!RéfProduit = Me.RéfProduit
rstable!RéfBonCommande = rs1("RéfBonCommande")
rstable!UnitésSortie = reste1
rstable!Pxunitaire = rs1("Pxunitaire")
rstable!RéfLieuconso = lieu
rstable.Update
reste = reste - reste1
'MsgBox " " & CStr(reste) 'espion pour le debugage
rs1.MoveNext
End If
Loop
Me.Commandes.Requery
End If
rs1.Close
Set rs1 = Nothing

End Sub
c'est au niveau du if que cela ne fonctionne plus il fait tout le temps le else meme qd la condition est vrai.
je ne comprend plus rien.
je ne vois pa pourquoi il fonctionne qd il y a 2 enregistrement et pas pour 3. merci de votre aide.
Répondre à cow040  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 Jeff, le jeudi 19 mai 2005 à 18:35:13
Merci d'utiliser le bouton "Code" du forum lorsque tu ajoute un morceau de code à ton message, sinon c'est illisible ! Webmaster(@)CommentCaMarche.net
Répondre à Jeff

Résultats pour pb code vba avec recordset

Code VBA pour effacer controles après click (Résolu) Bonjour, Je suis à la recherche d'un code VBA pour effacer différents controles (TextBox et OptionButton) après un clique dans un CommandButton. Je suis débutant et je ne connais pas grand chose. J'ai découvert il n'y pas longtemps les... www.commentcamarche.net/forum/affich-5620062-code-vba-pour-effacer-controles-apres-click
Code Vba Pour masquer les Feuilles (Résolu) Bonjour, Je voudrais un code vba pour masquer les feuilles d'un classeur qu'on ne peut pas les afficher à partir du Format/Feuille/Afficher. Avec tous mes respects. www.commentcamarche.net/forum/affich-4676579-code-vba-pour-masquer-les-feuilles
Modèle Excel - Code VBA (Résolu) Bonjour, J'ai un petit problème avec du code VBA dans un modèle Excel. Ce que ça doit faire: -Lorsque j'ouvre un fichier en partant du modèle (fichier.xlt) (Double-clique dessus) le fichier doit incrémenter de 1 le nombre d'une cellule... www.commentcamarche.net/forum/affich-6149950-modele-excel-code-vba

Résultats pour pb code vba avec recordset

VBA Ajouter commandButton et le code qui va avecCode relativement simple et qui ne nécessite pas d'explication complémentaire. Coller ces deux sub dans un module général (Module1 par exemple). Sub CréerBouton() Dim Obj As Object Dim Code As String Sheets("Feuil1").Select 'crée le... www.commentcamarche.net/faq/sujet-11237-vba-ajouter-commandbutton-et-le-code-qui-va-avec
VBA et les collections d'objets.VBA et les collections d'objets Quand plusieurs (beaucoup de) contrôles sont mis sur une feuille ou un Userform il est parfois fastidieux d'écrire du code dans chaque évènement des contrôles. Ce Tuto vous permet de traiter vos contrôles comme... www.commentcamarche.net/faq/sujet-10397-vba-et-les-collections-d-objets

Résultats pour pb code vba avec recordset

Erreur code vba (Résolu)Bonjour, j ai ecrit un code vba mais il me donne une erreur lors de l execution est ce que vous pouvvez maider a la corriger??? merci d avance www.commentcamarche.net/forum/affich-7525929-erreur-code-vba
Explication code vba (Résolu)Bonjour, derLig = Range("A" & Cells.Rows.Count).End(xlUp).Row Je souhaiterai avoir une explication détaillé de ce code vba (comme pour un enfant de 6an,lol). Je sais que cela veut dire "récupération de la dernière ligne non vide de la colonne A"... www.commentcamarche.net/forum/affich-5866016-explication-code-vba
VBA ACCESS : valeur de champ automatique (Résolu)Bonjour, Je souhaite écrire un petit code VBA spécifiant que le champ "Type" doit prendre automatiquement une valeur donnée (par exemple "Accessoires") lorsqu'on insère un nouvel enregistrement dans le formulaire. Quelle est la syntaxe ? Merci www.commentcamarche.net/forum/affich-5383877-vba-access-valeur-de-champ-automatique

Résultats pour pb code vba avec recordset

Les langages informatiquesLangage informatique On appelle « langage informatique » un langage destiné à décrire l'ensemble des actions consécutives qu'un ordinateur doit exécuter. Un langage informatique est ainsi une façon pratique pour nous (humains) de donner des... www.commentcamarche.net/contents/langages/langages.php3