Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

carlos.veras

combobox não funciona com procedure em acess

Recommended Posts

galera.. sou :( novato e estou pratic. com uma apostila da net.. estou com o seguinte problema abaixo.o módulo biblio.basPublic cnnBiblio As New ADODB.ConnectionDim NomeCombo As StringPublic Sub ComboEditoras(NomeCombo As ComboBox) Dim cnnComando As New ADODB.Command Dim rsTemp As New ADODB.Recordset Dim i As Integer On Error GoTo errComboEditoras 'Executa a consulta EditorasEmOrdemAlfabetica: With cnnComando .ActiveConnection = cnnBiblio .CommandType = adCmdStoredProc .CommandText = "EditorasEmOrdemAlfabetica" Set rsTemp = .Execute End With With rsTemp'Verifica se existe alguma editora cadastrada: If Not (.EOF And .BOF) Then'Se existe, então posiciona o apontador no primeiro registro do rs: .MoveFirst'Inicializa a variável i que será usada como índice para a'propriedade ItemData: i = 0 While Not .EOF'Adiciona um item à combo com o nome da editora: NomeCombo.AddItem !Descrição, i'Grava na propriedade ItemData desse o código da editora: NomeCombo.ItemData(i) = !Código'Vai para o próximo registro do rs: .MoveNext'Incrementa i: i = i + 1 Wend End If End WithSaida: Set cnnComando = Nothing Set rsTemp = Nothing Exit SuberrComboEditoras: With Err If .Number <> 0 Then MsgBox "Não foi possível a leitura da tabela de Editoras:"' MsgBox "Não foi possível a leitura da tabela de Editoras:", _' , vbInformation + vbOKOnly + vbApplicationModal, _' "Erro ao carregar ComboBox"' .Number = 0 GoTo Saida End If End WithEnd Subo form cadlivros:Private Sub Form_Load() Me.Left = (frmBiblio.ScaleWidth - Me.Width) / 2 Me.Top = (frmBiblio.Height - Me.Height) / 2'Inicializa as variáveis auxiliares: vCodEditora = 0 vCodCategoria = 0 vAcompCD = False vAcompDisquete = False vIdioma = 0'Chama a procedure ComboEditoras e passa a combo cboEditora como'parâmetro: ComboEditoras cboEditora'O mesmo para cboCategorias: ComboCategorias cboCategoria'Garante que nenhum item esteja selecionado nas combos: cboEditora.ListIndex = -1 cboCategoria.ListIndex = -1End Sube a consulta editorasemordemalfabetica:SELECT Editoras.CodEditora, Editoras.NomeEditoraFROM EditorasORDER BY Editoras.NomeEditora;nao roda... da erro de NAO FOI POSSIVEL A LEITURA DA TABELA DE EDITORAS... o que pode estar errado ?desde ja muito obrigado a todos do forum...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Em que linha q da o erro ????

ele passa por aqui normalmente////////////On Error GoTo errComboEditoras'Executa a consulta EditorasEmOrdemAlfabetica:With cnnComando.ActiveConnection = cnnBiblio.CommandType = adCmdStoredProc.CommandText = "EditorasEmOrdemAlfabetica"Set rsTemp = .ExecuteEnd With///////////////////////e depois pula para ca f .Number <> 0 ThenMsgBox "Não foi possível a leitura da tabela de Editoras:"' MsgBox "Não foi possível a leitura da tabela de Editoras:", _' , vbInformation + vbOKOnly + vbApplicationModal, _' "Erro ao carregar ComboBox"' .Number = 0GoTo SaidaEnd If/// sendo o erro (.number) -2147217900 brigado desde ja....

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para saber mais precisamente onde está ocorrendo erro e qual a mensagem original, torne comentário a linha:

On Error GoTo errComboEditoras

E outra coisa, você está declarando uma variável no módulo:

Dim NomeCombo As String
Mas está usando uma "outra" variavel com o mesmo nome como parâmetro para uma rotina:

Public Sub ComboEditoras(NomeCombo As ComboBox)
Mude uma das duas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.