Ir para conteúdo
Fórum Script Brasil

Alexandre Neves

Membros
  • Total de itens

    168
  • Registro em

  • Última visita

Tudo que Alexandre Neves postou

  1. Bom dia, Tiago Na tabela Clientes deve ter um campo CodCliente (Duplicação não autorizada) e na tabela Moradas deve ter um campo CodCliente (Duplicação autorizada). Para relacionar as tabelas, em SQL, utilize ... FROM tblClientes INNER JOIN Moradas ON tblClientes.CodCliente=Moradas.CodCliente ...
  2. Boa tarde, Bruno Não sei se esse caminho dará certo, no entanto, pode agregar constantes ou variáveis ao código SQL, como segue: 1 - Se texto Onde pretende introduzir ... '"& NomeDoDado & "' ... 2 - Se data Onde pretende introduzir ... #"& NomeDoDado & "# ... 3 - Se número Onde pretende introduzir ... "& NomeDoDado & " ...
  3. Boa noite, extremejogos Nunca trabalhei com stoks (ainda não precisei) mas dizem que é preciso mesmo muito cuidado. O meu raciocínio é o seguinte: - Ao sair o produto não deve ser descontado na tabela de produtos. Porquê? Porque suponhamos que a tabela de produtos regista a entrada de produtos. Assim sendo, a determinada altura ficamos sem saber a quantidade de produtos entrada. Também porque a eventual eliminação de registo de saída do produto pode a actualização da tabela produtos não ficar perfeita. - Para bom funcionamento, criaria tabela EntradaProdutos (registo dos produtos entrados), tabela SaidaProdutos (registo dos produtos saídos) e tabela SaldoProdutos. A actualização da tabela SaldoProdutos, a partir das tabelas EntradaProdutos e SaidaProdutos seria feita através de uma função criada para o efeito.
  4. Bom dia, inffernus A última ajuda que lhe prestei ordena a listagem pelo nome da penitenciária em vez de listar pelo código da penitenciária, o que me parece mais intuitivo. Para a sua última dúvida: Em vez de CxcPavilhao.RowSource = "SELECT CodPavilhao," & CxcPenitenciaria.Column(1) & " FROM tblPavilhao ORDER BY " & CxcPenitenciaria.Column(1) & ";" Coloque CxcPavilhao.RowSource = "SELECT CodPavilhao," & CxcPenitenciaria.Column(1) & " FROM tblPavilhao WHERE Not IsNull(" & CxcPenitenciaria.Column(1) & ") ORDER BY " & CxcPenitenciaria.Column(1) & ";" Em vez de CxcCela.RowSource = "SELECT CodCela," & CxcPenitenciaria.Column(1) & " FROM tblCela ORDER BY " & CxcPenitenciaria.Column(1) & ";" Coloque CxcCela.RowSource = "SELECT CodCela," & CxcPenitenciaria.Column(1) & " FROM tblCela WHERE Not IsNull(" & CxcPenitenciaria.Column(1) & ") ORDER BY " & CxcPenitenciaria.Column(1) & ";"
  5. Não sei qual parte da minha resposta não entendeu mas suponho que tenha sido a segunda frase. Assim, vá ao controlo do formulário e, nas propriedades, na aba Dados coloque ValorTotal na propriedade Origem do controlo.
  6. Na tabela, por norma, não se guardam campos calculados. Se precisar mesmo, atribua o campo da tabela como origem dos dados do controlo
  7. Boa tarde, Inffernus Onde está CxcPenitenciaria.RowSource = "SELECT CodPenitenciaria,Penitenciaria FROM tblPenitenciaria ORDER BY CodPenitenciaria;" Substitua por CxcPenitenciaria.RowSource = "SELECT CodPenitenciaria,Penitenciaria FROM tblPenitenciaria ORDER BY Penitenciaria;" O pavilhão e cela ficam ordenados como texto pois são campos texto.
  8. Bom dia, zero Suponho que queira que funcione em cada mês e não apenas no mês de Janeiro. Para tal, coloque no acontecimento AoSair do campo DataPagamento Select Case TxtMes Case "Janeiro" If Month(TxtDataPagamento) <> 1 Then TxtCoima = 5 Else TxtDataPagamento = Null Case "Fevereiro" If Month(TxtDataPagamento) <> 2 Then TxtCoima = 5 Else TxtDataPagamento = Null Case "Março" If Month(TxtDataPagamento) <> 3 Then TxtCoima = 5 Else TxtDataPagamento = Null Case "Abril" If Month(TxtDataPagamento) <> 4 Then TxtCoima = 5 Else TxtDataPagamento = Null Case "Maio" If Month(TxtDataPagamento) <> 5 Then TxtCoima = 5 Else TxtDataPagamento = Null Case "Junho" If Month(TxtDataPagamento) <> 6 Then TxtCoima = 5 Else TxtDataPagamento = Null Case "Julho" If Month(TxtDataPagamento) <> 7 Then TxtCoima = 5 Else TxtDataPagamento = Null Case "Agosto" If Month(TxtDataPagamento) <> 8 Then TxtCoima = 5 Else TxtDataPagamento = Null Case "Setembro" If Month(TxtDataPagamento) <> 9 Then TxtCoima = 5 Else TxtDataPagamento = Null Case "Outubro" If Month(TxtDataPagamento) <> 10 Then TxtCoima = 5 Else TxtDataPagamento = Null Case "Novembro" If Month(TxtDataPagamento) <> 11 Then TxtCoima = 5 Else TxtDataPagamento = Null Case "Dezembro" If Month(TxtDataPagamento) <> 12 Then TxtCoima = 5 Else TxtDataPagamento = Null End Select
  9. Novamente, Inffernus Faça a alteração conforme lhe expliquei e resolverá, ou então volte a informar.
  10. Boa tarde, Eu utilizo quase sempre as funções via código mas, no seu caso, será melhor, em vez de alterar todas as funções utilizadas, crie um módulo e chame-o de FunçoesConvertidas e crie funções de conversão tais como: Function Dia(dtData as date)as string Dia=Day(dtData) End Function Function Mes(dtData as date)as string Mes=Month(dtData) End Function Function Ano(dtData as date)as string Ano=Year(dtData) End Function Deste modo, se chamar pelo nome em inglês ele procura directo, se chamar pelo nome em português ele é direcciona-o para o nome em inglês.
  11. Boa tarde, Afinal tem 2 formulários ou 1 formulário e 1 sub-formulário? A ordem correcta será Formulários!Formulario1![ValorDespesa] em vez de Formulario1!Formularios![ValorDespesa] ? Não explicou como utilizou a função SeImed mas experimente IIf(isNull(Formulario1!ValorDespesa),Null,Formulario1!ValorDespesa) Bom trabalho,
  12. Boa noite, Felipe Pelos dados que forneceu, esta função deve funcionar Function ProcValor(dtData As Date) As Double ProcValor = DLookup(Year(dtData), "Tabela", "Meses=" & Month(dtData)) End Function Bom trabalho,
  13. Boa noite, Felipe Faltam dados para o poder ajudar com algum detalhe. No entanto, use a função DLookup Sintaxe: valor=DLookup("Campo","tabela","Ano=" & VariavelAno & " and Mes=" & VariavelMes)
  14. Boa noite, inffernus Estive sem computador mas não se esqueça que o assunto é do seu interesse e demorou 3 dias para informar o resultado. Não tem mal nenhum, ninguém lhe pediu que fosse rápido mas não desespere quando não podemos, ou não sabemos, ajudar! Sobre as últimas dúvidas: - Não sei o que quer dizer "apertar salvar" - Sobre os valores guardados, vá às propriedades das caixas de combinação e, na aba Dados, coloque 2 na coluna dependente.
  15. Bom dia, xiloba Copie estas funções e utilize a Media2Maiores Function Media2Maiores(Optional Valor1 = 0, Optional Valor2 = 0, Optional Valor3 = 0) As Single 'Função criada por Alexandre Neves 'em 2009-06-27 'para xiloba 'do fórum scripbrasil If IsNull(Valor1) = True Then Valor1 = 0 If IsNull(Valor2) = True Then Valor2 = 0 If IsNull(Valor3) = True Then Valor3 = 0 Select Case Maximo(Valor1, Valor2, Valor3) Case Valor1 If Valor2 > Valor3 Then 'caso de valor1>valor2>valor3 Media2Maiores = (Valor1 + Valor2) / 2 Else 'caso de valor1>valor3>valor2 Media2Maiores = (Valor1 + Valor3) / 2 End If Case Valor2 If Valor1 > Valor3 Then 'caso de valor2>valor1>valor3 Media2Maiores = (Valor2 + Valor1) / 2 Else 'caso de valor2>valor3>valor1 Media2Maiores = (Valor2 + Valor3) / 2 End If Case Valor3 If Valor1 > Valor2 Then 'caso de valor3>valor1>valor2 Media2Maiores = (Valor3 + Valor1) / 2 Else 'caso de valor3>valor2>valor1 Media2Maiores = (Valor3 + Valor2) / 2 End If End Select End Function Function Maximo(Optional Valor1 = 0, Optional Valor2 = 0, Optional Valor3 = 0) As Single 'Função criada por Alexandre Neves 'em 2009-06-27 'para xiloba 'do fórum scripbrasil If IsNull(Valor1) = True Then Valor1 = 0 If IsNull(Valor2) = True Then Valor2 = 0 If IsNull(Valor3) = True Then Valor3 = 0 If Val(Valor3) = 0 Then If Val(Valor1) > Val(Valor2) Then Maximo = Valor1 Else Maximo = Valor2 End If Else Maximo = Maximo(Maximo(Valor1, Valor2), Valor3) End If End Function Bom trabalho
  16. Alexandre Neves

    Campos

    Bom dia, jarcastro Existem limites que não conheço bem. Cada tabela só pode ter 255 campos e o texto SQL para trabalhar dados comporta o máximo de 2048 (?) caracteres. Para saber todos os limites procure no sítio da microsoft. Bom trabalho,
  17. Boa noite, Inffernus Veja se é isto que pretende http://www.esnips.com/doc/e331300a-7b2f-47...ffernus_bd-2003 Bom trabalho,
  18. Boa tarde, adriano Compacte a bd e verifique se resolve. Bom trabalho,
  19. Novamente, De facto, eu nunca criei senhas porque apenas trabalho com uma bd para utilização profissional mas só eu a utilizo. Desejo que alguém o ajude. Bom trabalho,
  20. Boa tarde, arldin Não percebi bem o que quer. Se quiser alterar a cor do campo quando selecciona na tabela, faça: - Ferramentas>>opções>>Folha de dados>>altera para a cor que pretende. A cor que seleccionar é a que enche o cursor quando o campo é seleccionado. Bom trabalho,
  21. Boa tarde, GAF Coloque uma bd com tabela com valores significativos para se ajudar em croncrecto. Bom trabalho,
  22. Boa noite, Diego Para fazer o que pretende utilize uma instrução UNION SQL: SELECT ... FROM ... WHERE ... UNION SELECT ... FROM ... WHERE ... UNION SELECT ... FROM ... WHERE ... UNION SELECT ... FROM ... WHERE ... Bom trabalho,
  23. Novamente, Inffernus Fiz e desfiz algumas alterações, mas julgo que apenas basta utilizar DoCmd.OpenForm "frmEfetivo", , , "CodRGC='" & BuscaRGC & "'" em vez de DoCmd.OpenForm "frmEfetivo" Espero que seja de vez. Bom trabalho.
  24. Bom dia, Inffernus A bd está no formato access 2007. Se colocar no formato 2000, poderei ver. Bom trabalho,
  25. Novamente, Inffernus Utilizei o código numa consulta e funcionou. Pode carregar a bd num sítio gratuito, por exemplo, o esnips. Bom trabalho,
×
×
  • Criar Novo...