Bonjour,

J'ai une BD dans laquelle j'ai plusieurs formulaires que je "copie" de l'un à l'autre afin d'éviter la ressaisie. Je me suis basé sur l'un de ces codes VBA pour créer un transfert de données depuis un formulaire de demande de prix vers un formulaire de commande.
J'ai écris le code suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
Private Sub Commande115_Click()
On Error GoTo Err_Commande115_Click
 
Dim NumCde As String
Dim stDocName As String
 
    stDocName = "FORM-COMMANDE"
    DoCmd.OpenForm stDocName, acNormal, "", "", acAdd, acNormal
 
    Forms![FORM-COMMANDE]![IDClient] = IDClient
    Forms![FORM-COMMANDE]![IDSites] = IDSites
    Forms![FORM-COMMANDE]![IDFournisseurs] = IDFournisseurs
    Forms![FORM-COMMANDE]![IDCatégorie] = IDCatégorie
    Forms![FORM-COMMANDE]![Analytique] = Analytique
    Forms![FORM-COMMANDE]![IDDO] = IDDO
    Forms![FORM-COMMANDE].Refresh
 
    'Récupérer le numéro de fiche intervention en cours
    NumCde = Forms![FORM-COMMANDE]!IDCommande
 
    monsql = "INSERT INTO [RQ-DETAIL CDE] (IDCommande, dESIGNATION, Reference, [Quantite])" _
    & " SELECT [Formulaires]![FORM-COMMANDE]![IDCommande] AS CdeNum, [T-DetailDemandePrix].Designation," _
            & " [T-DetailDemandePrix].Reference, [T-DetailDemandePrix].Quantite" _
            & " From [T-DetailDemandePrix]" _
            & " WHERE [T-DetailDemandePrix].IDFournisseur=" & NumFournisseur _
            & " AND [T-DetailDemandePrix].IDDemandePrix='" & Me.IDDemandePrix _
            & "' AND [T-DetailDemandePrix].[Selectdp]=-1 AND [T-DetailDemandePrix].Commandédp=0;"
 
    DoCmd.RunSQL monsql
    'mettre a jour le champ "Commandé" de la table détails devis pour éviter un doublon de commande
    monsql = "UPDATE [T-DetailDemandePrix] SET [T-DetailDemandePrix].Commande = -1" _
            & " WHERE [T-DetailDemandePrix].IDFournisseur=" & NumFournisseur _
            & " AND [T-DetailDemandePrix].IDDemandePrix='" & Me.IDDemandePrix _
            & "' AND [T-DetailDemandePrix].[Selectdp]=-1 AND [T-DetailDemandePrix].Commandédp=0;"
 
    DoCmd.RunSQL monsql
 
Exit_Commande115_Click:
    Exit Sub
 
Err_Commande115_Click:
    MsgBox Err.Description
    Resume Exit_Commande115_Click
 
End Sub
Ce code doit me permettre de "copier" les infos du formulaire de demande de prix vers celui de la commande. Pour cela je coche la/les ligne(s) que je veux commander depuis la demande de prix et elles s'incrémentent dans la table détail commande via la requête. Ensuite dans le sous-formulaire demande prix la case "commandé" est cochée pour éviter les doublons de commande.

Toute la partie concernant le nom du client, fournisseur, analytique... s'incrémente sans problème.

Le soucis vient du sous-formulaire demande prix vers le sous-formulaire commande, j'ai le message suivant
Pièce jointe 192557

Pourriez-vous m'aider car je ne sais pas ce qui cloche malgré plusieurs essais de correction infructueux ?

D'avance merci