Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Julierme Felix

[Resolvido] Popular Combos

Recommended Posts

Pessoal estou fazendo um prog usando VS2003 com banco em access. em um formulario tenho duas combos, a primeira preenche com a categoria dos produtos e a segunda os produtos baseados na categoria selecionada, porem quando executo o form aparece um erro.

 

veja o codigo das combos.

 Public Sub carregarcombo()
   Dim DS As DataSet
   Dim DA As OleDbDataAdapter
   DA = New OleDbDataAdapter("select * from categoria", cn)
   DS = New DataSet
   DA.Fill(DS, "categoria")
   cbocategoria.DataSource = DS.Tables("categoria")
   cbocategoria.DisplayMember = "Nome"
   cbocategoria.ValueMember = "ID"
   cn.Close()
 End Sub

 Public Sub carregarprodutos()
   cn.Open()
   Dim dat1 As OleDbDataAdapter
   Dim ds1 As DataSet
   ds1 = New DataSet
   Dim myCommLin As OleDbCommand = cn.CreateCommand()
   Dim myCB As String = "SELECT * From qryprodutos where idcategoria=@cod"
   myCommLin.CommandText = myCB
   myCommLin.Parameters.Add("@cod", SqlDbType.NVarChar).Value = cbocategoria.SelectedValue
   dat1 = New OleDbDataAdapter(myCommLin)
   dat1.SelectCommand = myCommLin
   dat1.Fill(ds1, "qryprodutos")
   dt = ds1.Tables(0)
   cboprodutos.DataSource = dt
   cboprodutos.DisplayMember = "Produto"
   cboprodutos.ValueMember = "ID"
   cn.Close()
 End Sub

Estou chamando a primeira combo quando clica no botão novo do formulario.

Private Sub btnovo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnovo.Click
   ' AÇÃO DO BOTÃO NOVO

   carregarcombo()

 End Sub

e a segunda combo quando seleciono algo na primeira

 Private Sub cbocategoria_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbocategoria.SelectedIndexChanged
   carregarprodutos()
 End Sub

agora vem o erro

 

An unhandled exception of type 'System.FormatException' occurred in system.data.dll

 

Additional information: Index (zero based) must be greater than or equal to zero and less than the size of the argument list.

 

 

 

Obs.: ha produtos cadastrados na tabela.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal,

após algumas tentativas mudei de

 

SelectedIndexChanged para SelectionChangeCommitted aí funcionou populou a segunda combo.

 

Obrigado pela ajuda

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.