Ir para conteúdo
Fórum Script Brasil

Humm

Membros
  • Total de itens

    570
  • Registro em

  • Última visita

Tudo que Humm postou

  1. Bom dia. To desenvolvendo uma aplicação aqui e to usando o netbeans. Pois bem, eu criei 2 JFrames.. um se chama Login e o outro MainMenu Até o momento, funciona assim: De dentro do Login, após o login ter sucesso, exite um evento que cria uma instancia nova do JFrame MainMenu e torna o JFrame Login oculto. package delivery; import java.awt.Color; import java.awt.event.KeyEvent; import java.sql.SQLException; import java.util.logging.Level; import java.util.logging.Logger; import javax.swing.ImageIcon; public class Login extends javax.swing.JFrame { MainMenu mainmenu; private ConectaFirebird con; public Login() { con = new ConectaFirebird(); initComponents(); // < ICONE DA JANELA this.setIconImage(new ImageIcon(getClass() .getResource("dico32.png")).getImage()); // ICONE DA JANELA > } private void txtSenhaKeyPressed(java.awt.event.KeyEvent evt) { //aqui dispara a nova instancia MainMenu if (mainmenu == null) { mainmenu = new MainMenu(); mainmenu.setLocationRelativeTo(null); mainmenu.setVisible(true); mainmenu.setResizable(false); Login.this.setVisible(false); //Login.this.dispose(); } else { mainmenu.setLocationRelativeTo(null); mainmenu.setVisible(true); mainmenu.setResizable(false); Login.this.setVisible(false); //Login.this.dispose(); } } Até ai tudo bem.. mas então eu coloquei um botão de evento Sair no JFrame MainMenu.. e a idéia é que ao clicar, dê um MainMenu.this.dispose() e então de um .setvisible(true) no JFrame Login.. mas pra ser sincero não to sabendo como referenciar essa instancia do JFrame Login que está oculta dentro do JFrame MainMenu Se eu usar new Login() ele cria uma nova e a oculta permanece lá.. eu imagino que antes de criar a instancia Jframe MainMenu a partir do JFrame Login, eu tenha que já mandar referenciado.. mas como faço isso? grato.
  2. amigo, isso ocorre porque o SQL não ta sabendo o q e é esse TOTAL Veja bem, você criou um campo calculado chamado TOTAL.. mas isso é apenas um rotulo de um resultado de calculo, não pode ser usado como se fosse uma variavel total. ali na utima coluna que aparece na imagem, voce vai ter que repetir a expressao de calculo que simboliza o TOTAL, sacou?? abraços
  3. deixa eu entender.. voce que exibir em formado de paginas guia cada registro que você tem na tabela de pessoal? nunca tentei fazer isso, até ahco possivel, porem problematico, uma vez que os controles guia não foram feitos para esse fim.
  4. Humm

    Controle de Estoque

    oi amigo.. esse assunto sobe estoque já foi bem exemplificado.. inclusive com bds de exemplo.. esse teu conceito sobre saldo por exemplo está errado. da uma procurada ai que você vai achar o tópico, e até exemplos pra baixar abcos
  5. é possivel sim.. antes de mais nada, faça uma consulta para cada tipo de movimentacao.. uma para seguros, outra para impostos e assim por diante.. feito isso, voce vai passar a ter uma consulta com cada totalizacao por tipo de movimentacao.. então voce cria uma nova consulta e nela você utiliza essas consultas de totais.. entendeu?
  6. na verdade voce não precisa de uma tabela estoque, muito menos de um campo estoque. entenda a diferença entre DADOS e INFORMAçÃO DADOS são os componentes que compoem um problema. por exemplo: voce tem a classe PRODUTOS.. dentro de produtos.. você tem os DADOS: codigo descricao preço unitario qtde minima fornecedor então para movimentar os produtos, voce precisa de uma classe ENTRADA que seria a de compra e nela os dados: codigo (campo relacionado a PRODUTOS.CODIGO) data entrada qtde preço de custo e tambem uma tabela SAIDA que seria a de vendas e nela os dados: codigo (campo relacionao a PRODUTOS.CODIGO) data saida qtde valor unitario pronto, voce já consegue coletar todos os DADOS inerentes ao produtos e sua movimentacao.. agora vamos entender o que é INFORMAÇÂO: é tudo aquilo que é resultado de um calculo de um dado ou entre os dados. sendo assim, INFORMAÇÃO é a solucao de um problema. ou seja, o total em estoque, não é um dado, e sim uma informação, pois: estoque = total que entrou - total que saiu logo, para se obter o estoque, voce precisa criar uma consulta totalizando as entradas.. e outra totalizando as saidas, ambas agrupadas pelo codigo do produto. feito isso, cria-se uma terceira consulta onde voce subtrai o total de entradas pelo total de saida. pronto, voce terá seu saldo de etoque sempre atualizado e sem a menor margem de erro.
  7. amigo, acredito que sua logica está errada. ao invés de ter um campo sim/não.. eu faria o seguinte: use os campos que você já tem de datas: datar e datae crie uma consulta simples de nome CONS_REV_IND com a tabela REQUISICAO usando criterio nos campos DATAR e DATAE: DATAR = NOT NULL DATAE = IS NULL isso trará as revistas que estão indisponiveis. então crie uma nova consulta usando a tabela REVISTA e a consulta CONS_REV_IND faça um relacionamento do tipo LEFT JOIN entre REVISTA e CONS_REV_IND pelo campo ID da revista adicione na consulta pelo menos os campo revista.id_rev e depois CONS_REV_IND.id usando criterio neste ultimo = IS NULL assim a consulta te retornara todas as revistas cadastradas menos aquelas que estão requisitadas e não tiveram data de entrega lançada. abraços
  8. pode tb usar a função format(campo, formato) pesquise a sintaxe na ajuda do access
  9. user: admin senha: admin
  10. não entendi.. mas a sintaxe é: seimed(expressão;valor se verdadeiro;valor se falso)
  11. direito do mouse no espaço sem nada do form, e escolha a opção: ordem de tabulação
  12. Humm

    Alterações diversas....!

    no 2010 tambem.. ao alterar um atributo da tabela, ele pergunta se você quer propagar essa alteração para outros objetos dependentes do atributo
  13. Humm

    Proteção Access

    ué, mandei proteger o banco de dados com senha.. tem esse recurso no access.. o lance é q se você usa tabelas vinculadas no projeto, vai ter q revincular pois ele pede essa senha na hora de vincular
  14. Humm

    Problemas com IF

    da uma lida na sintaxe do do.. loop http://www.juliobattisti.com.br/artigos/of...a_access_p9.asp
  15. Humm

    Proteção Access

    olha, depois q protejo meu accdb com senha.. se eu tentar importar atraves de um bd em branco ou até tentar vincular os dados em um frontend, pede senha do mesmo jeito
  16. Humm

    cabeçalho de formulario

    quando eu uso caixa de texto para esse fim, eu a coloco no criterio da consulta que é exibida no detalhe do form continuo.. e no evento after update eu dou um me.requery ou me.refresh
  17. Humm

    (Resolvido) ajuda com subquery

    na lata iceguy!!! .. eu ate tinha tentado isso só esqueci do AS PEDIDOS_PGTOS heheh e não dava certo
  18. tenho essa query: strSQL = "SELECT PRODUTOS.COD_PROD, PRODUTOS.DESCR, Sum(PEDIDOS_ITENS.QTDE) AS TOTAL_PRO " & _ "FROM PEDIDOS_PGTOS INNER JOIN ((PRODUTOS INNER JOIN PEDIDOS_ITENS ON PRODUTOS.COD_PROD = PEDIDOS_ITENS.COD_PROD) INNER JOIN PEDIDOS ON PEDIDOS_ITENS.COD_PED = PEDIDOS.COD_PED) ON PEDIDOS_PGTOS.COD_PED = PEDIDOS.COD_PED " & _ "WHERE (((CDate(Format([DT_HR],""dd/mm/yyyy""))) Between #" & Me.DT_IN & "# And #" & Me.DT_OUT & "#) And ((PEDIDOS.TRASH)=False)) " & _ "GROUP BY PRODUTOS.COD_PROD, PRODUTOS.DESCR " & _ "ORDER BY PRODUTOS.DESCR" só que eu preciso trocar essa tabela PEDIDOS_PGTOS pela subquery: SELECT PEDIDOS_PGTOS.COD_PED FROM PEDIDOS_PGTOS GROUP BY PEDIDOS_PGTOS.COD_PED na verdade eu não vou resgatar nenhum dado dessa subquery, eu so quero ela para o innerjoin, para que toda a query só retorne resultados se não for nulo PEDIDOS_PGTOS.COD_PED da subquery eu poderia fazer direto pela tabela, como ta no exemplo anterior, mas o problema é que essa tabela pode ter mais de mesmo dado PEDIDOS_PGTOS.COD_PED igual, pois essa tabela PEDIDOS_PGTOS é uma relação de um-para-muitos da tabela PEDIDOS.. ai fica repetindo o valor na query e na hora da soma, o resultado sai dobrado. alguém ajuda?
  19. tem um exemplo de sistema de estoque que você pode adequar a sua necessidade, pois a logica do saldo é a mesma. humm.4shared.com
  20. Humm

    erro 13: tipos incompativeis

    sim, antes até estava no 2.2, mas testei todas as versoes.. tanto que no accdb ele funciona.. mas se compilar em accde, mesmo com a referencia marcada, o que faz com que a dll seja incluida no projeto, da pau. na oresolvi o problema, mas fui pra alternativa do DAO e ta funcionando perfeitamente. só pra deixar bem claro.. vou explicar em que cenário ocorre o problema: arquivo em accde + runtime
  21. seguinte, nessa tabela de debitos, na verdade deveria se chamar movimentos.. o mesmo campo de debitos, tem q servir pra creditos.. e ai você cria mais um campo so pra especificar se o lancamento do momento é debito ou credito.. feito isso, crie uma consulta que totalize os creditos, e os debitos.. e depois outra consulta que faça a diferença entre cada total.. ai você vai ter o chamado SALDO ATUAL
  22. Humm

    erro 13: tipos incompativeis

    descobri uma coisa.. se eu mudar o metodo de conexao ADO que to usando para DAO, ai não da erro nenhum, fica tudo numa boa.. seria bug do ADO ?
  23. então, tenho um projeto que funciona perfeitamente bem na minha maquina.. mas ao roda-lo accde em uma maquina com runtime instalado, alguns procedimentos dao esse erro 13: tipos incompativeis. se eu rodar accdb nessa mesma maquina com runtime, ele roda perfeito.. e essa? quem explica? um dos codigos que da erro: Private Sub BT_PRINT_Click() Dim conn As ADODB.Connection Dim cmd As ADODB.Command Dim RS As ADODB.Recordset On Error GoTo BT_PRINT_Click_Error Set conn = CurrentProject.Connection Set cmd = New ADODB.Command cmd.ActiveConnection = conn If IsNull(DLookup("[COD_PROD]", "PRODUTOS")) Then MsgBox "Não existem nenhum produto cadastrado ainda.", vbInformation, "Impressora" Exit Sub End If cmd.CommandText = "SELECT COD_PROD, DESCR, preço " & _ "FROM PRODUTOS " & _ "WHERE TRASH = FALSE " & _ "ORDER BY DESCR" Set RS = cmd.Execute CHECK: If IsNull(DLookup("[prnport]", "app")) Or DLookup("[prnport]", "app") = "" Or IsNull(DLookup("[espace]", "app")) Or DLookup("[espace]", "app") = "" Then MsgBox "As configurações de impressão não foram efetuadas ainda." & vbNewLine & vbewline & "Defina as configurações na janela a seguir...", vbInformation, "Configurações de Impressão" DoCmd.OpenForm "print_cfg", , , , , acDialog GoTo CHECK End If fanta = DLookup("[fant]", "config") port = DLookup("[prnport]", "app") endspace = DLookup("[espace]", "app") Open port For Output As #1 Print #1, fanta Print #1, ende Print #1, ende2 Print #1, Format(telef, "(@@) @@@@-@@@@") Print #1, www Print #1, "------------------------------------------------" Print #1, " TABELA DE PREÇOS " Print #1, "------------------------------------------------" Print #1, "CODIG DESCRIÇÃO preço R$" POS = 1 PAG = 1 PAGS = 0 RS.MoveFirst Do While Not RS.EOF PAGS = PAGS + 1 RS.MoveNext Loop If PAGS >= 100 Then PAGS = PAGS / 100 PAGS = Format(PAGS, "0") Else PAGS = 1 End If RS.MoveFirst Do While Not RS.EOF If POS = 101 Then Print #1, "" Print #1, "Pagina " & PAG & " de " & PAGS Print #1, "Impresso em " & Now For i = 1 To endspace Print #1, "" Next i Close #1 MsgBox "Pagina " & PAG & " de " & PAGS & vbNewLine & "Aguarde o término da impressão..." & vbNewLine & "Destaque a página e pressione OK para continuar...", , "Impressora" PAG = PAG + 1 POS = 1 Open port For Output As #1 End If COD = Format(RS("COD_PROD"), "0000") DESC = Left(RS("DESCR"), 35) PR = Format(RS("preço"), "#.00") Print #1, COD & " " & DESC & Replace(Space(43 - Len(DESC) - Len(PR)), " ", ".") & PR RS.MoveNext POS = POS + 1 Loop Print #1, "" Print #1, "Pagina " & PAG & " de " & PAGS Print #1, "Impresso em " & Now For i = 1 To endspace Print #1, "" Next i Close #1 On Error GoTo 0 Exit Sub BT_PRINT_Click_Error: ARQUIVO = "C:\SysControl\Delivery\error_log.txt" Open ARQUIVO For Append As #9 Print #9, Now() & " - " & Me.Name & "(BT_PRINT_Click)" Print #9, "Erro " & err.Number & ": "; err.Description Close #9 MsgBox "Ocorreu um erro inesperado." & vbNewLine & vbNewLine & "Por favor, entre em contato com house.fix.macae@gmail.com e relate o problema ocorrido. Obrigado!", vbCritical, "Erro!" End Sub
  24. só um alerta.. se você instalar o office 2010 ou access 2010 SP1 na sua maquina, e ai você salvar ou compilar um projeto nessa versao, o runtime do access em outras maquinas sem SP1 não vao abrir o accdb ou accde será necessario atualizar todas as maquinas com access 2010 para o SP1.. 75 megas a atualizacao. e parece que é um caminho sem volta, uma vez salvo ou compilado em SP1, não volta mais.
×
×
  • Criar Novo...