Ir para conteúdo
Fórum Script Brasil

Humm

Membros
  • Total de itens

    570
  • Registro em

  • Última visita

Tudo que Humm postou

  1. eu tenho uma tabela SUB_VENDAS que tem os campos COD_FILHO REFERENCIA QTDE e VALOR exemplo: COD_FILHO --- REF --- QTDE --- VALOR 00001 --- 0 --- 2,0 --- R$ 1,00 00001 --- 0 --- 1,0 --- R$ 1,00 00002 --- 0 --- 5,0 --- R$ 1,00 então eu preciso saber o valor total da REFERENCIA = 0 para cada COD_FILHO fiz uma consulta selecao para isso e me retornou os valores corretamente. COD_FILHO --- TOTAL 00001 --- R$ 3,00 00002 --- R$ 5,00 agora eu preciso de uma consulta atualizacao para abrir a tabela VENDAS e atualizar o campo DESCONTO com o valor total da consulta que fiz antes ligando o campo COD ao COD_FILHO mas ao tentar ele diz que "a operação deve usar uma consulta atualizável." e não deixa prosseguir. acontece que o campo da consulta atualizacao que quero atualizar é de uma tabela e não de uma consulta.. não sei porque ele ta dando esse erro. alguém ai da uma luz? EDITADO: eu acho que tem um bug feio no access neste tipo de consula ou talvez uma "incapacidade" eu tive que criar uma tabela com os campos COD_FILHO e TOTAL ai então eu copiei os valores da consulta do total que fiz e colei nesta tabela.. no ctrl + c.. ctrl + v mesmo ai então ele aceitou outra tabela como ponto de referencia pra buscar dados na consulta atualizacao.. ou seja, a consulta atualizacao não aceita que voce use outra consulta nem como referencia ou criterio
  2. na janela de abrir do access.. no botao abrir tem uma seta pra opcoes
  3. Humm

    Referencia A Registros

    =[valor]*dlookup("[registro]","tabpreços","[registro]=" & "1")
  4. use as consultas com totalizadores para isso
  5. então cara.. tenta o que eu disse.. abre sem ser em modo exclusivo.. tipo abre o access e abre o mdb com opcao avancada desmarcando o modo exclusivo.. aqui na mesma maquina, seja cliente ou servidor eu posso abrir quantas instancias eu quiser do mesmo mdb
  6. é facil.. crie uma rotina "após atualizar" nesta combo que você fez com o seguinte(vou dar o exemplo para o campo nome e endereço, o resto voce faz conforme sua necessidade): Sintaxe do DlookUp: DlookUp("[Campo]", "Tabela", "Critério") Campo = Campo que contém o valor que voce deseja capturar. Tabela = Tabela que contém o Campo. Critério = Critério a ser usado para resgatar o campo. Private Sub Combo_Cliente_BeforeUpdate(Cancel As Integer) 'Definindo Valores dos Campos Me.Nome = Dlookup("[nome]", "Tab_Clientes", "[cód_cli]=" & Me.Combo_Cliente) Me.Endereço = Dlookup("[endereço]", "Tab_Clientes", "[cód_cli]=" & Me.ComboCliente) 'Foco Vai Para Me!Campo_Que_Voce_Quer_Que_Fique_com_foco_no_final.SetFocus End Sub
  7. cara.. eu acho que esse teu sistema de estoque ta meio confuso.. criar tabela pra que? pra cada produto uma tabela? isso? se for, eu não acho nada pratico. melhor é ter uma tabela para cadastrar os produtos e uma outra tabela relacionada pra lançar as entradas de estoque.
  8. mesmo sem dividir o BD.. ele funciona em rede sem problemas.. é so você desmarcar a opcao de rodar em modo exclusivo que ele vai rodar beleza em todas as maquinas desde que o arquivo mdb esteja no servidor. aqui eu uso assim, porem já to pensando em dividir para poder melhorar o desempenho.
  9. Humm

    Campos No Access

    na verdade acho que o mais correto seria ter uma tabela principal de venda, uma para os itens vendidos e outra para forma de pagamento
  10. eu so uso mesmo campo para armazenar resultados de valores quando os valores são variaveis.. mesmo assim é raro. eu acho que depois que você separa o sistema ou remove o codigo fonte.. o processamento fica muito rapido.
  11. olá amigo.. na verdade na tabela principal você n precisa ter um campo de valor total, visto que, esse resultado é soma de valores e não um dado que você entra na tabela. crie apenas uma caixa de texto "não acoplada" no rodape do sub_form tipo (campo calculado) e coloque: =soma([qtdedoitem]*[valordoitem]) isto lhe dara o valor total de todos os itens nomeie esta caixa de texto do rodape como "TOTAL" crie uma caixa de texto "não acoplada" no form principal tipo (campo calculado) entre nas propriedades dela e no campo "origem do controle" clique em contriur para abrir o contrutor de expressoes la, clique em = e depois selecione "formularios\formularios carregados\" selecione o seu formulario principal depois o sub_form la de 2 clique no campo TOTAL de OK e pronto depois você pode tornar invisivel a caixa de texto do TOTAL do subform
  12. certo. crie uma macro que apos atualizar o campo que você digita o valor do controle que possui os valores com o seguinte: irparacontrole (aqui ela vai pro controle que você quer) definir valor (aqui você faz uma dpesquisa(dlookup) para resgatar o valor de acordo com o numero do controle)
  13. Humm

    Recurso De Relogio

    mas é exatamente assim que está.. por causa disso, a cada segundo, é como se o form que tem o relogio recebesse o foco por um breve momento e depois voltasse no outro form.. logo, se eu clicar em algum botao de outro form neste momento, ele da erro dizendo que o comando n está disponivel porque n sabe a que form se refere.
  14. Humm

    Recurso De Relogio

    o relogio na verdade é um rotulo e não um controle
  15. preciso de uma rotina que proiba o usuario de criar um novo registro se o campo SEQ estiver nulo eu sei da propriedade "requerido" na tabela porem n posso usar isto, porque outros campos do form exigem "refresh" e quando isso ocorre fica dando avisos que o campo SEQ não foi preenchido. alguém sabe como fazer?
  16. Humm

    Recurso De Relogio

    eu coloquei um relogio em um form principal aqui na minha aplicacao via VB.. acontece que essa rotina tira de foco qualquer outro form por 1 seg de seg em seg.. ai executo algum docmd da erro informando que o comando n pode ser executado naquele momento. exemplo.. um docmd.gotocontrol ou docmd.runcommand accmddeleterecord o que eu posso fazer pra manter o reloginho no form principal sem atrapalhar os outros forms?
  17. Humm

    Consulta Acréscimo

    eu nunca tive este erro.. nem em consulta acrescimo nem de exclusao. seria interessante você descrever o que esta consulta faz ou ate anexar um link aqui com o seu bd pra eu dar uma olhada..
  18. amigo.. para que estes valores fiquem registrados na tabela, você tem que vincular essa combo a um campo está tabela.. exemplo: na tabela deste formulario, crie um campo com o nome que você deseja exemplo: FORMA_PG no form, adicione este campo, e transforme-o em caixa de combinacao. na origem dos dados da lista clique em contruir, na consulta adicione a tabela deste form e na grade dela somente este mesmo campo FORMA_PG salve tudo e teste. vamos supor.. no registro 1 do seu form, voce insere DINHEIRO no campo FORMA_PG então no registro 2 quando você clicar pra listar, DINHEIRO já vai aparecer la ai voce so precisa colocar uma vez em algum registro para que ele passe a aparecer na lista. e também vai ser armazenado na tabela obs: se por acaso quando em 2 registros você colocar DINHEIRO.. e então no proximo, na lista aparecer DINHEIRO duas vezes, me avise
  19. é facil.. faça o seguinte.. transforme este campo que você quer em caixa de combinação.. a origem dos dados da lista mande apontar pra tabela e para este mesmo campo da tabela.. assim toda vez que voce entrar com DINHEIRO por exemplo neste campo, no proximo registro, a opcao DINHEIRO vai aparecer automaticamente pra você.
  20. cara.. se você armazenar resultados de consultas.. você vai abarrotar o seu BD em pouquissimo tempo com dados redundantes..
  21. isso!!! vejam o que eu fiz: setei a propriedade de eventos "visualizar teclas" como "sim" abri o VB (tecla alt+f11) dei 2 clics no form que eu quero colei isso: Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) Select Case KeyCode Case vbKeyF4 MsgBox "voce pressionou F4" End Select End Sub onde está o msgbox você pode colocar o docmd. que voce deseja cada case é uma tela as teclas no vb são interpretadas por: Constante Valor Descrição VbKeyLButton 0x1 Botão esquerdo do mouse VbKeyRButton 0x2 Botão direito do mouse vbKeyCancel 0x3 Tecla CANCEL vbKeyMButton 0x4 Botão central do mouse vbKeyBack 0x8 Tecla BACKSPACE vbKeyTab 0x9 Tecla TAB vbKeyClear 0xC Tecla CLEAR vbKeyReturn 0xD Tecla ENTER vbKeyShift 0x10 Tecla SHIFT vbKeyControl 0x11 Tecla CTRL vbKeyMenu 0x12 Tecla MENU vbKeyPause 0x13 Tecla PAUSE vbKeyCapital 0x14 Tecla CAPS LOCK vbKeyEscape 0x1B Tecla ESC vbKeySpace 0x20 BARRA DE ESPAÇOS vbKeyPageUp 0x21 Tecla PAGE UP vbKeyPageDown 0x22 Tecla PAGE DOWN vbKeyEnd 0x23 Tecla END vbKeyHome 0x24 Tecla HOME vbKeyLeft 0x25 Tecla SETA À ESQUERDA vbKeyUp 0x26 Tecla SETA ACIMA vbKeyRight 0x27 Tecla SETA À DIREITA vbKeyDown 0x28 Tecla SETA ABAIXO vbKeySelect 0x29 Tecla SELECT vbKeyPrint 0x2A Tecla PRINT SCREEN vbKeyExecute 0x2B Tecla EXECUTE vbKeySnapshot 0x2C Tecla SNAPSHOT vbKeyInsert 0x2D Tecla INSERT vbKeyDelete 0x2E Tecla DELETE vbKeyHelp 0x2F Tecla HELP vbKeyNumlock 0x90 Tecla NUM LOCK As teclas de A a Z são iguais a seus equivalentes A – Z em ASCII: Constante Valor Descrição vbKeyA 65 Tecla A vbKeyB 66 Tecla B vbKeyC 67 Tecla C vbKeyD 68 Tecla D vbKeyE 69 Tecla E vbKeyF 70 Tecla F vbKeyG 71 Tecla G vbKeyH 72 Tecla H vbKeyI 73 Tecla I vbKeyJ 74 Tecla J vbKeyK 75 Tecla K vbKeyL 76 Tecla L vbKeyM 77 Tecla M vbKeyN 78 Tecla N vbKeyO 79 Tecla O vbKeyP 80 Tecla P vbKeyQ 81 Tecla que vbKeyR 82 Tecla R vbKeyS 83 Tecla S vbKeyT 84 Tecla T vbKeyU 85 Tecla Usuário vbKeyV 86 Tecla V vbKeyW 87 Tecla W vbKeyX 88 Tecla X vbKeyY 89 Tecla Y vbKeyZ 90 Tecla Z As teclas de 0 a 9 são iguais a seus equivalentes 0 – 9 em ASCII: Constante Valor Descrição vbKey0 48 Tecla 0 vbKey1 49 Tecla 1 vbKey2 50 Tecla 2 vbKey3 51 Tecla 3 vbKey4 52 Tecla 4 vbKey5 53 Tecla 5 vbKey6 54 Tecla 6 vbKey7 55 Tecla 7 vbKey8 56 Tecla 8 vbKey9 57 Tecla 9 As seguintes constantes representam teclas no teclado numérico: Constante Valor Descrição vbKeyNumpad0 0x60 Tecla 0 vbKeyNumpad1 0x61 Tecla 1 vbKeyNumpad2 0x62 Tecla 2 vbKeyNumpad3 0x63 Tecla 3 vbKeyNumpad4 0x64 Tecla 4 vbKeyNumpad5 0x65 Tecla 5 vbKeyNumpad6 0x66 Tecla 6 vbKeyNumpad7 0x67 Tecla 7 vbKeyNumpad8 0x68 Tecla 8 vbKeyNumpad9 0x69 Tecla 9 vbKeyMultiply 0x6A Tecla SINAL DE MULTIPLICAÇÃO (*) vbKeyAdd 0x6B Tecla SINAL DE MAIS (+) vbKeySeparator 0x6C Tecla ENTER vbKeySubtract 0x6D Tecla SINAL DE MENOS (-) vbKeyDecimal 0x6E Tecla PONTO DECIMAL (.) vbKeyDivide 0x6F Tecla SINAL DE DIVISÃO (/) As seguintes constantes representam teclas de função: Constante Valor Descrição vbKeyF1 0x70 Tecla F1 vbKeyF2 0x71 Tecla F2 vbKeyF3 0x72 Tecla F3 vbKeyF4 0x73 Tecla F4 vbKeyF5 0x74 Tecla F5 vbKeyF6 0x75 Tecla F6 vbKeyF7 0x76 Tecla F7 vbKeyF8 0x77 Tecla F8 vbKeyF9 0x78 Tecla F9 vbKeyF10 0x79 Tecla F10 vbKeyF11 0x7A Tecla F11 vbKeyF12 0x7B Tecla F12 vbKeyF13 0x7C Tecla F13 vbKeyF14 0x7D Tecla F14 vbKeyF15 0x7E Tecla F15 vbKeyF16 0x7F Tecla F16
  22. troque o iiF por IfiMed e veja se resolve.. tavez o iif so funcione no vb lendo melhor agora: use NZ antes do valor para tornar Null em Zero exemplo: =Nz([campo])
  23. Humm

    Extrair Horas De Datas

    faça um exemplo ai amigo: crie uma tabela "Tabela1" com cod datahorain (formato data geral) datahoraexit (formato data geral) crie um form com os campos desta tabela na propriedade de evento do campo datahorain crie uma macro assim: açao: definir valor item: [datahorain] expressão: agora() na propriedade de evento do campo datahoraexit crie uma macro assim: açao: definir valor item: [datahoraexit] expressão: agora() agora crie uma consula, clique em exibir e selecione "modo sql" e cole isso la e salve: SELECT Tabela1.cod, Tabela1.texto, Tabela1.datahorain AS [Data e Hora Entrada], Tabela1.datahoraexit AS [Data e Hora Saída], ([Data e Hora Saída]-[Data e Hora Entrada])*24 AS [Total de Horas] FROM Tabela1; agora rode o form, coloque um nome qualquer no primeiro campo de enter, a data no datahorain entrara automatica.. mude o relogio do seu windows para 2 dias e de enter para entrar no datahoraexit campo com a data de dois dias a frente feche o form e execute a consulta use este exemplo pra adaptar a sua necessidade obs: repare que eu fiz um campo que pega data e hora no mesmo campo.. isso dará mais desempenho ao seu BD ao invez de criar um campo para a data e outro para a hora. porem dependendo da necessidade pode ter que ser assim. procurei algum canto aqui no forum pr aanexar o exemplo mas n encontrei. abraços
  24. Humm

    Preciso De Ajuda

    ahh.. entendi.. você quer pegar um campo com mais de 50 caracteres.. e o que sobra quer que ele insira em outro campo até completar 50 de novo e assim sucessivamente.. tem que ser via VB.. vai ser um pouco complicado
  25. Humm

    Preciso De Ajuda

    se você estiver falando do tamanho do campo de texto do access, ele pode ser de até 255 caracteres
×
×
  • Criar Novo...