Ir para conteúdo
Fórum Script Brasil
  • 0

ComboBox + ListView


Guest Juliana Andrade

Pergunta

Guest Juliana Andrade

Olá pessoal,

estou criando um formulario simples, onde tenho uma combobox, uma listview e um botao ler.

Tenho no banco de dados tres tabelas : Cliente, Produto, Fornecedor.

As tres estão listadas na combobox.

Preciso que quando eu clicar no botão ler, apareça na listview os dados referentes a tabela que foi selecionada no combobox...

aki esta o meu código, os nomes da tabela estão inseridos na combo, mas o botão da erro quando clicado. Se puderem me ajudar...

Dim RS As ADODB.Recordset

Dim cn As ADODB.Connection

Private Sub cboSelecione_Click()

'abre o recordset da tabela desejada

Select Case cboSelecione.ListIndex

Case 1

Set RS = New ADODB.Recordset

RS.Open "select * from tabCliente", cn, adOpenStatic, adLockReadOnly

'RS.Close

Case 2

Set RS = New ADODB.Recordset

RS.Open "select * from tabProduto", cn, adOpenStatic, adLockReadOnly

'RS.Close

Case 3

Set RS = New ADODB.Recordset

RS.Open "select * from tabFornecedor", cn, adOpenStatic, adLockReadOnly

'RS.Close

End Select

End Sub

Private Sub cmdLer_Click()

If cboSelecione_Click(1) Then

Dim OBJ As ListItem

'Set RS = New ADODB.Recordset

'RS.Open "select * from tabCliente", cn, adOpenStatic, adLockReadOnly

lswTabela.ListItems.Clear

Do While Not RS.EOF

Set OBJ = lswTabela.ListItems.Add(, , RS!IDCli, 1, 1)

OBJ.ListSubItems.Add , , RS!Nome

OBJ.ListSubItems.Add , , RS!Endereço

OBJ.ListSubItems.Add , , RS!Telefone, 2

OBJ.Tag = RS!IDCli

RS.MoveNext

Loop

ElseIf cboSelecione_Click(2) Then

Dim Objeto As ListItem

'Set RS = New ADODB.Recordset

'RS.Open "select * from tabProduto", cn, adOpenStatic, adLockReadOnly

lswTabela.ListItems.Clear

Do While Not RS.EOF

Set Objeto = lswTabela.ListItems.Add(, , RS!IDProduto, 1, 1)

OBJ.ListSubItems.Add , , RS!Nome

OBJ.ListSubItems.Add , , RS!Quantidade, 1, 1, 1

OBJ.ListSubItems.Add , , RS!IDFornecedor, 1, 1

OBJ.Tag = RS!IDProduto

RS.MoveNext

Loop

ElseIf cboSelecione_Click(3) Then

Dim lstObjeto As ListItem

'Set RS = New ADODB.Recordset

'RS.Open "select * from tabFornecedor", cn, adOpenStatic, adLockReadOnly

lswTabela.ListItems.Clear

Do While Not RS.EOF

Set lstObjeto = lswTabela.ListItems.Add(, , RS!IDFornecedor, 1, 1)

lstObjeto.ListSubItems.Add , , RS!Nome

lstObjeto.ListSubItems.Add , , RS!Endereço

lstObjeto.ListSubItems.Add , , RS!IDProduto, 1, 1

lstObjto.ListSubItems.Add , , RS!Telefone, 2

lstObjeto.Tag = RS!IDFornecedor

RS.MoveNext

Loop

End If

End Sub

Private Sub Form_Load()

' variavel de conexão

Set cn = New ADODB.Connection

cn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=SA;Initial Catalog=teste;Data Source=STTSPLAB00"

'adicionando os nomes para aparecer na lista do combobox

cboSelecione.AddItem "Cliente"

cboSelecione.AddItem "Produto"

cboSelecione.AddItem "Fornecedor"

End Sub

o erro é o seguinte:

Wrong number of arguments or invalid property assignment

Obrigada.

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Guest Juliana Andrade

Pessoal mudei o código um pouco, mas continua dando outro erro...

Dim RS As ADODB.Recordset

Dim cn As ADODB.Connection

Private Sub cmdLer_Click()

If cboSelecione = "Cliente" Then

Set RS = New ADODB.Recordset

RS.Open "select * from tabCliente", cn, adOpenStatic, adLockReadOnly

lswTabela.ListItems.Clear

Do While Not RS.EOF

Dim OBJ As ListItem

Set OBJ = lswTabela.ListItems.Add(, , RS!IDCli, 1, 1)

OBJ.ListSubItems.Add , , RS!Nome

OBJ.ListSubItems.Add , , RS!Endereço

OBJ.ListSubItems.Add , , RS!Telefone, 2

OBJ.Tag = RS!IDCli

RS.MoveNext

RS.Close

OBJ = ""

Loop

ElseIf cboSelecione = "Produto" Then

Set RS = New ADODB.Recordset

RS.Open "select * from tabProduto", cn, adOpenStatic, adLockReadOnly

lswTabela.ListItems.Clear

Do While Not RS.EOF

Dim Objeto As ListItem

Set Objeto = lswTabela.ListItems.Add(, , RS!IDProduto, 1, 1)

Objeto.ListSubItems.Add , , RS!Nome

Objeto.ListSubItems.Add , , RS!Quantidade

Objeto.ListSubItems.Add , , RS!IDFornecedor, 1, 1

Objeto.Tag = RS!IDProduto

RS.MoveNext

RS.Close

Objeto = ""

Loop

ElseIf cboSelecione = "Fronecedor" Then

Set RS = New ADODB.Recordset

RS.Open "select * from tabFornecedor", cn, adOpenStatic, adLockReadOnly

lswTabela.ListItems.Clear

Do While Not RS.EOF

Dim lstObjeto As ListItem

Set lstObjeto = lswTabela.ListItems.Add(, , RS!IDFornecedor, 1, 1)

lstObjeto.ListSubItems.Add , , RS!Nome

lstObjeto.ListSubItems.Add , , RS!Endereço

lstObjeto.ListSubItems.Add , , RS!IDProduto, 1, 1

lstObjto.ListSubItems.Add , , RS!Telefone, 2

lstObjeto.Tag = RS!IDFornecedor

RS.MoveNext

RS.Close

lstObjeto = ""

Loop

End If

End Sub

Private Sub Form_Load()

' variavel de conexão

Set cn = New ADODB.Connection

cn.Open "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=SA;Initial Catalog=teste;Data Source=STTSPLAB00"

'adicionando os nomes para aparecer na lista do combobox

cboSelecione.AddItem "Cliente"

cboSelecione.AddItem "Produto"

cboSelecione.AddItem "Fornecedor"

End Sub

agora os dados do que é selecionado primeiro não mudam se selecionar o segundo.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...