MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    Popular Formulário com dados de um banco externo

    Compartilhe

    RodrigoImamura
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 19/06/2017

    Popular Formulário com dados de um banco externo

    Mensagem  RodrigoImamura em Seg 19 Jun 2017, 22:33

    Boa tarde! Pessoal sou iniciante e estou procurando uma solução para exibir ao usuário qualquer quantidade de registros, consegui popular um listbox, mas não exibe todos os registros. Gostaria de ajuda para popular um Formulário, visto que o limite de dados é maior, mas não sei nada sobre como popular o Formulário com o Select abaixo.

    É Preciso configurar o formulário de forma diferente?

    É preciso habilitar alguma biblioteca?



    Sub Dados_Relatorio()

    Dim contador As Long

    Dim rs As DAO.Recordset
    Dim db As DAO.Database

    Set db = OpenDatabase("P:\SUPORTE\Registros\GERAL.mdb")
    Set rs = Nothing

    Dim SQL As String
    SQL = "SELECT * from GERAL where GERAL.CPF <> '' "

    Set rs = db.OpenRecordset(SQL)

    'formulario =FormRelatorio2
    'listbox= Lista_CPF


    If rs.RecordCount > 0 Then
     
      Form_FormRelatorio2.Lista_CPF = ""
      Form_FormRelatorio2.Lista_CPF.RowSource = ""
      Form_FormRelatorio2.Lista_CPF.RowSourceType = "value list"
     
      'Quantidade de Colunas
      Form_FormRelatorio2.Lista_CPF.ColumnCount = "4"
     
      'Tamanho das colunas
      Form_FormRelatorio2.Lista_CPF.ColumnWidths = "3 cm ; 3 cm; 2 cm; 1 cm"
     
      'Titulo
      Form_FormRelatorio2.Lista_CPF.AddItem Item:="'IDENTIFI';'CPF' ;'SALDO' ; 'Contador'", Index:=0
         
     
      contador = 0
      Do While Not rs.EOF

         contador = contador + 1
         Form_FormRelatorio2.Lista_CPF.AddItem rs!IDENTIFI & ";" & rs!CPF & ";" & Right("          " & rs!SALDO_DEVEDOR, 10) & ";" & contador
     
     
      rs.MoveNext
      Loop
     
      Form_FormRelatorio2.Lista_CPF.AddItem "Qtd.: " & contador
     
    End If


    rs.Close
    Set rs = Nothing
    db.Close


    End Sub
    avatar
    philipp.moreira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 256
    Registrado : 05/02/2016

    Re: Popular Formulário com dados de um banco externo

    Mensagem  philipp.moreira em Seg 19 Jun 2017, 23:33

    Rodrigo, boa noite!

    Eu rodei um teste aqui e um listbox preencheu somente 6771 linhas. Sua carga de dados supera esse valor?

    RodrigoImamura
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 19/06/2017

    Re: Popular Formulário com dados de um banco externo

    Mensagem  RodrigoImamura em Seg 19 Jun 2017, 23:53

    Sim, aproximadamente 50.000 registros
    avatar
    philipp.moreira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 256
    Registrado : 05/02/2016

    Re: Popular Formulário com dados de um banco externo

    Mensagem  philipp.moreira em Ter 20 Jun 2017, 00:07

    Porque você quer trabalhar com listbox e não com formulário vinculado a tabela?

    RodrigoImamura
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 19/06/2017

    Re: Popular Formulário com dados de um banco externo

    Mensagem  RodrigoImamura em Qua 21 Jun 2017, 19:29

    É isso, eu preciso de orientação para popular um formulário com dados de um banco externo.

    Obrigado
    avatar
    philipp.moreira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 256
    Registrado : 05/02/2016

    Re: Popular Formulário com dados de um banco externo

    Mensagem  philipp.moreira em Qua 21 Jun 2017, 22:22

    Rodrigo, com isto resolveu sua necessidade?
    Se resolveu, por favor, assinale o tópico como resolvido.

    RodrigoImamura
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 19/06/2017

    Re: Popular Formulário com dados de um banco externo

    Mensagem  RodrigoImamura em Qui 22 Jun 2017, 18:49

    Phillip, não resolveu.

    Como eu faço para configurar e popular um form com dados externos?


    Obrigado
    avatar
    philipp.moreira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 256
    Registrado : 05/02/2016

    Re: Popular Formulário com dados de um banco externo

    Mensagem  philipp.moreira em Sex 23 Jun 2017, 21:55

    Qual seu objetivo ? montar uma aplicação para controlar o que?
    Quando você fala dados externos. De onde irão vir estes dados? Inseridos por usuário? De um arquivo txt? De um arquivo Excel? De outro banco access? De um banco SQL Server?

    Tente fornecer mais informações pois assim fica mais fácil de tentarmos fornecer orientações de como pode estruturar sua aplicação.

    RodrigoImamura
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 19/06/2017

    Re: Popular Formulário com dados de um banco externo

    Mensagem  RodrigoImamura em Sex 23 Jun 2017, 23:55

    Gostaria de popular o Form com o Select abaixo:


    Dim rs As DAO.Recordset
    Dim db As DAO.Database

    Set db = OpenDatabase("P:\SUPORTE\Registros\GERAL.mdb")
    Set rs = Nothing

    Dim SQL As String
    SQL = "SELECT * from GERAL where GERAL.CPF <> '' "

    Set rs = db.OpenRecordset(SQL)
    avatar
    philipp.moreira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 256
    Registrado : 05/02/2016

    Re: Popular Formulário com dados de um banco externo

    Mensagem  philipp.moreira em Sab 24 Jun 2017, 06:55

    Nas propriedades do formulário no modo de visão de design altere a propriedade modo padrão para Folha de dados.
    Inclua no seu código a seguinte linha:

    Código:

    Set [Nome do seu formulário].Recordset = rs

    RodrigoImamura
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 19/06/2017

    Re: Popular Formulário com dados de um banco externo

    Mensagem  RodrigoImamura em Seg 26 Jun 2017, 19:11

    Coloquei Modo Padrão em Folha de dados

    1-Coloquei a linha dentro do IF para verificar se existem dados, ele entra no IF, executa o código sem erros mas o Form continua em branco.


    Dim rs As DAO.Recordset
    Dim db As DAO.Database

    Set db = OpenDatabase("P:\SUPORTE\Registros\GERAL.mdb")
    Set rs = Nothing

    Dim SQL As String
    SQL = "SELECT * from GERAL where GERAL.CPF <> '' "

    Set rs = db.OpenRecordset(SQL)

    If rs.RecordCount > 0 Then

    Set Form_FormRelatorio1.Recordset = rs

    End If

    rs.Close
    Set rs = Nothing
    db.Close


    Criei uma tabela Teste local e usei , também não funciona


    Dim rs As DAO.Recordset
    Dim SQL As String

    SQL = "SELECT * from Tb_Teste "

    Set rs = CurrentDb.OpenRecordset(SQL)

    If rs.RecordCount > 0 Then
    Set Form_FormRelatorio1.Recordset = rs
    End If

    rs.Close
    Set rs = Nothing
    avatar
    philipp.moreira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 256
    Registrado : 05/02/2016

    Re: Popular Formulário com dados de um banco externo

    Mensagem  philipp.moreira em Ter 27 Jun 2017, 01:50

    Você não pode fechar o recordset após usa-lo para popular.
    comente as linhas:
    Código:
    rs.Close
    Set rs = Nothing

    RodrigoImamura
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 19/06/2017

    Re: Popular Formulário com dados de um banco externo

    Mensagem  RodrigoImamura em Ter 27 Jun 2017, 19:27

    Não sei o que estou fazendo de errado, se falta alguma biblioteca. Não funciona.

    Anexo arquivo teste
    Anexos
    Teste Formulario.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (38 Kb) Baixado 1 vez(es)
    avatar
    philipp.moreira
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 256
    Registrado : 05/02/2016

    Re: Popular Formulário com dados de um banco externo

    Mensagem  philipp.moreira em Ter 27 Jun 2017, 20:11

    Rodrigo,

    veja o exemplo anexo e de um analisada e veja se entendeu tudo. beleza?
    Anexos
    Teste Formulario 2.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (64 Kb) Baixado 4 vez(es)

    RodrigoImamura
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 8
    Registrado : 19/06/2017

    Re: Popular Formulário com dados de um banco externo

    Mensagem  RodrigoImamura em Ter 27 Jun 2017, 22:56

    Philipp

    Entendi que foram criadas caixas de texto dentro do form e essas caixas recebem o valor do recordset :

    Set Form_Teste14.Recordset = rs
    Form_Teste14.txt1 = rs("Código")
    Form_Teste14.txt2 = rs("Teste1")
    Form_Teste14.txt3 = rs("Teste2")
    Form_Teste14.txt4 = rs("Teste3")

    mas as linhas estão sendo alimentadas com o mesmo valor

    Texto3 Texto3 Texto3 Texto3
    1 10 20 30
    1 10 20 30
    1 10 20 30
    1 10 20 30
    1 10 20 30

    Como faço para mover para a próxima linha? Sei que no Recorset é assim rs.MoveNext, e na linha do Form?

      Data/hora atual: Ter 21 Nov 2017, 19:17