MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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

2 participantes

    [Resolvido]consulta criar tabela com manutenção das regras de validação dos campos.

    avatar
    mvilela
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 52
    Registrado : 11/02/2011

    [Resolvido]consulta criar tabela com manutenção das regras de validação dos campos. Empty [Resolvido]consulta criar tabela com manutenção das regras de validação dos campos.

    Mensagem  mvilela 22/7/2018, 23:49

    Necessito criar a tabela "nova" com campos da tabela "velha"
    Como transpor para a tabela "nova" as regras de validação dos campos pré existentes na tabela "velha".
    Obrigado pela v/ ajuda.
    avatar
    delsonk
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 189
    Registrado : 26/11/2013

    [Resolvido]consulta criar tabela com manutenção das regras de validação dos campos. Empty Re: [Resolvido]consulta criar tabela com manutenção das regras de validação dos campos.

    Mensagem  delsonk 23/7/2018, 00:58

    Boa noite,

    Veja este exemplo que retirei do site da Microsoft:

    Exemplo
    O exemplo a seguir cria uma regra de validação para um campo que permite que somente valores acima de 65 sejam inseridos. Se um número menor que 65 for inserido, uma mensagem será exibida. As propriedades são definidas pela utilização da função SetFieldValidation.
    Dim strTblName As String, strFldName As String
    Dim strValidRule As String
    Dim strValidText As String, intX As Integer

    strTblName = "Customers"
    strFldName = "Age"
    strValidRule = ">= 65"
    strValidText = "Enter a number greater than or equal to 65."
    intX = SetFieldValidation(strTblName, strFldName, _
    strValidRule, strValidText)

    Function SetFieldValidation(strTblName As String, _
    strFldName As String, strValidRule As String, _
    strValidText As String) As Integer

    Dim dbs As Database, tdf As TableDef, fld As Field

    Set dbs = CurrentDb
    Set tdf = dbs.TableDefs(strTblName)
    Set fld = tdf.Fields(strFldName)
    fld.ValidationRule = strValidRule
    fld.ValidationText = strValidText
    End Function

    O exemplo a seguir utiliza a função SetTableValidation para definir validação em nível de registro a fim de garantir que o valor do campo EndDate seja posterior ao valor do campo StartDate.
    Dim strTblName As String, strValidRule As String
    Dim strValidText As String
    Dim intX As Integer

    strTblName = "Employees"
    strValidRule = "EndDate > StartDate"
    strValidText = "Enter an EndDate that is later than the StartDate."
    intX = SetTableValidation(strTblName, strValidRule, strValidText)

    Function SetTableValidation(strTblName As String, _
    strValidRule As String, strValidText As String) _
    As Integer

    Dim dbs As Database, tdf As TableDef

    Set dbs = CurrentDb
    Set tdf = dbs.TableDefs(strTblName)
    tdf.ValidationRule = strValidRule
    tdf.ValidationText = strValidText
    End Function
    avatar
    mvilela
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 52
    Registrado : 11/02/2011

    [Resolvido]consulta criar tabela com manutenção das regras de validação dos campos. Empty Re: [Resolvido]consulta criar tabela com manutenção das regras de validação dos campos.

    Mensagem  mvilela 25/7/2018, 07:00

    Bom dia
    Obrigada pela ajuda, mas talvez não me tenha feito compreender.
    Como a tabela "nova" é criada via consulta de criar tabela, sempre que a consulta é chamada anula a tabela "nova " existente antes de criar novamente a tabela "nova"
    Onde coloco o código das validações?
    avatar
    delsonk
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 189
    Registrado : 26/11/2013

    [Resolvido]consulta criar tabela com manutenção das regras de validação dos campos. Empty Re: [Resolvido]consulta criar tabela com manutenção das regras de validação dos campos.

    Mensagem  delsonk 25/7/2018, 11:26

    Bom dia.

    tem certeza que você precisa "destruir" a tabela todas as vezes. Não bastaria excluir todos os dados existentes? (consulta acréscimo).
    Tente criar a consulta no modo Design e na linha Critérios você pode inserir as regras:

    Ex:
    Como opção, você pode inserir um ou mais critérios na linha Critérios da grade de design. A tabela a seguir mostra alguns exemplos de critérios e explica os efeitos que eles têm em uma consulta.

    Critérios.                     Efeito

    > 234                          Retorna todos os números maiores que 234. Para localizar todos os números menores que 234, use < 234.

    >= "Neves" Retorna todos os registros de Neves até o final do alfabeto.

    Entre #02/02/2017# e #01/12/2017# Retorna datas de 2-fev-17 até 1º-dez-17 (ANSI-89). Se o banco de dados utilizar os caracteres curinga ANSI-92, use aspas simples (') em vez do sinal de cerquilha (#). Exemplo: Entre ‘02/02/2017’ e ‘01/12/2017’.

    Não "Alemanha".           Localiza todos os registros em que os conteúdos exatos do campo não são exatamente iguais a "Alemanha". O critério retornará registros que contêm caracteres além de "Alemanha," tais como "Alemanha (euro)" ou "Europa (Alemanha)".

    Não "T*"                       Localiza todos os registros, exceto aqueles que começam com T. Se o banco de dados utilizar o conjunto de caracteres curinga ANSI-92, use o símbolo de porcentagem (%) em vez do asterisco (*).

    Não "*t".                       Localiza todos os registros que não terminam com t. Se o banco de dados utilizar o conjunto de caracteres curinga ANSI-92, use o símbolo de porcentagem em vez do asterisco.

    In(Canadá,RU)               Em uma lista, localiza todos os registros que contêm Canadá ou Reino Unido.

    Como "[A-D]*"               Em um campo Texto, localiza todos os registros que começam com as letras A até D. Se o banco de dados utilizar o conjunto de caracteres curinga ANSI-92, use o símbolo de porcentagem em vez do asterisco.

    Como "*ar*".                 Localiza todos os registros que incluem a sequência de letras "ar". Se o banco de dados utilizar o conjunto de caracteres curinga ANSI-92, use o símbolo de porcentagem em vez do asterisco.

    Como "Maison Dewe?"    Localiza todos os registros que começam com "Maison" e que também contenham uma segunda cadeia de cinco letras, na qual as primeiras quatro letras são "Dewe" e a última letra é desconhecida (indicada por um ponto de interrogação). Se o banco de dados utilizar o conjunto de caracteres curinga ANSI-92, use o sublinhado (_) em vez do ponto de interrogação.

    #02/02/2017#.              Localiza todos os registros de 02 de fevereiro de 2017. Se o banco de dados utilizar o conjunto de caracteres curinga ANSI-92, coloque a data entre aspas simples em vez de usar sinais de cerquilha (#). Exemplo: ‘02/02/2017’.

    < Data() - 30.                Retorna todas as datas com mais de 30 dias.

    Data()                           Retorna todos os registros que contêm a data de hoje.

    Entre Data() e SomData("M", 3, Data())  Retorna todos os registros entre a data de hoje e três meses a partir da data de hoje.

    É nulo                            Retorna todos os registros que contêm um valor nulo (em branco ou indefinido).

    Não é nulo                     Retorna todos os registros que contêm um valor.

    ""                                  Retorna todos os registros que contêm uma cadeia de comprimento zero. As cadeias de comprimento zero são usadas quando você precisa adicionar um valor em um campo obrigatório, mas ainda não sabe qual é o valor. Por exemplo, um campo pode solicitar um número de fax, mas alguns de seus clientes podem não ter aparelhos de fax. Nesse caso, você digita um par de aspas duplas sem espaço entre elas ("") em vez de um número.

    Abraço, Delson
    avatar
    mvilela
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 52
    Registrado : 11/02/2011

    [Resolvido]consulta criar tabela com manutenção das regras de validação dos campos. Empty Re: [Resolvido]consulta criar tabela com manutenção das regras de validação dos campos.

    Mensagem  mvilela 25/7/2018, 11:45

    Ok foi isso que fiz.
    Criei macro para limpar os registos da tabela e depois chamar a consulta de acrescentar.
    Um abraço, obrigada.
    avatar
    delsonk
    Intermediário
    Intermediário

    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 189
    Registrado : 26/11/2013

    [Resolvido]consulta criar tabela com manutenção das regras de validação dos campos. Empty Re: [Resolvido]consulta criar tabela com manutenção das regras de validação dos campos.

    Mensagem  delsonk 25/7/2018, 22:50

    Excelente.
    Obrigado pelo retorno.
    Sucesso, Delson

      Data/hora atual: 18/9/2021, 18:12