Ho fatto una piccola istruzione INSERT su databse SQLSERVER, ma mi da questo errore:

"L'istruzione INSERT ha generato un conflitto con il vincolo COLUMNS FOREIGN KEY tab_dettagli FK00 nel database "nomedatabase", tabella tab_cat, column ID_Cat."

Adesso l'istruzione che ho scritto è la seguente:

codice:
Dim MyCmd As SqlClient.SqlCommand
            Dim MySQL As String

            MySQL = "INSERT INTO tab_dettagli(id_cat,tipo) VALUES(@tipo, @id_cat)"

            myConn.Open()

            MyCmd = New SqlCommand
            MyCmd.Connection = myConn
            MyCmd.CommandText = MySQL

            MyCmd.Parameters.Add("@tipo", SqlDbType.NVarChar).Value = txtID.Text
            MyCmd.Parameters.Add("@id_cat", SqlDbType.Int).Value = "19"

            MyCmd.ExecuteNonQuery()

            myConn.Close()
Da quello che ho capito l'errore riguarda le relazioni fra le tabelle.
Io ho due tabelle:
tab_cat
tab_Dettagli

la chiavbe primaria di tab_cat si chiama ID_cat ed è legata al campo di tab_dettagli che si chiama id_cat.
Perchè mi dice che c'è errore se gli passo un valore accettato dalla relazione esistente?

Grazie