Ir para conteúdo
Fórum Script Brasil
  • 0

CONSULTA E ALTERAÇÃO


DANYY

Pergunta

Bom dia, como proceder para criar uma rotina de consulta?

No formulario do VB6 coloquei dois textbox onde o primeiro deve representar o codigo e o outro a descrição. Tenho uma planilha no excel onde tenho um cadastro de contas que na coluna A esta informado os codigos e na coluna B suas respectivas descrições. Preciso criar uma rotina em que ao digitar o codigo no textbox1 no textbox2 apareça a descrição do codigo informado e na planilha seja selecionado a linha com contem essas informações. Fiz umas pesquisas na net e localizei o seguinte codigo para exibir o conteudo da celula no textbox:

me.text1 = activecell

Mais como fazer que ao digitar o codigo no textbox esse seja localizado na planilha retornando os valores corretos? então pensei em utilizar o localizar do excel para achar na planilha o valor digitado no textbox1, então fiz o seguinte codigo:

Dim xlw As Excel.Workbook

Dim xl As New Excel.Application

Dim pesquisa As Range

Dim codigo As String

Private Sub LerDados_Click()

codigo = Text1.Text

Set xlw = xl.Workbooks.Open("C:\ARTESP\1146 BASE DE DADOS.XLSX")

xlw.Application.Visible = False

xlw.Sheets("1146").Select

Set pesquisa = Selection.Find(What:=codigo, After:=ActiveCell, LookIn:=xlFormulas, LookAt _

:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _

False, SearchFormat:=False)

If pesquisa Is Nothing Then

MsgBox "Conta não Cadastrada!", vbCritical, "Atenção"

xlw.Close False

Text1.Text = ""

Text2.Text = ""

Text1.SetFocus

Exit Sub

Else

Me.Text1.Text = ActiveCell.Value

Me.Text2.Text = ActiveCell.Offset(0, 1).Value

End If

xlw.Close False

End Sub

Com esse codigo ao invés de ele retornar no textbox1 e 2 o valor das celulas do que foi localizado esta retornando somente os valores da primeira linha da plahilha.

Editado por DANYY
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Consegui fazer a consulta das informacoes de acordo com que eu queria com o seguinte codigo:

Private Sub LerDados_Click()

sim = vbYes

Set xlw = xl.Workbooks.Open("C:\ARTESP\1146 BASE DE DADOS.XLSX")

xlw.Application.Visible = False

Text2.Enabled = False

Text3.Enabled = False

Sheets("1146").Select

Application.Goto REFERENCE:="CadastroContas"

Do While ActiveCell.Value <> ""

If Text1.Text = ActiveCell.Value Then

Me.Text1.Text = ActiveCell.Value

Me.Text2.Text = ActiveCell.Offset(0, 1).Value

Me.Text3.Text = ActiveCell.Offset(0, 2).Value

End If

ActiveCell.Offset(1, 0).Select

Loop

Text1.Enabled = False

MsgBox "Deseja Alterar os Dados Consultados?", vbYesNo, "Alteração"

If sim Then

Text2.Enabled = True

Text3.Enabled = True

Command1.Enabled = True

Else

Text2.Enabled = False

Text3.Enabled = False

xlw.Close False

Exit Sub

End If

Agora estou com mais duas duvidas se o usuario responde sim tudo bem, mais se responde não o else não esta funcionando não sei porque. Outra duvida que me restou foi no codigo do botao ALTERACAO, inclui o seguinte codigo para o botao alterar:

Private Sub Command1_Click()

Application.Goto REFERENCE:="CadastroContas"

Do While ActiveCell.Value <> ""

If ActiveCell.Value = Text1.Text Then

ActiveCell.Offset(0, 1).Value = Text2.Text

ActiveCell.Offset(0, 2).Value = Text3.Text

MsgBox "Alteração Efetuado com Sucesso!", vbInformation, "Atenção"

Text1.Text = ""

Text2.Text = ""

Text3.Text = ""

xlw.Close True

End If

ActiveCell.Offset(1, 0).Select

Loop

end Sub

Esta funcionando corretamente pois ele altera a linha correta na planilha e salva tudo certinho mais depois de executar todos os procedimentos aparece o erro: RUN TIME ERROR 91: OBJECT VARIABLE OR WHIT BLOCK VARIABLE NOT SET

E o erro aparece na minha - ActiveCell.Offset(1,0).select

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...