bonjour a tous,
j'ai (encore) un petit probleme avec un bout de code en vba, auquel j'arrive pas a trouver de solution
il me donne comme erreur: erreur 424: objet requis
je vous met le code en entier, mais c'est plutot vers le debut que ca plante
----------------------------------
Dim idc As String
Dim req As String
Dim total As Double
Dim bd As Database
Dim rec1 As Recordset
Dim rec2 As Recordset
Dim rec3 As Recordset
Dim rec4 As Recordset
----------------------------------
Sub main()
Set db = CurrentDb
db.Execute ("update composant set prixRec=null" )
Set rec1 = db.OpenRecordset("select * from composant", dbOpenSnapshot)
Do While Not rec1.EOF
fixerPrixRec (rec1.Fields("code_com" ))
rec1.MoveNext
Loop
End Sub
------------------------------
Function fixerPrixRec(id As String) As Double
req = "select * from composant where code_com='" & id & "'"
Set rec2 = db.OpenRecordset(req, dbOpenSnapshot) <--------- c'est ici qu'il me sort l'erreur
req = "select * from est_compose_1 where code_com_1='" & id & "'"
Set rec3 = db.OpenRecordset(req, dbOpenSnapshot)
If (IsNull(rec3)) Then
db.Execute ("update composant set prixRec=prix where code_com='" & id & "'" )
fixerPrixRec = rec3.Fields("prix" )
Exit Function
Else
total = 0
total = total + rec2.Fields("prix" )
Do While Not rec3.EOF
idc = rec3.Fields("code_com_2" )
Set rec4 = db.OpenRecordset("select * from composant where code_com='" & idc & "'", dbOpenSnapshot)
If IsNull(rec4.Fields(prixRec)) Then
total = total + fixerPrixRec(idc)
Else
total = total + rec4.Fields("prixRec" )
End If
rec3.MoveNext
Loop
db.Execute ("update composant set prixRec='" & total & "';" )
fixerPrixRec = total
Exit Function
End If
End Function
-------------------------
si quelqu'un pouvait me trouver ca ca m'arrangerait pas mal