Ir para conteúdo
Fórum Script Brasil

Humm

Membros
  • Total de itens

    570
  • Registro em

  • Última visita

Tudo que Humm postou

  1. se você colocar a funcao na propriedade evento "ao apertar tecla" ou "ao alterar" talvez funcione.
  2. Humm

    Fluxo de caixa

    eu imagino que voce tenha um campo que controle a data da entrada dos dados. logo, esse campo vai agrupar os registros por data, correto? na consulta, utilize o codido q te falei no criterio desse campo. aqui funciona normal.
  3. crie uma nova tabela de serviços onde o codigo chave dela seja o numero do serviço
  4. há um tempo atras achei um codigo na internet pra criar um formulario de pesquisa de dados. naquela epoca funcionou direitinho, e ainda funciona no projeto da epoca. acontece que agora to tentando usar o mesmo codigo num outro projeto e to tendo um erro esquisito. o codigo é: Option Compare Database Option Explicit ' Desenvolvido por JR - <accessjr@bol.com.br> ' Brasília - DF, em Jan/1999. ' http://www.accessjr.cjb.net ' Estas variáveis permanecerão abertas enquanto ' o formulário estiver aberto para agilizar ' as buscas subseqüentes. Dim Rs As DAO.Recordset, Rs1 As DAO.Recordset Dim mValor As Variant Private Sub Form_Unload(Cancel As Integer) On Error Resume Next Set Rs = Nothing 'Libera memória Set Rs1 = Nothing End Sub Private Sub cmdCancelar_Click() On Error Resume Next DoCmd.Close End Sub Private Sub cmdExibir_Click() On Error GoTo Err_cmdExibir With lstRetorno If .ListCount = 0 Then GoTo Termina End With Forms!Alunos!Nome = Me.lstRetorno DoCmd.Close acForm, "LOCALIZAR_CLIENTE" Termina: Exit Sub Err_cmdExibir: Select Case Err Case 94 MsgBox "Selecione um Aluno na Caixa de Listagem.", vbInformation, "Informação" Case Else MsgBox Err.Description, vbCritical, "Erro" End Select Resume Termina End Sub Private Sub cmdLimpar_Click() On Error Resume Next txtPesquisa = "" txtPesquisa.SetFocus Rs1.Close lstRetorno.Requery lblSelecionadas.Caption = "Nenhum Aluno Filtrado" End Sub Private Sub lstRetorno_DblClick(Cancel As Integer) On Error Resume Next Call cmdExibir_Click End Sub Private Sub txtPesquisa_Change() Dim strSQL As String On Error GoTo Rs_Fechado Pesquisa: mValor = txtPesquisa.text If Len(mValor & "") = 0 _ Or Asc(mValor) = 32 Then 'Limpa espaços também. Call cmdLimpar_Click Exit Sub End If 'Na primeira vez, a rotina desviará para o rótulo 'Rs_Fechado, pois o Recordset ainda não foi aberto. 'Na 2ª vez em diante, a rotina prossegue normalmente. With Rs .Filter = Me.FindBy & " Like '*" & adhHandleQuotes(mValor, "'") & "*'" Set Rs1 = .OpenRecordset 'Move para último p/ fazer contagem na função PreencheLista If Rs1.RecordCount <> 0 Then Rs1.MoveLast lstRetorno.Requery End With Fim: Exit Sub Rs_Fechado: Select Case Err Case 91, 3420 'Ocorre só na primeira vez em que é pesquisado um item. strSQL = "SELECT COD, Matr, Nome, Telefone, Celular, Bairro " _ & "FROM CLIENTES ORDER BY Nome" 'Cria um recordset bem rápido, pois é SnapShot. Set Rs = DBEngine(0)(0).OpenRecordset(strSQL, dbOpenSnapshot) GoTo Pesquisa Case 5 'ocorre ao voltar com BackSpace, apagando o texto. Resume Next Case Else MsgBox "Erro nº " & Err & vbCrLf _ & Err.Description, vbCritical, "Erro" End Select Resume Fim End Sub Function PreencheLista(ctl As Control, varID As Variant, lngRow As Long, _ lngCol As Long, intCode As Integer) As Variant 'Função CallBack padrão para preencher Combo/List box. On Error GoTo Err_Preenche Dim valret As Variant 'Retorno p/ cada um dos intCode indicados em Select Case. Dim I As Integer Static strNome() As Variant 'cria matriz dinâmica Static sContaReg As Integer sContaReg = Rs1.RecordCount I = 0 valret = Null Select Case intCode Case acLBInitialize ' Inicializa. With Rs1 ReDim strNome(sContaReg, 5) 'redimensiona conforme nº linhas do recordset .MoveFirst For I = 0 To sContaReg - 1 strNome(I, 0) = !COD strNome(I, 1) = !Matr strNome(I, 2) = !Nome strNome(I, 3) = !Telefone strNome(I, 4) = !Celular strNome(I, 5) = !Bairro .MoveNext Next I End With valret = True 'deve ser diferente de zero ou Null para prosseguir. Case acLBOpen ' Abre. valret = Timer ' Gera Código exclusivo. Case acLBGetRowCount ' Obtém linhas. valret = -1 ' significa desconhecido 'Case acLBGetColumnCount ' Obtém colunas. 'valret = 2 'Case acLBGetColumnWidth ' Obtém a largura da coluna. 'valret = -1 ' Utiliza a largura padrão. Case acLBGetValue ' Obtém os dados. valret = strNome(lngRow, lngCol) Case acLBEnd 'Fim Erase strNome 'limpa a matriz. End Select PreencheLista = valret 'preenche a Listbox lblSelecionadas.Caption = sContaReg & " Aluno(s) Filtrado(s)" Exit Function Err_Preenche: Select Case Err Case 9, 91 ' Erro gerado na 1ª vez que abrir Resume Next Case 3420, 3021 ' Causado pelo botão Limpar (Rs1.Close) PreencheLista = Null Case Else MsgBox "Erro nº " & Err & vbCrLf _ & Err.Description, vbCritical, "Erro" End Select End Function o erro acontece quando vou usar o form de pesquisa e digito algo. ai da erro: Erro de compilação: Sub ou Fuction não definida. e ele marca o .FindBy abaixo: alguém tem ideia do que possa ser? já verifiquei se era falta da referencia Microsoft DAO 3.6 mas no access 2007 ela já vem como padrão.
  5. sua duvida está aqui tb http://scriptbrasil.com.br/forum/index.php?showtopic=152707
  6. não entendi porque você precisa de varias tabelas separadas por datas? elas não contem os mesmos campos? porque não usa uma tabela apenas e na consulta é que você faz a separacao por datas?
  7. Humm

    DoCmdSql ...Where

    posso te dar uma ideia? ao invés de ficar atualizando campo do estoque, porque você não cria uma tabela de entrada e outra de saida. assim a posicao de estoque seria apenas um campo calculado que retorna o resutado de entrada - saida sacou? alem disso, tendo controle de entrada e saida, você sabe o q entrou, quando entrou, o q saiu, e quando saiu abraços
  8. alem do refresh, acho q me lembro dum comando chamado redraw que atualiza a tela. se não me engano, vai no evento apos atualizar e manda rodar o codigo: me.redraw acho q era isso
  9. crie um formulario para invocar a consulta com o campo onde o funcionario digitara sua matricula. então, na consulta, no criterio do campo matricula use: negado como form!nome_do_form!campo_do_form abraços
  10. bom.. tambem to tentando imaginar pra que mais de 250 campos em uma tabela. acho que o amigo não conhece o recurso de subformularios, campos mestres, campos filhos, etc e tal. mas.. sorte ai no teu projeto
  11. Humm

    Fluxo de caixa

    bom, se você usa consulta.. coloque no criterio : data() -1
  12. Humm

    consultas com data

    na consulta, no criterio do campo DATA você pode usar: data() - 1 pois: data() = dia de hj - 1 = menos 1 dia
  13. Humm

    formularios

    seu problema é que você não sabe o que quer.. antes de se elaborar um programa, é preciso fazer uma analise das necessidades e depois um esboço de como aplica-las da forma mais dinamica possivel em um programa. pense em modulos modulo de cadastro de clientes modulo de cadastro de produtos modulo de cadastro de preços/produto modulo de vendas e por ai vai
  14. é possivel sim! você tem que criar um evento que chame um codigo vba. vou lhe dar um exemplo de codigo: Dim db As DAO.Database, Rs As DAO.Recordset Set db = CurrentDb() 'AQUI VEM A TABELA QUE RECEBE DADOS DO FORM Set Rs = db.OpenRecordset("TABELA_QUE_RECEBERA_DADOS") 'AQUI O COMANDO QUE CRIA UM NOVO REGISTRO NESSA TABELA Rs.AddNew 'AQUI O COMANDO QUE VAI COPIAR OS DADOS DO FORM NA TABELA, USE UM Rs PARA CADA CAMPO Rs("CAMPO_DA_TABELA_QUE_RECEBE_DADOS") = Me.CAMPO_DO_FORM_QUE_CONTEM_DADOS 'AQUI O COMANDO QUE SALVA A TABELA Rs.Update db.Close Set db = Nothing Set Rs = Nothing
  15. Humm

    criterio de consulta

    não estou errando. eu não quero filtrar ID. quero filtrar pela terceira coluna mesmo do campo. so não sei o que usar no criterio. no vba usa-se campo.column(n) mas isso não funciona no criterio de consulta. de qualquer forma já to aplicando um metodo alternativo.
  16. Humm

    criterio de consulta

    bom, a duvida é simples mas não achei ainda a solucao tenho uma consulta que retorna valores de uma tabela. um dos valores é de um campo combox [FORMA] que tem 3 colunas. eu quero usar um criterio que filtre apenas o valor da 3 coluna desse combox e não to conseguindo, pois da erro de dados incompativeis. pois o access entende que o valor armazenado nesse campo é o valor da column(0) como faço pra filtrar pelo [forma].column(2) ? tipo, pra ficar melhor de entender: o campo forma é uma caixa de listagem que tem 3 colunas ID - NOME DA FORMA - TIPO 1 - Dinheiro - à vista 2 - Boleto - à receber a coluna acoplada do campo [forma] é o ID na consulta eu quero que esse campo retorne apenas os valores "à receber" que é o column(2) do [FORMA] o que uso no criteiro?
  17. eu fiz um sistema de login com essas opcoes e deixei pra posteridade aqui no forum. faça uma pesquisa procurando topicos: login e pelo meu nick Humm talvez o aquivo já n esteja mais disponivel para download. se for o caso eu vou modificar o host. abraços
  18. Humm

    Retirar o logotipo do Office

    da sim.. acho que você tem q colocar um arquivo de imagem.bmp na pasta onde tem a aplicacao, e usar o mesmo nome do arquivo da aplicacao abraços
  19. bom, o cenario aqui é aplicacao e bd do access.. abraços
  20. não sei se vem ao caso http://scriptbrasil.com.br/forum/index.php?showtopic=116706
  21. Humm

    Impressão de Etiquetas

    bom amigo, se voce digita jose logicamente a consulta vai ignorar o josé pois E e É são dois caracteres diferentes. acho que é mais facil voce substituir todos os josé por jose ou vice versa. agora, se voce digitar jos apenas, ai sim vao aparecer ambos e tudo mais que possa ser possiel com jos abraços
  22. exemplo: voce tem 2 maquinas maquina 1 - contem o banco de dados. (bancodedados_BE.mdb) maquina 2 - vai acessar o banco de dados da maquina 1 você instala hamachi nas duas maquinas. cria um rede no hamachi com senha. o hamachi vai atribuir um IP fixo para cada maquina.. exemplo: 1 - 45.65.7.88 2 - 45.65.7.89 na maquina 1 voce compartilha pelo windows a pasta que contem o banco de dados com acesso total. leitura e escrita. vamos supor que o nome do compartilhamento então fique como "BD" no frontend da maquina 2, que vai acessar o banco de dados da maquina 1, voce deve então reimportar ou corrigir o link das tabelas vinculadas para o banco de dados adotando o seguinte path: \\45.65.7.88\BD\bancodedados_BE.MDB assim, o front end vai encontrar o banco de dados do PC 1 pela rede do hamachi. abraços
  23. os relatorios tem recursos de função para campos como soma parcial e soma total para campos calculados. se não me engano isso aparece nas propriedades de cada campo. selecionando o campo como soma parcial, indica q será um campo totalizador acumulador.. mostra o total acumulado a cada registro. o de soma total mostra o total de todos os registros. abraços
  24. não entendi o que você quer
  25. Instale o Hamachi no servidor e nos clientes que acessarem pela internet. Então você cria pela maquina Server que contem o banco de dados, uma rede dentro do hamachi com senha. Isso servirá de Tunneling seguro entre seus clientes e o server. Sendo assim, o hamachi designará um IP para o servidor e cada maquina com hamachi instalado. Ai, você cria um frontend que vincule as tabelas pelo IP do hamachi do servidor, exemplo: \\45.6.76.45\C\Programa\base_be.mdb assim como voce fez pra importar as tabelas nos seus frontend, porem atravez do IP do hamachi dessa vez. abraços
×
×
  • Criar Novo...