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

    Dúvida em Classe - variavel do tipo type

    Compartilhe

    jrvicc
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 11/02/2012

    Dúvida em Classe - variavel do tipo type

    Mensagem  jrvicc em Sab 28 Dez 2013, 04:05

    Olá, pessoal!

    Gostaria de uma ajuda de quem entender sobre classes

    estou definindo uma classe chamada clsPessoa com os seguintes campos

    Option Compare Database
    Option Explicit
    Private strNomePessoa As String
    Private Type Ctps
       Numero As String * 7
       Serie As String * 5
       Uf As String * 2
       Emissao As Date
    End Type
    Property Get CarteiraTrabalho() As Ctps
       CarteiraTrabalho.Numero = Numero
       CarteiraTrabalho.Serie = Serie
       CarteiraTrabalho.Uf = Uf
       CarteiraTrabalho.Emissao = Emissao
    End Property
    Property Let CarteiraTrabalho(argCarteiraTrabalho As Ctps)
       Numero = argCarteiraTrabalho.Numero
       Serie = argCarteiraTrabalho.Serie
       Uf = argCarteiraTrabalho.Uf
       Emissao = argCarteiraTrabalho.Emissao
    End Property
    Property Get NomePessoa() As String
       NomePessoa = strNomePessoa
    End Property
    Property Let NomePessoa(argNomePessoa As String)
       strNomePessoa = UCase(argNomePessoa)
    End Property


    Quando compilo ou executo um código dentro de uma classe dá a seguinte mensagem de erro de compilação na linha:
    Property Get CarteiraTrabalho() As Ctps   dizendo que:

    Enum Particular e tipos definidos pelo usuário não podem ser usados como parâmetros ou tipos retornados para procedimentos públicos, membros de dados públicos ou campos de tipos públicos definidos pelo usuário

    Pergunto não dá para criar variável do tipo type (definido pelo usuário) numa classe?

    se alguém tiver outra ideia  de como criar agradeceria muito

    segue tela do erro e arquivo para teste
    Anexos
    classe.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (168 Kb) Baixado 9 vez(es)

    Avelino Sampaio
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3350
    Registrado : 04/04/2010

    Re: Dúvida em Classe - variavel do tipo type

    Mensagem  Avelino Sampaio em Seg 30 Dez 2013, 07:54

    Olá!

    Altere de PRIVATE para PUBLIC

    Public Type Ctps
    Numero As String * 7
    Serie As String * 5
    Uf As String * 2
    Emissao As Date
    End Type


    Sucesso!


    .................................................................................
    ============ Quer aprender Access em alta velocidade ? ============

    || [Você precisa estar registrado e conectado para ver esta imagem.] Acesse o site UsandoAccess.com.br e veja um ótimo kit de ensino que tenho para você.

    ===========================================================

    jrvicc
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 9
    Registrado : 11/02/2012

    Não Funciona

    Mensagem  jrvicc em Seg 30 Dez 2013, 15:20

    Olá Mestre Avelino!
    Obrigado pela sua atenção

    Eu já tinha feito isso e dá a seguinte mensagem conforme imagem em anexo

    por favor se vc testar o banco que envie anteriormente verá o que  to falando.


    agradeço mais uma vez sua atenção

    cdlianda
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1
    Registrado : 01/01/2014

    Dúvida em Classe - variavel do tipo type

    Mensagem  cdlianda em Qui 02 Jan 2014, 14:03

    Olá,

    Parece que não é possível definir variáveis de tipo definido pelo usuário em módulos de classes.
    No "Help" desta instrução. E a primeira frase é a seguinte:

    "Usada no nível de módulo para definir um tipo de dados definido pelo usuário contendo um ou mais elementos."

    Observe que começa dizendo que a instrução é "Usada no nível de módulo".
    Mas você pode tentar driblar isso, declarando uma matriz no módulo de classe.
    Talvez de certo.

      Data/hora atual: Sex 09 Dez 2016, 13:25