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

    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 24 Jun 2017, 06:21