MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    Formulário desvinculado

    Compartilhe

    mbflpa
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 7
    Registrado : 25/01/2011

    Formulário desvinculado

    Mensagem  mbflpa em Sex 17 Out 2014, 11:21

    Olá a todos.

    Estou tentando criar um form desvinculado utilizando o recordsetclone de subform. Criei uma função para capturar algumas informações quando abro um form principal que contém o subform que desejo clonar o recordset, a função é:

    Public T(0 To 50) As Date
    Public Mostra(0 To 50) As Boolean
    Public Descricao(0 To 50) As String
    Public rsc As Recordset

    Function expedientes()

    Dim i


    'Insere em arrays as datas dos expedientes e outras informações
    Set rsc = Forms!Formulario_Principal.Tab_Expedientes_subformulário.Form.RecordsetClone
    Set rsc = rsc.OpenRecordset

    If IsNull(Forms!Formulario_Principal!Proj_NUP) Then
           Exit Function
    End If
                           
                            i = 0
                            While Not rsc.EOF
                               'If rsc.Fields("Exp_Proj_NUP") = Forms!Formulario_Principal!Proj_NUP Then
                                T(i) = rsc.Fields("Exp_Data")
                                Mostra(i) = rsc.Fields("Exp_Mostra_No_Calendario")
                                Descricao(i) = rsc.Fields("Exp_Descrição")
                                i = i + 1
                               'End If
                               
                               rsc.MoveNext
                            Wend
     
    'Fim
    End Function


    Esta função está funcionando perfeitamente. Utilizo ela para mostrar informações em um calendário. Acontece que eu queria aproveitar a variável publica rsc que contém o recordsetclone para inserir registros em um formulário filtrado por uma determinada variável (uma data). Tentei de tudo. Este form contém um campo tipo anexo. Como devo construir o código aproveitando a variável pública rsc?

    Já utilizei no formulário desvinculado, em ao abrir, o seguinte código:

    Do Until rsc.EOF
    Me.Exp_Anexo = rsc!Exp_Anexo
    Me.EXP_Cod.Value = rsc!EXP_Cod
    Me.Exp_Data.Value = rsc!Exp_Data
    Me.Exp_Descrição.Value = rsc!Exp_Descrição
    Me.Exp_Mostra_No_Calendario.Value = rsc!Exp_Mostra_No_Calendario
    Me.Exp_Proj_NUP.Value = rsc!Exp_Proj_NUP
    rsc.MoveNext
    Loop

    Aparece a mensagem de variável não definida. Aí abandonei esta variável pública e usei o seguinte código:

    Dim rsc2 As dao.Recordset
    Set rsc2 = Forms!Formulario_Principal.Tab_Expedientes_subformulário.Form.RecordsetClone
    Do Until rsc2.EOF
    Me.Exp_Anexo = rsc2!Exp_Anexo
    Me.EXP_Cod.Value = rsc2!EXP_Cod
    Me.Exp_Data.Value = rsc2!Exp_Data
    Me.Exp_Descrição.Value = rsc2!Exp_Descrição
    Me.Exp_Mostra_No_Calendario.Value = rsc2!Exp_Mostra_No_Calendario
    Me.Exp_Proj_NUP.Value = rsc2!Exp_Proj_NUP
    rsc2.MoveNext
    Loop

    Neste último, aparece o erro "Este objeto não aceita esta propriedade ou método. Aí tirei o campo Exp_Anexo (que é do tipo anexo) e pareceu o próximo erro "Você não pode atribuir um valor a este objeto" para todos os outros campos. Os valores retornados por rsc2 estão corretos mas aparece esta mensagem.

      Data/hora atual: Sab 03 Dez 2016, 15:39