Как я могу вставить в таблицу с помощью выбора данных из другой таблицы для конкретного поля - PullRequest
0 голосов
/ 27 октября 2018

Я использую OLEDB для подключения к базе данных Microsoft Access. Я хочу вставить данные поля «ItemDesc» в «tblCallibrationNewGauge» из «tblItemMst» и другое поле, такое как значения «ItemCode», «Customer», «Quantity», полученные от пользователей. Ниже мой код:

 If con.State = ConnectionState.Open Then
  con.Close()
  con.Open()
  Else
 con.Open()
 End If
  Dim cmd As New OleDbCommand("Insert Into tblCallibrationNewGauge(ItemCode,ItemDesc,Customer,Quantity)VALUES('" + partCode.Text.ToString() + "',(Select ItemDesc from tblItemMst where ItemCode='" + partCode.Text.ToString() + "'),'" + cmb_customer.Text.ToString() + "','" + quantity.Text.ToString() + "'",con)
If cmd.ExecuteNonQuery() Then
 MessageBox.Show("Data Inserted")
End If
con.Close()

Я получаю ошибку исключения для этого. Возможно ли это сделать? или же Есть ли способ вставить данные в таблицу, где некоторые поля взяты из другой таблицы, а некоторые поля взяты из Winform Control?

Заранее спасибо.

1 Ответ

0 голосов
/ 27 октября 2018

изменить текст команды следующим образом:

Dim cmd As New OleDbCommand("Insert Into tblCallibrationNewGauge( ItemCode,ItemDesc,Customer,Quantity) SELECT '" + partCode.Text.ToString() + "', ItemDesc,'" + cmb_customer.Text.ToString() + "','" + quantity.Text.ToString() + "' from tblItemMst where ItemCode='" + partCode.Text.ToString() + "'",con)
...