ERRO 3265 QNDO SELECIONO UM ITEM DE UMA COMBO....

RPMARQUES 02/02/2011 10:15:53
#364091
gurizda...volto aqui pq ñ to achando onde ta o erro...

seguinte....tenho um cadastro de clientes bem simples...e tenho um cadastro de cidades tb...
eu carrego o cadastro de cidades num combo...até ai ta tranquilo....
mas qndo eu seleciono a cidade no combo ele da esse maldito erro...
ñ sei onde to errando ...alguém pode me dar uma luz...
vou por aqui as rotinas pra abrir as tabelas...a que preenche o combo...e a que esta dando o erro...

ROTINA PARA ABRIR AS TABELAS
Private Sub ABRE_TABELA()
[ô]Abre a tabela, carrega o valor do código e limpa campos
Set RsCli = New ADODB.Recordset
RsCli.Open [Ô]SELECT * FROM CLIENTE[Ô], CNN, adOpenDynamic, adLockOptimistic [ô](prefiro usar o adLockOptimistc)
Set RsCid = New ADODB.Recordset
RsCid.Open [Ô]SELECT * FROM CIDADES[Ô], CNN, adOpenDynamic, adLockOptimistic

Call LIMPA_FORM

If RsCli.RecordCount = 0 Then
wCodCli = 1
Else
wCodCli = RsCli!CODCLI + 1
End If

End Sub



[ô]CARREGA NO CMBCIDADES AS CIDADES CADSTRADAS NO SISTEMA
RsCid.MoveFirst
Do While Not RsCid.EOF
Me.cmbCidade.AddItem RsCid!NOME
RsCid.MoveNext
Loop


ONDE ESTA DANDO O MALDITO ERRO...
Private Sub cmbCidade_Click()

[ô]# VER PQ TA DANDO ERRO
On Error GoTo erro


If Me.cmbCidade.Text = RsCid.Fields(NOME) Then
wCodCid = RsCid.Fields(CODCID)
End If

erro:
MsgBox [Ô]Erro reportado: [Ô] & vbNewLine & _
Err.Number & vbNewLine & _
Err.Description & vbNewLine & _
Err.Source, vbExclamation, [Ô]ATENÇÃO[Ô]

End Sub


se alguém ai puder me ajudar...abradeço...abração a todos...
HIDDEN 02/02/2011 10:35:21
#364093
A menos que NOME e CODCID sejam variaveis numericas, o erro está na falta das aspas:

If Me.cmbCidade.Text = RsCid.Fields([Ô]NOME[Ô]) Then
wCodCid = RsCid.Fields([Ô]CODCID[Ô])
End If


Faltou as aspas.
HIDDEN 02/02/2011 10:37:11
#364094
Correção: faltaram
RPMARQUES 02/02/2011 14:08:42
#364130
wCodCid é uma variável integer ...
e o campo NOME é um varchar no banco...
e o campo codcid é integer no banco....

colocando as aspas no nome ele da o erro 3021....

If Me.cmbCidade.Text = RsCid.Fields([Ô]NOME[Ô]) Then
wCodCid = RsCid.Fields(CODCID)
End If

uso firebird....
CHARLESTON10 02/02/2011 14:25:07
#364133
Resposta escolhida
rsCid.close
RsCid.Open [Ô]SELECT * FROM CIDADES WHERE NOME=[ô][Ô] & cmbCidade.text & [Ô][ô][Ô], CNN, adOpenDynamic, adLockOptimistic

If Me.cmbCidade.Text = RsCid.Fields(NOME) Then
wCodCid = RsCid.Fields(CODCID)
End If

rsCid.close
JLAUROSOUZA 02/02/2011 15:41:26
#364141
Esse Erro é comum!!!
Este Erro ocorre com se fosse uma consulta CASE SENSITIVE, Mesmo Sabendo q o VB6 naum é CASE SENSITIVE, as vezes um comendo para o DB é CASE SENSITIVE, Observe se o nome q esta no campo da tabela do seu Banco de dados esta da mesmo forma no camando, tipo: se esta todo maiúsculo ou minúsculo, ou variado, e coloque da mesmo forma q estive no banco no seu comando, e veja o que acontece!!!

Espero ter Ajudado!!!
RPMARQUES 02/02/2011 16:18:07
#364147
cara...estão todas em maíusculas....
JLAUROSOUZA 02/02/2011 16:39:28
#364148
Amigo MARQUES,

Quando acontece este erro 3265 comigo ou é pelo caso do CASE SENSITIVE q te falei ou pq naum existe o nome referenciado na tabela do Banco, séra q no momento q vc consulta ele esta por algum motivo fechando a conexão do a tabela e por isso ocorre o erro?

Bem, neste caso é só uma opnião mesmo, mais se eu fosse vc eu tentaria apagar toda a codificação onde esta ocorrendo o erro e faze-la novamente, sei q é um trabalho aparentimente sem nexo mais vai q da certo!!!

Boa sorte!!!, estamos aki para ajudar!!!
RPMARQUES 02/02/2011 17:01:01
#364150
caras...sabe o que era...coloquei aquele open ali que o charleston passou...e dai ele começou a dar o erro nro 0....
dai depois eu tirei o meu on error goto erro e dai funcionou beleza...

agora funcionou...obrigado a todos que me ajudaram....
Tópico encerrado , respostas não são mais permitidas