Ir para conteúdo
Fórum Script Brasil

Alexandre Neves

Membros
  • Total de itens

    168
  • Registro em

  • Última visita

Posts postados por Alexandre Neves

  1. Bem-vindo mic.chel

    Lamento não lhe poder ajudar. Eu não utilizo relações entre tabelas. Utilizo consultas criadas por código ou código para origem de Caixas de Listagem, Caixa de Combinação.

    Eu utilizo código SQL :

    1-SELECT Campo, Campo, ... FROM Tabela1 LEFT JOIN Tabela2 ON Tabela1.CampoX=Tabela2.CampoX ... 'Lista os registos da Tabela2 e os correspondentes da Tabela1 ligados pelo campo CampoX

    2-SELECT Campo, Campo, ... FROM Tabela1 RIGHT JOIN Tabela2 ON Tabela1.CampoX=Tabela2.CampoX ... 'Lista os registos da Tabela1 e os correspondentes da Tabela2 ligados pelo campo CampoX

    3-SELECT Campo, Campo, ... FROM Tabela1 INNER JOIN Tabela2 ON Tabela1.CampoX=Tabela2.CampoX ... 'Lista todos registos da Tabela1 e da Tabela2 ligados pelo campo CampoX

  2. Os controlos não devem ter nomes iguais aos dos campos.

    Nos controlos utilize:

    TxtDataInicio para saber que é Caixa de texto e armazena o campo DataInicio

    CmdFechar para saber que é botão de comando e fecha o formulário

    CxcNome para saber que é Caixa de combinação e armazena o campo Nome

    RtlMorada para saber que é Rótulo e mostra a morada

    etc.

    1-Altere o nome da caixa de texto PAIS para TxtPais

    2-Altere o nome da caixa de texto START para TxtStart

    3-Na caixa de texto TxtPais, no acontecimento AoSair, coloque o seguinte código

    Private Sub TxtPais_Exit(Cancel As Integer)

    If TxtPais = "EUA" Then TxtStart = DateAdd("d", -65, Date) Else TxtStart = DateAdd("d", -40, Date)

    End Sub

  3. Tente assim:

    1-Crie esta função

    Function PrimeiroLivre(strTabela as string,strCampoNumerado as string)as boolean

    dim Rst as dao.recordset,N AS INTEGER

    set rst=currentdb.openrecordset("SELECT [" & strcamponumerado &"] FROM [" & strtabela &"] ORDER BY [" & strcamponumerado &"];"

    N=1

    DO WHILE NOT RST.EOF

    IF RST(0)<>N THEN EXIT DO

    N=N+1

    RST.MOVENEXT

    LOOP

    PRIMEIROLIVRE=N

    END FUNCTION

    2-Como origem da numeração coloque PrimeiroLivre("NomeTabela","NomeCampo")

  4. Na caixa de combinação:

    Origem do controlo - Nome do campo que armazena o valor

    Origem da linha - Origem dos valores que o utilizador pode escolher (pode ser limitado à lista ou não)

    Na caixa de texto:

    Origem do controlo - Nome do campo que armazena o valor

    Para definir valor pode criar código AoSair do controlo anterior que condicione o valor a preencher

  5. Não sei se esse sistema funcionará com a finalidade pretendida:

    Cada utilizador poderá aceder todas as vezes com a senha teste e, em cada cesso, alterar a senha para uma senha diferente.

    No entanto, crie uma tabela TblUtilizadores com o nome do utilizador e a senha respectiva.

  6. Crie uma caixa de texto para o campo País e denomine-a de TxtPais

    Se tem uma caixa de texto para o campo Start designada de TxtStart, o código que lhe passei deverá servir.

    If TxtPAIS="EUA" Then TxtSTART=DateAdd("d",Data,-65) Else TxtSTART=DateAdd("d",Data,-40)

    Para uma resposta mais em concreto pode disponibilizar a bd aqui esnips

    Disponibilize a bd com dados significativos mas falsos para protecção quer do seu trabalho quer das pessoas ou entidades envolvidas

  7. Não indicou elementos que pudesse formular em concrecto, mas aqui vai uma situação semelhante:

    Tem tabela Clientes (NumCli, Nome,Morada, etc)

    Tem tabela Pedidos (NumCli, CodPedido, DtPedido, etc)

    Tem tabela DetalhesPedido (CodPedido, CodArtigo, Quant, etc)

    Quer a partir do CodPedido da tabela DetalhesPedidos procurar o nome na tabela Clientes

    RtlNome.Caption=DLookup("Nome","Clientes","NumCli=" & DLookup("NumCli","Pedidos","CodPedido=" & TxtCodPedido))

    Não se esqueça que:

    em números, Campo=1234

    em texto, Campo="NomeX"

    em datas, Campo=#dd-mm-yyyy#

×
×
  • Criar Novo...