ERRO AO CARREGADOR COMBO REPENTINO
Preencho meu combo com o seguinte codigo:
na linha:
cboDescricao.ItemData(cboDescricao.NewIndex) = r([Ô]codigo[Ô])
dar o seguinte erro:
Invalid property array index (Error 381)
O que é mais estranho, em outros banco de dados nao dar erro... já olhei a estrutura da tabela e os dados... e estão OK
O que poderia ser essa mensagem de erro?
Sub PreencheProdutos()
Dim sSQL As String
Dim r As ADODB.Recordset
Dim var_cboTexto As String
sSQL = [Ô]SELECT DISTINCT descricao, codigo, fabricante, tamanho FROM produtos ORDER BY descricao;[Ô]
Set r = dbData.OpenRecordset(sSQL)
If cboDescricao.Text <> [Ô][Ô] Then var_cboTexto = cboDescricao.Text
cboDescricao.Clear
cboDescricao.Text = var_cboTexto
Do While Not r.EOF
If tipoEmpresa = 4 Then
cboDescricao.AddItem ValidateNull(r([Ô]descricao[Ô])) & [Ô] / [Ô] & ValidateNull(r([Ô]tamanho[Ô])) & [Ô] / [Ô] & ValidateNull(r([Ô]fabricante[Ô]))
Else
cboDescricao.AddItem ValidateNull(r([Ô]descricao[Ô]))
End If
cboDescricao.ItemData(cboDescricao.NewIndex) = r([Ô]codigo[Ô])
r.MoveNext
Loop
If r.State <> 0 Then r.Close
Set r = Nothing
End Sub
na linha:
cboDescricao.ItemData(cboDescricao.NewIndex) = r([Ô]codigo[Ô])
dar o seguinte erro:
Invalid property array index (Error 381)
O que é mais estranho, em outros banco de dados nao dar erro... já olhei a estrutura da tabela e os dados... e estão OK
O que poderia ser essa mensagem de erro?
tente alterar isto
cboDescricao.ItemData(cboDescricao.NewIndex) =[txt-color=#0000f0] CInt([/txt-color]r([Ô]codigo[Ô])[txt-color=#0000f0])[/txt-color]
cboDescricao.ItemData(cboDescricao.NewIndex) =[txt-color=#0000f0] CInt([/txt-color]r([Ô]codigo[Ô])[txt-color=#0000f0])[/txt-color]
Citação::
tente alterar isto
cboDescricao.ItemData(cboDescricao.NewIndex) =[txt-color=#0000f0] CInt([/txt-color]r([Ô]codigo[Ô])[txt-color=#0000f0])[/txt-color]
dar o erro overflow
Em primeiro lugar mostre como esta abrindo seu banco de dados.
Dim sSQL As String
Dim r As ADODB.Recordset [ô] [txt-color=#e80000]Isto aqui é Ado[/txt-color] Dim var_cboTexto As String
sSQL = [Ô]SELECT DISTINCT descricao, codigo, fabricante, tamanho FROM produtos ORDER BY descricao;[Ô]
Set r = dbData.OpenRecordset(sSQL) [ô] [txt-color=#e80000]Isto é Dao[/txt-color]Não vai dar certo
Dim sSQL As String
Dim r As ADODB.Recordset [ô] [txt-color=#e80000]Isto aqui é Ado[/txt-color] Dim var_cboTexto As String
sSQL = [Ô]SELECT DISTINCT descricao, codigo, fabricante, tamanho FROM produtos ORDER BY descricao;[Ô]
Set r = dbData.OpenRecordset(sSQL) [ô] [txt-color=#e80000]Isto é Dao[/txt-color]Não vai dar certo
Estou usando um banco de dado SQL Server
qual é o numero que esta armazenado no banco, pois o overlow se dara quando o campo código armazenar um numero tipo 24567890309
o campo codigo possui 33.000 registro que vai do 1 até 33000
e o campo descrição somente texto...
e o campo descrição somente texto...
Webier, a lista só comporta 32767 itens que é o tamanho de um Integer.
Você terá de criar um filtro para listar uma quantidade menor. Não tem outra saÃda.
Abraços,
Você terá de criar um filtro para listar uma quantidade menor. Não tem outra saÃda.
Abraços,
é isso mesmo você está preenchendo o combo com 33.000 registros?
Tópico encerrado , respostas não são mais permitidas