Vídeo recomendado
https://youtu.be/diWPPPhW-9E

Variavél Não definida

Fórum para dúvidas sobre os fundamentos da linguagem de programação Visual Basic no contexto do VBA
joocta
Colaborador
Colaborador
Mensagens: 15
Registrado em: Qua Jan 09, 2013 7:23 pm

Variavél Não definida

Mensagem por joocta »

Boa meus amigos,
aos poucos estou conseguindo fazer as adaptações, fazendo pesquisas, ativando algumas bibliotecas.
Me deparei com esse erro estou pesquisando, vi varias explicações, mas ainda não consegui encontrar o erro:

A Variavél do objeto ou a variavél do bloco with não foi definida 91
VBA Project.


Fazendo a depuração vi que a variavel indiceTemp não esta recebendo o valor de cboOrdenarPor.ListIndex, fazendo com que fique com o Valor=0.
O que esta dando errado? o campo que pego é um codigo de catalogo que nao é numerado automaticamente e esta na terceira coluna, o que esta na versão original e o da primeira coluna.




Private Sub PopulaListBox(ByVal Codigo As String, _
ByVal Periodo As String, _
ByVal Padrao As String, _
ByVal Metal As String, _
ByVal Ano As String)

On Error GoTo TrataErro

Dim rst As ADODB.Recordset
Dim campo As Field
Dim myArray() As Variant
Dim i As Integer
Dim li As ListItem, fld As Field, ch As ColumnHeader

Dim Column As Long
Dim Counter As Long
Counter = 0

Set rst = PreecheRecordSet(Codigo, Periodo, Padrao, Metal, Ano)

'preenche o combobox com os nomes dos campos
'persiste o índice
Dim indiceTemp As Long
indiceTemp= cboOrdenarPor.ListIndex
cboOrdenarPor.Clear
For Each campo In rst.Fields
cboOrdenarPor.AddItem campo.Name
Next
'recupera o índice selecionado
cboOrdenarPor.ListIndex = indiceTemp

'Colunas a Preencher Inicia na Primeira
For i = 2 To rst.Fields.Count - 1 'For i = 1 : a partir da 2ª coluna
Set ch = lstLista.ColumnHeaders.Add(, , rst.Fields(i).Name)
'ch.Width = 48 'Define o Tamanho de Todas as COLUNAS
'MsgBox rst.Fields(i).Name
Next

'Clear the Column Headers
lstLista.ListItems.Clear

'coloca as linhas do RecordSet num Array, se houver linhas neste
If Not rst.BOF Then
Do While Not rst.EOF

'Preenche o LISTVIEW a partir da 2ª Coluna
Set li = lstLista.ListItems.Add(, "k" & rst.Fields(0), CheckNull(rst.Fields(1)))
'Fill in the rest of the columns
For i = 2 To rst.Fields.Count - 1
li.SubItems(i - 1) = CheckNull(rst.Fields(i))

'Preenche o LISTVIEW a partir da 1ª Coluna
' Set li = lstLista.ListItems.Add(, "k" & rst.Fields(0), CheckNull(rst.Fields(0)))
'Fill in the rest of the columns
' For i = 1 To rst.Fields.Count - 1
' li.SubItems(i) = CheckNull(rst.Fields(i))
Next

rst.MoveNext 'Move to next record
Loop

'Define os Tamanhos das colunas automaticamente
Call TamanhoColAutomatico

End If
'atualiza o label de mensagens
If rst.RecordCount <= 0 Then
lblMensagens.Caption = rst.RecordCount & " registros encontrados"
Else
lblMensagens.Caption = rst.RecordCount & " registros encontrados"
End If


Exit Sub

' Fecha o conjunto de registros.
Set rst = Nothing
' Fecha a conexão.
'conn.Close

TrataSaida:
Exit Sub
TrataErro:
Debug.Print Err.Description & vbNewLine & Err.Number & vbNewLine & Err.Source
MsgBox Err.Description & vbNewLine & Err.Number & vbNewLine & Err.Source
Resume TrataSaida
End Sub

Private Sub TamanhoColAutomatico()
Dim Column As Long
Dim Counter As Long
Counter = 0
For Column = Counter To lstLista.ColumnHeaders.Count - 2
SendMessage lstLista.hWnd, LVM_SETCOLUMNWIDTH, Column, LVSCW_AUTOSIZE_USEHEADER
Next
End Sub


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


joocta
Colaborador
Colaborador
Mensagens: 15
Registrado em: Qua Jan 09, 2013 7:23 pm

Re: Variavél Não definida

Mensagem por joocta »

Galera estou enviando a parte que esta dando problema... Não estou conseguindo.
Alguém pode ajudar?
Anexos
Teste.zip
(2.94 MiB) Baixado 347 vezes


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Variavél Não definida

Mensagem por Reinaldo »

Somente parte de seu arquivo fica praticamente impossivel determinar/corrigir a origem do erro. Note que o frmCadastro e parte integrante desse arquivo, e a partir dele que a pesquisa e acionada.
Cross: http://www.planilhando.com.br/forum/vie ... 10&t=22633


joocta
Colaborador
Colaborador
Mensagens: 15
Registrado em: Qua Jan 09, 2013 7:23 pm

Re: Variavél Não definida

Mensagem por joocta »

Alterado meu amigo...
Espero que ajude. Preciso encontrar esse erro.
Anexos
Teste2.zip
(171.71 KiB) Baixado 349 vezes


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


joocta
Colaborador
Colaborador
Mensagens: 15
Registrado em: Qua Jan 09, 2013 7:23 pm

Re: Variavél Não definida

Mensagem por joocta »

Será que esse erro nao tem solução?


Avatar do usuário
Reinaldo
Jedi
Jedi
Mensagens: 1537
Registrado em: Sex Ago 01, 2014 4:09 pm
Localização: Garça - SP / SCS - SP

Re: Variavél Não definida

Mensagem por Reinaldo »

Seu modelo apresenta de imediato dois erros simples:
Na rotina exportar uma referencia a um campo que teve sua nomenclatura alterada para txtMetal.
Na Function PreecheRecordSet, uma referencia a base Fornecedores$, que teve sua nomenclatura alterada para BD$.
Afora isso, e inibindo as mensagens de tratamento de erro; está apresentando um erro ao finalizar (ou tentar finalizar) a Function PreecheRecordSet: Erro 13 "Tipos Incompatíveis". O qual não consegui, ainda, determonar o motivo.


joocta
Colaborador
Colaborador
Mensagens: 15
Registrado em: Qua Jan 09, 2013 7:23 pm

Re: Variavél Não definida

Mensagem por joocta »

Reinaldo,
sim eu vi.
Troquei, o txtConservacao na verdade é txtMetal,

mas o erro que falo continua e ele esta dando na linha da Populalistbox:

For Each campo In rst.Fields

Me desculpe... Mas tento aprender com voces...

Joocta.
Anexos
Teste2.zip
(160.01 KiB) Baixado 326 vezes


Avatar do usuário
Mauro Coutinho
Jedi
Jedi
Mensagens: 1561
Registrado em: Sáb Mar 13, 2010 8:10 pm
Localização: São José dos Pinhais - Pr

Re: Variavél Não definida

Mensagem por Mauro Coutinho »

Joocta, postei uma resposta no forum abaixo, veja se é isto.
Procure sempre indicar os forum em que postou a mesma duvida e se foi resolvido informe em todos a solução aplicada, assim não ficam com tópicos em aberto pensando que ainda não foi solucionado.

http://www.planilhando.com.br/forum/vie ... 3&start=10

[]s


joocta
Colaborador
Colaborador
Mensagens: 15
Registrado em: Qua Jan 09, 2013 7:23 pm

Re: Variavél Não definida (RESOLVIDO)

Mensagem por joocta »

Obrigado por tudo amigo Mauro, deu certo.


Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


Responder