bonjour à tous
voici mon pb:
j'ai une table temporaire tmp et une table ligneCommande(code,numLigne,Qte,position) ma table tmp à aussi les meme champ.
j'ai un formulaire qui prend sa source sur la table tmp
une quanté est saisie dans le formulaire dans la zone de texte Qte et la position est remplit automatiquement.celle ci peur etre P,A,ou S
je voudrait que sur clic au boutons valider,les position s passe en P et s'enregistre dans la table ligneCommande
j'ai fait une requette qui selection les champ de Qte<>0 sur Tmp indexé par code et numero de ligne.
et je boucle sur la requete sql.mais les modif ne s'effectu pas voila le code.merci de votre aide
Private Sub btnvalid2_Click()
Dim rst As Recordset, rstL As Recordset
Dim n As Integer
Dim Base_GESCO As Database
Dim sql As String
sql = "SELECT LCR.CodeCommande, LCR.NumeroLigne, LCR.Qte FROM LigneCmdCltRegroup AS LCR WHERE LCR.Qte<>0;"
'Modif de la position et enregistrement des Qte
'----- ouverture base de donnée
Set Base_GESCO = OpenDatabase(ChemBase("GESCO" ))
'----- ouverture table
Set rstL = Base_GESCO.OpenRecordset("LigneCommande", dbOpenTable)
Set rst = CurrentDb.OpenRecordset(sql)
rstL.Index = "code"
Do Until rst.EOF
rstL.Seek "=", Code = rst!CodeCommande, NumeroLigne = rst!NumeroLigne
If rst!Position = "s" Then
rst.Edit
rst!Position = "p"
rst.Update
rst.MoveNext
End If
Do Until rstL.EOF
rstL.Edit
rstL!Qte = Me!Qte
rstL.Update
Me.Refresh
Loop
rstL.Close
Set rstL = Nothing
Loop
UPDATE LigneCmdCltRegroup SET Position = "p" WHERE Position = "s"
End Sub