Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

update un recordset

1 réponse
Avatar
eric
Bonjour,
je souhaite sur un formulaire,aprés impression mettre à jour 2 champs
d'une table tlitige

un champs codevalidationeditionbon
un champs datevaleditionbon
le but etant que les enregistrements selectionnés prennent respectivement la
valeur
2 pour codevalidationeditionbon
now() pour datevaleditionbon
j'ai tenté une codif en vba mais tout aprés plusieurs tentatives
infructueuses je me tourne vers vous.

mon code
Private Sub Commande32_Click()
Dim db1
Dim rst1
Dim g, i
Dim monsql1
Dim stDocName As String

stDocName = "BONRETOUR"
monsql1 = "select* from tlitige where(((tLitige.codevalidationaccordadv)=2)
AND ((tLitige.codevalidationbonretour)=2)AND
((tLitige.codevalidationeditionbon)=1)) "
Set db1 = CurrentDb
Set rst1 = db1.OpenRecordset(monsql1)
rst1.MoveLast
rst1.MoveFirst
g = rst1.RecordCount


If g = 0 Then
MsgBox ("PAS DE BON EN ATTENTE D'EDITION")
Else
stDocName = "BONRETOUR"
DoCmd.OpenReport stDocName, acNormal
For i = 1 To g
Me.codevalidationbonretour = 2
Me.datevaleditionbon = Now()
DoCmd.GoToRecord , , acNext
Next i

End If

Me.Requery
Me.Refresh

Set db1 = Nothing
Set rst1 = Nothing
End Sub


N'y a-t-il pas une possibilité de faire un update des champs concernés pour
rst1?
Merci d'avance
eric

1 réponse

Avatar
RaphK34
Salut,
je pense qu'à la place de :
For i = 1 To g
Me.codevalidationbonretour = 2
Me.datevaleditionbon = Now()
DoCmd.GoToRecord , , acNext
Next i
je ferais un update du style:

UPDATE tlitige SET tlitige.codevalidationeditionbon = 2,
tlitige.datevaleditionbon= Now()
where(((tLitige.codevalidationaccordadv)=2)
AND ((tLitige.codevalidationbonretour)=2)AND
((tLitige.codevalidationeditionbon)=1)) "


--
@+ Raph.

--------------------------------------------
Merci de répondre sur le NG
Toutes remarques bienvenues !
--------------------------------------------
"eric" a écrit dans le message de news:

Bonjour,
je souhaite sur un formulaire,aprés impression mettre à jour 2 champs
d'une table tlitige

un champs codevalidationeditionbon
un champs datevaleditionbon
le but etant que les enregistrements selectionnés prennent respectivement
la
valeur
2 pour codevalidationeditionbon
now() pour datevaleditionbon
j'ai tenté une codif en vba mais tout aprés plusieurs tentatives
infructueuses je me tourne vers vous.

mon code
Private Sub Commande32_Click()
Dim db1
Dim rst1
Dim g, i
Dim monsql1
Dim stDocName As String

stDocName = "BONRETOUR"
monsql1 = "select* from tlitige
where(((tLitige.codevalidationaccordadv)=2)
AND ((tLitige.codevalidationbonretour)=2)AND
((tLitige.codevalidationeditionbon)=1)) "
Set db1 = CurrentDb
Set rst1 = db1.OpenRecordset(monsql1)
rst1.MoveLast
rst1.MoveFirst
g = rst1.RecordCount


If g = 0 Then
MsgBox ("PAS DE BON EN ATTENTE D'EDITION")
Else
stDocName = "BONRETOUR"
DoCmd.OpenReport stDocName, acNormal
For i = 1 To g
Me.codevalidationbonretour = 2
Me.datevaleditionbon = Now()
DoCmd.GoToRecord , , acNext
Next i

End If

Me.Requery
Me.Refresh

Set db1 = Nothing
Set rst1 = Nothing
End Sub


N'y a-t-il pas une possibilité de faire un update des champs concernés
pour
rst1?
Merci d'avance
eric