Ir para conteúdo
Fórum Script Brasil

MrMALJ

Moderadores
  • Total de itens

    2.152
  • Registro em

  • Última visita

Tudo que MrMALJ postou

  1. Utilize a busca do forum e procure por dlookup, aqui no forum tem vários tópicos e exemplos com esse assunto!
  2. MrMALJ

    Acesso Multinivel

    Ok mande para mrmalj@gmail.com que dou uma olhadinha pra você!
  3. O que está faltando é você definir um nível de acesso aos usuários e liberar procedimentos aos usuários conforme seus níveis, por exemplo suponha que a pessoa tecle no botão que abre o formulário de usuários, antes de executar a ação de abrir o form você verifica o status de quem está tentando acessar e só executa a ação se for por exemplo um administrador, acho que o mesmo tópico que passei na sua duvida anterior pode lhe dar uma ideia de como fazer isso.
  4. MrMALJ

    Acesso Multinivel

    Dá uma olhada no link abaixo talvez lhe ajude http://scriptbrasil.com.br/forum/index.php?showtopic=100675 Confirme se deu certo ok!
  5. Fera dei uma pesquisada e achei essa função que preenche essa lista, acho que se você adaptar pode usar pra isso que você quer. Function PreencheLista(ctl As Control, varID As Variant, _ lngRow As Long, lngCol As Long, intCode As Integer) As Variant ' Argumentos: ' ctl - refere-se à listbox ou combobox sendo preenchida; ' varID - valor único que identifica o controle sendo preenchido. ' lngRow - nº da linha que está sendo preenchida (começa em zero); ' lngCol - nº da coluna que está sendo preenchida (começa em zero); e ' intCode - é a "pergunta" que o Access faz à função. O valor de intCode ' indica qual ação será executada pela função. On Error GoTo PreencheLista_Err Dim varRet As Variant ' recebe o valor de retorno da função (Variant). Dim I As Integer ' serve de contador. Static varNome() As Variant 'cria uma matriz dinâmica que guarda valores. Static intReg As Integer Select Case intCode Case acLBInitialize ' intCode = 0 - inicializa o controle. Dim Rs1 As Recordset Set Rs1 = CurrentDb.OpenRecordset("Clientes", dbOpenSnapshot) With Rs1 If Not .EOF Then .MoveLast 'necessário para RecordCount. intReg = .RecordCount 'Redimensiona a matriz conforme nº de registros de Rs1. ReDim varNome(intReg, 2) '3 dimensões. .MoveFirst For I = 0 To intReg - 1 varNome(I, 0) = !CódigoDoCliente varNome(I, 1) = !NomeDaEmpresa varNome(I, 2) = !Cidade .MoveNext Next I End With Set Rs1 = Nothing 'libera memória. varRet = True Case acLBOpen ' intCode = 1 - abre. varRet = Timer ' Gera valor exclusivo baseado na função Timer. Case 2 ' intCode = 2 - este código não é documentado. Case acLBGetRowCount ' intCode = 3 - obtém nº de linhas. varRet = -1 ' valor desconhecido. O Access irá descobrir o nº de linhas. Case acLBGetColumnCount ' intCode = 4 - obtém nº de colunas. 'Podemos definir na folha de propriedades do controle 'ou especificar um valor aqui. varRet = 3 Case acLBGetColumnWidth ' intCode = 5 - obtém a largura da coluna. 'Podemos definir na folha de propriedades do controle. 'Especifique um valor aqui ou pule esta opção. varRet = -1 ' Utiliza a largura definida em propriedades. Case acLBGetValue ' intCode = 6 - obtém os dados para o controle. varRet = varNome(lngRow, lngCol) Case acLBGetFormat ' intCode = 7 - formato a ser usado. 'Pule esta opção ou defina varRet = -1 para o valor padrão. Case acLBClose ' intCode = 8 - não usado. 'Seu uso não é documentado. Case acLBEnd ' intCode = 9 - Fim. 'Não retorna nada. Usado quando você fecha o form ou dá um 'Requery no controle. Aqui você poderá colocar código para 'liberar memória (limpar variáveis etc). Erase varNome() End Select PreencheLista = varRet Exit Function PreencheLista_Err: MsgBox "Erro " & Err.Number & vbCrLf & Err.Description, _ vbExclamation, "Função: PreencheLista" End Function O nome da função é inserido na propriedade Tipo de origem da linha (RowSourceType) da combo box sem ser precedido por um sinal de igualdade (=) e sem terminar com parênteses. Escreva assim: PreencheLista Fonte: JR´s Access FAQ
  6. Bom o argumento do Elber me convenceu bom fiz um exemplozinho bem básico e simples, o que fiz ali é o seguinte tem um campo não acoplado no subform calculando o total então quando não digito nada no campo descrição ele tranfere o valor para o campo total da tabela principal, deixei tudo visivel só pra efeito de comparação, mais na hora de executar acho que é melhor o total principal não ficar visivel. O exemplo é bem rústico mais vou deixando ai, de repente alguém se anima e até faz um melhor! tst.zip
  7. ummmm, entendi e achei interessante a ideia, vou ver se consigo bolar algo e se conseguir posto pra você, claro que se você conseguir antes espero disponibilize pra nós....
  8. Fera já que sua tabela utiliza mais de uma NF de numeração igual, eu sugiro que crie um campo a mais do tipo autonumeração e utilize-o como chave primária então sempre que precisar somar não some pelo numero da nota e sim filtrando por esse numero!
  9. O que o Humm postou está correto, também não vejo porque criar um total no form principal
  10. MrMALJ

    Recurso De Relogio

    Ummm entendi, bom realmente o que eu sabia era até ai, e na verdade vi isso a um tempo atrás só por curiosidade e nem cheguei a usar, a hora que ele pega é a hora do computador mesmo, então não achei vantagem colocar um relogio nos sistemas já que o relógio do windows tá sempre ali ... Bom espero que consiga uma solução.
  11. MrMALJ

    Recurso De Relogio

    ummmm, bem utilize a propriedade de evento "No cronometro" do próprio formulário para fazer a atualização do relógio, e ajuste a propriedade intervalo do cornometro para 1000 (isso dá 1 segundo), eu testei aqui aqui e não tive problemas.
  12. Bom basta que antes de chegar ao seu campo você mude o foco para o objeto seguinte, você compara o seu conteúdo e se estiver vazio você move o foco para a caixa de texto ou outro objeto posterior veja o exemplo (ainda utilizando como base as nomenclatura adotada anteriormente) utilizando o procedimento de evento "após atualizar" do objeto antes do campo1: if not isnull(me.campo1) or me.campo1="" then me.proximoCampo.setfocus end if Bom dessa forma casa se precisa fazer alguma alteração no campo a pessoa só precisará clicar no campo, mais caso não deseje mais deixar executar alteração coloque esse código na propriedade de evento "ao receber foco" do campo1.
  13. MrMALJ

    Rotina Para Novos Registros

    Fera talvez o conteúdo do link abaixo lhe ajude. http://accessjr.brinkster.net/detalhe.asp?...p;search=bloque
  14. MrMALJ

    Recurso De Relogio

    Ummmm já tentou bloquear o controle do relógio?
  15. MrMALJ

    Consulta Acréscimo

    Bom até onde utilizei esse tipo de consulta sempre ocorreu essa mensagem, o que fiz foi confirmar e nunca perdi registros nessa transferência.
  16. Suponhamos que esses dois campos que deseje preservar os dados digitados no registro atual para o proximo se chamem campo1 e campo2, e que as caixas de texto não acopladas que iremos utilizar para armazenar seje txt1 e txt2, o que iremos fazer sempre fazer com que o campo do registro atual preencha o próximo, então a vamos utilizar as propriedade de eventos de campo1 e campo2, no caso "ao receber foco" e "após atualizar): em "ao receber foco" iremos primeiro verificar se o campo já tem conteúdo se tiver não iremos preenche-lo: if isnull(me.campo1) or me.campo1="" then me.campo1.value=me.txt1 end if em "após atualizar" iremos repassar a caixa de texto não acoplada o conteúdo que acabamos de digitar: me.txt1.value=me.campo1 Bom da mesma forma que fiz pra campo1 e txt1, basta fazer com campo2 e txt2... Espero que resolva, confirme!
  17. O que você quer dizer com "criar virtualmente"?
  18. Ummmm... bom posso sugerir que você crie 2 caixas de textos não acopladas e ocultas para guardarem sempre o último conteúdo desses campos então nos novos registros você só repassa esses valores, ou então você pode utilizar variáveis globais... Espero que resolva pra você, confirme para nós!
  19. Fera dá uma lida no conteúdo do link abaixo talvez lhe ajude e/ou esclareça algo. http://accessjr.brinkster.net/detalhe.asp?...arch=autonumera
  20. Insira um "Objeto de Imagem" não acoplado e faça um código semelhante ao que segue na propriedade de evento "Ao Imprimir" ou "Ao Formatar" da seção onde você selecionar colocar essa imagem Me.seuControleImagem.Picture = "C:\seuCaminho\suaImagem" Acho que resolverá!
  21. Fera agradeço por postar a sua solução para a nossa comunidade! Valeu!
  22. Acho que você deve tirar essa linha da propriedade "Origem do controle" da sua caixa de texto e utilizar algo parecido com a linha abaixo nas propriedades "Ao Imprimir" e a "Ao formatar" da seção do seu relatório onde está o campo: if sum(nz(me.receitabrl)<>0 then me.seuCampo=Sum(me.ReceitaBRL)-Sum(me.CustoEtapaBRL)/Sum(me.ReceitaBRL) else me.seuCampo=0 end if Dê retorno se resolveu o seu problema!
  23. Fera finalmente a internet aqui ficou normal e vou poder upar o exsemplo mesmo que você já tenha solucionado, afinal outro usuário pode precisar... TST.zip
  24. Bom que você tenha encontrado essa função pronta e postado pra gente, eu tinha pensando tambem em fazer algo parecido, mais agora não precisarei bater cabeça. vlw
  25. MrMALJ

    Path para buscar fontes

    Fera entre em contato com o administrador da rede e veja que nível de acesso e permissão tem seu usuário e tente pedir para ele aumentar seu nivel de acesso pelo menos local.
×
×
  • Criar Novo...