Bonjour,
Je développe un utilitaire sous access, et j'ai besoin d'effectuer une requête sous vba.
Il s'agit d'un simple INSERT INTO basé sur les résultats d'une autre requête de sélection.
Voici le code :
sql1 = "SELECT DISTINCT Formation.CodeFormation FROM Formation WHERE Formation.LibelleFormation LIKE '" & Forms![Formation consigne]!LibelleFormation.Value & "';"
Set rs1 = CurrentDb.OpenRecordset(sql1)
tmp = rs1(0)
sql2 = "INSERT INTO MetierFormation(CodeFormation, Metier) VALUES (" & tmp & ", '" & Me.Metier2 & "');"
CurrentDb.Execute (sql2)
sql3 = "SELECT DISTINCT Employe.TypeContrat, Employe.Matricule, Employe.Nom, Employe.Prenom, Employe.Telephone, Employe.Service, Employe.DateDeb, Employe.DateFin, Employe.DatederniereVisite, Employe.DateProchaineVisite, Employe.Matricule1, Employe.Apte, Employe.ApteTele, Employe.ApteCabine, Employe.ApteCariste FROM Employe INNER JOIN EmployeMetier ON Employe.Matricule = EmployeMetier.Matricule WHERE EmployeMetier.Metier LIKE '" & Me.Metier2 & "';"
Set rs = CurrentDb.OpenRecordset(sql3)
While rs.EOF <> True
sql4 = "INSERT INTO EmployeFormation ( TypeContrat, CodeFormation, Matricule, Metier, Nom, Prenom, Telephone, Service, DateDeb, DateFin, DatederniereVisite, DateProchaineVisite, Matricule1, Apte, ApteTele, ApteCabine, ApteCariste, TypeFormation) VALUES ('" & rs(0) & "', " & tmp & ", " & rs(1) & ", '" & Me.Metier2 & "', '" & rs(2) & "', '" & rs(3) & "', '" & rs(4) & "', '" & rs(5) & "', '" & rs(6) & "', '" & rs(7) & "', '" & rs(8) & "', '" & rs(9) & "', " & rs(10) & ", " & rs(11) & ", " & rs(12) & ", " & rs(13) & ", " & rs(14) & ", 'Consigne de travail en sécurité');"
CurrentDb.Execute (sql4)
rs.MoveNext
Wend
Les trois premières requetes retournent bien les bonnes informations.
Mais la quatrième ne se fait pas, j'ai une erreur qui dit "Trop peu de paramètres. 1 attendu".
J'ai pourtant vérifié les types des champs, tout concorde, alors je ne vois pas la solution, même si je suis sûr qu'elle est basique...
Need help please!!!
Configuration: Windows XP
Internet Explorer 7.0