Ver Mensaje Individual
  #1 (permalink)  
Antiguo 16/11/2011, 10:27
amg39
 
Fecha de Ingreso: febrero-2011
Mensajes: 29
Antigüedad: 13 años, 2 meses
Puntos: 0
Crear una ComboBox

Llevo unos días intentado solucionar esto: crear una ComboBox que pueda enlazar a otra tabla. Esto es lo mejor que he encontrado en la red pero se ve que tiene algún fallo, porque tampoco consigo que me funcione. En donde señalo
adaptador.Fill(ds1)
se detiene.
El error que me da es "No se han especificado valores para algunos de los parámetros requeridos". Lo que he encerrado entre corchetes y en negrita venían en el código que encontré en la red y a los que no les he encontrado sentido y he modificado (bd por con, o suprimido BD).
¿Me podréis ayudar? ¿Qué está mal? Muchas gracias.
Private Sub.....
.......

'CARGAR EL COMBObOX
MsgBox("3")
con.Close()
dbProvider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;"
dbSource = "Data Source = C:\Users\Alberto Moreno Gil\Mis documentos\bd4.mdb"
con.ConnectionString = dbProvider & dbSource
con.Open()
sql1 = "SELECT * FROM Denominacion WHERE Not clase ='Acciones' ORDER BY denominacion"
MsgBox("4")
Cargar_combo(sql1, ComboBoxDenominaciones)
con.Close()
Catch ex As Exception
MessageBox.Show(ex.Message, "ComboBox", MessageBoxButtons.OK, MessageBoxIcon.Information)
End Try
End Sub
'.....
Public Sub Cargar_combo(ByVal sql1 As String, ByVal ComboBoxDenominaciones As ComboBox)
'Pasamos datos de la BD al DA
'Dim da1 As New OleDbDataAdapter(sql1, con)
MsgBox("Saltó a Cargar Combo")
Dim ds1 As New DataSet()
Dim cb As New OleDb.OleDbCommandBuilder(da)
con.Close()
'Pasamos datos del DA al DS mediante el procedimiento LlenarDs
[BD.]LlenarDs(ds1, sql1)
MsgBox("7")
ComboBoxDenominaciones.DataSource = ds1.Tables(0)
ComboBoxDenominaciones.DisplayMember = ds1.Tables(0).Columns(0).Caption.ToString()
ComboBoxDenominaciones.ValueMember = ds1.Tables(0).Columns(1).Caption.ToString()
End Sub
'......
Public Sub LlenarDs(ByRef ds1 As DataSet, ByVal sql1 As String)
MsgBox("4...")
con.Open()
Dim adaptador As New OleDb.OleDbDataAdapter(sql1, [bd]con)
MsgBox("5...")
adaptador.Fill(ds1) ' ¡¡¡Aquí SE DETIENE!!!
MsgBox("6...")
con.Close()
End Sub