Bonjour,

Je rencontre un problème d'insertion et mise à jour de données pour mon projet. J'ai une base de données ACCESS avec une table "USERS" et une table "USERS_PDM". L'utilisateur doit dans un premier temps ajouter un utilisateur dans la table "USERS" puis ensuite l'ajouter dans la table "USERS_PDM" si l'utilisateur utilise une licence PDM. Je précise que la table "USERS" contient un champs nommée "ID_PDM" qui est la clé primaire de "USERS_PDM" et que ces 2 tables n'ont pas d'association entre elles. J'ai essayé plusieurs solution dont celle ci-dessous mais en vain :

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
 
        Dim sql_ajouter_pdm As String
        Dim sql_MAJ_user As String
 
        sql_MAJ_user = "UPDATE USERS SET ID_PDM=Val_ID_PDM where ALPS=" & TXT_ALPS_USER.Text & ""
        sql_ajouter_pdm = "INSERT INTO USERS_PDM (ID_PDM,User_Name,CC) VALUES (Val_ID_PDM, Val_User_Name, Val_CC)"
 
        commande_pdm = New OleDb.OleDbCommand(sql_ajouter_pdm, con_pdm)
        commande_user = New OleDb.OleDbCommand(sql_MAJ_user, con_user)
 
        If TXT_ID_PDM.TextLength <> 0 Then
            For k = 0 To TXT_ID_PDM.TextLength - 1
                If IsNumeric(TXT_ID_PDM.Text(k)) Then
                    TXT_ID_PDM.Clear()
                    MsgBox("Le champ PDM ne doit pas contenir de chiffre")
                    Exit Sub
                End If
            Next
        Else
            TXT_ID_PDM.Clear()
            MsgBox("Veuillez rentrer un login PDM")
            Exit Sub
        End If
 
        commande_pdm.Parameters.AddWithValue("Val_ID_PDM", TXT_ID_PDM.Text)
        commande_user.Parameters.AddWithValue("Val_ID_PDM", TXT_ID_PDM.Text)
        commande_pdm.Parameters.AddWithValue("Val_User_Name", TXT_NOM_USER.Text & "," & TXT_PRENOM_USER.Text)
        commande_pdm.Parameters.AddWithValue("Val_CC", CB_CC.SelectedItem)
 
        commande_pdm.Connection.Open()
        commande_pdm.ExecuteReader()
        commande_pdm.Connection.Close()
 
        commande_user.Connection.Open()
        commande_user.ExecuteReader()
        commande_user.Connection.Close()
 
        MsgBox("Le nouveau contact PDM a bien été enregistré.")
 
        dts_pdm.Clear()
        dts_user.Clear()
        demarrage_users()
        demarage_pdm()
Avec cette solution j'ai un message de Type de données incompatible dans l'expression du critère. Quelqu'un pourrait-il m'aider et m'expliquer ?

Merci par avance,