Sure :
daLignes.InsertCommand = AjoutProduit()
daLignes.Update(Ds.Tables("lignes"))
Private Function AjoutProduit()
Dim cmd As OleDbCommand
strSQL = "INSERT INTO A_LIGCDES " & _
"(idcdeclient,idproduit,idclient,idfournisseur,qte,pu,remise)" & _
" values (?,?,?,?,?,?,?); SELECT SCOPE_IDENTITY() AS IDLIG "
cmd = New OleDbCommand(strSQL, cn)
cmd.Parameters.Add("idcdeclient", OleDb.OleDbType.Integer, 0, "idcdeclient")
cmd.Parameters.Add("idproduit", OleDb.OleDbType.Integer, 0, "idproduit")
cmd.Parameters.Add("idclient", OleDb.OleDbType.Integer, 0, "idclient")
cmd.Parameters.Add("idfournisseur", OleDb.OleDbType.Integer, 0,
"idfournisseur")
cmd.Parameters.Add("qte", OleDb.OleDbType.Integer, 0, "qte")
cmd.Parameters.Add("pu", OleDb.OleDbType.Decimal, 0, "pu")
cmd.Parameters.Add("remise", OleDb.OleDbType.Decimal, 0, "remise")
cmd.UpdatedRowSource = UpdateRowSource.FirstReturnedRecord
Return cmd
End Function
My datatable is like this :
With Ds.Tables.Add("Lignes")
col = .Columns.Add("idlig", GetType(Integer))
col.AutoIncrement = True
col.AutoIncrementSeed = -1
col.AutoIncrementStep = -1
..Columns.Add("idcdeclient", GetType(Integer))
..Columns.Add("idclient", GetType(Integer))
..Columns.Add("idproduit", GetType(Integer))
..Columns.Add("idfournisseur", GetType(Integer))
..Columns.Add("qte", GetType(Integer))
..Columns.Add("pu", GetType(Decimal))
..Columns.Add("remise", GetType(Decimal))
col = .Columns.Add("TotalLigne", GetType(Decimal))
col.Expression = "(Pu * Qte) * ((100 - remise) / 100)"
..PrimaryKey = New DataColumn() {.Columns("idlig")}
End With