Guest Juliana Andrade Postado Julho 17, 2008 Denunciar Share Postado Julho 17, 2008 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.RecordsetDim 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) ThenDim 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 LoopElseIf cboSelecione_Click(2) ThenDim 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 LoopElseIf cboSelecione_Click(3) ThenDim 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 LoopEnd IfEnd SubPrivate 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 Subo erro é o seguinte:Wrong number of arguments or invalid property assignmentObrigada. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Juliana Andrade Postado Julho 17, 2008 Denunciar Share Postado Julho 17, 2008 Pessoal mudei o código um pouco, mas continua dando outro erro...Dim RS As ADODB.RecordsetDim cn As ADODB.ConnectionPrivate Sub cmdLer_Click()If cboSelecione = "Cliente" ThenSet 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 = "" LoopElseIf cboSelecione = "Produto" ThenSet 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 = "" LoopElseIf cboSelecione = "Fronecedor" ThenSet 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 = "" LoopEnd IfEnd SubPrivate 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 Subagora os dados do que é selecionado primeiro não mudam se selecionar o segundo. Citar Link para o comentário Compartilhar em outros sites More sharing options...
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
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.