Bonjour,

Je voudrais faire un delete dans les tables F_DOCENTETE et F_DOCLIGNE de Sage ligne 100 gestion commerciale, liée à un même numéro, quand je le fais dans la seconde table, je n'ai aucune erreur mais quand je le fais dans F_DOCENTETE, j'obtiens ce message d'erreur, que je ne comprend pas du tout :

L'erreur*82067, la gravité*11, l'état*1 ont été générés, mais aucun message avec ce numéro d'erreur n'a été trouvé dans sys.messages. Si l'erreur est supérieure à 50000, vérifiez que le message défini par l'utilisateur a été ajouté à l'aide de sp_addmessage.
Une erreur est survenue lors de l'exécution du déclencheur. Le lot a été abandonné et la transaction utilisateur éventuelle a été restaurée.
Du coup, je pense que je devrais voir du côté des triggers mais j'ignore totalement comment ça marche.
Je vous met tout de même la fonction que j'ai implémenté:

Code VB : 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
    Private Function supprimer_facture(ByVal param_num_facture As String) As Boolean
        Dim cmd As SqlClient.SqlCommand = global_SQL_connection.CreateCommand
        Try
 
            For Each loop_table As String In {"F_DOCLIGNE", "F_DOCENTETE"}
                If global_SQL_connection.State = ConnectionState.Open Then
                    global_SQL_connection.Close()
                End If
                global_SQL_connection.Open()
                cmd.CommandType = CommandType.Text
                cmd.CommandText = String.Format("DELETE FROM {0} WHERE DO_PIECE='{1}'", loop_table.Trim, param_num_facture.Trim)
                cmd.ExecuteNonQuery()
            Next loop_table
 
        Catch ex As Exception
            MsgBox(ex.Message)
            Return False
        End Try
 
        Return True
    End Function

Merci