des seek et echange des donné dans un meme champ - VB/VBA/VBS - Programmation
MarshPosté le 23-11-2006 à 15:36:57
slt! j'ai une table LCommande(Position ,Qté) avec pour index :code.le champ Position peut prendre pour valeur"A,S,ou P.j'ai une zone de texte dans mon formulaire qui s'appele txtQte. je voudrai que sur clic sur le bouton validé toutes les positions S passent en possition P et la valeure saisie dans txtQté s'enregistre dans Qte champ de la table .voici le bout de code que j'ai fais et ca marche pas. merci
'transfert de la position '----- ouverture base de donnée Set Base_GESCO = OpenDatabase(ChemBase("GESCO" )) '----- ouverture table Set rstL = Base_GESCO.OpenRecordset("LigneCommande", dbOpenTable) '----- rstL.Index = "code" (index de la table) rstL.Seek "=", ChemBase("s" ) Do Until rstL.NoMatch rstL!Qte = Me!Qte If rstL!Position = "s" Then rstL.Edit rstL("Position" ) = "p" rstL.Update n = n + 1 rstL.Seek "=", "s" End If Loop MsgBox "vous avez changer la position de " & n & "articles" rstL.MoveNext rstL.Close Set rst = CurrentDb.OpenRecordset("LigneCommande" ) Do Until rst.EOF rst!Qte = Me!Qte rst.Update Me.Refresh Loop rst.Close Set rst = Nothing
Marsh Posté le 23-11-2006 à 15:36:57
slt!
j'ai une table LCommande(Position ,Qté) avec pour index :code.le champ Position peut prendre pour valeur"A,S,ou P.j'ai une zone de texte dans mon formulaire qui s'appele txtQte.
je voudrai que sur clic sur le bouton validé
toutes les positions S passent en possition P et la valeure saisie dans txtQté s'enregistre dans Qte champ de la table .voici le bout de code que j'ai fais et ca marche pas. merci
'transfert de la position
'----- ouverture base de donnée
Set Base_GESCO = OpenDatabase(ChemBase("GESCO" ))
'----- ouverture table
Set rstL = Base_GESCO.OpenRecordset("LigneCommande", dbOpenTable)
'-----
rstL.Index = "code" (index de la table)
rstL.Seek "=", ChemBase("s" )
Do Until rstL.NoMatch
rstL!Qte = Me!Qte
If rstL!Position = "s" Then
rstL.Edit
rstL("Position" ) = "p"
rstL.Update
n = n + 1
rstL.Seek "=", "s"
End If
Loop
MsgBox "vous avez changer la position de " & n & "articles"
rstL.MoveNext
rstL.Close
Set rst = CurrentDb.OpenRecordset("LigneCommande" )
Do Until rst.EOF
rst!Qte = Me!Qte
rst.Update
Me.Refresh
Loop
rst.Close
Set rst = Nothing