Buenas.
@andaluz, efectivamente, la 1ª consulta estaba mal.
Estás seleccionando un campo de la tabla "Compra", tomando como origen la tabla "Proveedores".
De todos modos, no deberías utilizar el método "ExecuteNonQuery", ya que no te devuelve ningún conjunto de datos, sólo el número de registros afectados (un valor numérico entero). Prueba con "ExecuteScalar" (1º mira para qué sirve este método y el que estabas utilizando).
Saludos.
@andaluz, efectivamente, la 1ª consulta estaba mal.
Código (vbnet) [Seleccionar]
Dim consulta As New OleDbCommand("SELECT Compra.Id_Proveedor FROM Proveedores", conexion_access)
Estás seleccionando un campo de la tabla "Compra", tomando como origen la tabla "Proveedores".
De todos modos, no deberías utilizar el método "ExecuteNonQuery", ya que no te devuelve ningún conjunto de datos, sólo el número de registros afectados (un valor numérico entero). Prueba con "ExecuteScalar" (1º mira para qué sirve este método y el que estabas utilizando).
Saludos.