
Jhowcs
Membros-
Total de itens
56 -
Registro em
-
Última visita
Tudo que Jhowcs postou
-
Obrigado Kuroi deu certo.... caso alguém precise ficou assim : Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer) If cmdPesquisar.Enabled Then Select Case KeyCode Case 112 cmdPesquisar_Click End Select Else End If If cmdGravar.Enabled Then Select Case KeyCode Case 113 cmdGravar_Click End Select Else End If If cmdCancelar.Enabled Then Select Case KeyCode Case 114 cmdCancelar_Click End Select Else End If If cmdApagar.Enabled Then Select Case KeyCode Case 115 cmdApagar_Click End Select Else End If If cmdSair.Enabled Then Select Case KeyCode Case 27 cmdSair_Click End Select Else End If End Sub
-
Consegui fazer muito obrigado!!! só tem mais uma coisinha.... no meu cadastro de cliente existem 3 estados do botões o 1º- estado inicial todos os controles foram bloqueados, apenas o txtCodigo ficará disponível nesse apenas o cmdPesquisar e o cmd Sair estarão com o .Enabled=true If Status = 1 Then 'estado inicial cmdPesquisar.Enabled = True cmdGravar.Enabled = False cmdCancelar.Enabled = False cmdApagar.Enabled = False cmdSair.Enabled = True 2º- inclusão de registro ElseIf Status = 2 Then cmdPesquisar.Enabled = False cmdGravar.Enabled = True cmdCancelar.Enabled = True cmdApagar.Enabled = False cmdSair.Enabled = False 3º-consulta/alteração de registro ElseIf Status = 3 Then cmdPesquisar.Enabled = False cmdGravar.Enabled = True cmdCancelar.Enabled = True cmdApagar.Enabled = True cmdSair.Enabled = False então é o seguinte dependendo do status bloqueia ou desbloqueia os controles e se caso eu F1 vai abrir o cmdpesquisar mas se por exemplo estiver no Status=3 que o cmdpesquisar esta marcado como false eu quero que não aconteça nada... será que fui claro? qualquer coisa perguntem que eu tento explicar melhor....rs... a minha dúvida.
-
e se eu quiser por exemplo apertar F2 e quiser que o programa grave(como se eu tivesse clicado no botão cmdgravar)
-
Gostaria que quando eu apertasse alguma dessas teclas F1, F2, F3 .... fosse como se eu clicasse nos botões, por exemplo se eu quiser gravar, em vez de eu clicar no botão gravar eu apenas aperto a tecla F2
-
Quando na janela "Data View" clico em "Add a Data Enviroment to the current Project" é exibido um erro que diz "ActiveX component can´t create object". Sem o data environment não tem como usar o Data Report?
-
Meu vb não tem essa referência (Crystal Reports ActiveX Design Run Time Library) e nem esse componente (Crystal Report Viewer ) como eu faço, meu vb também não da pra fazer tela de splash e também não funciona o data environment
-
to precisando de alguma apostila que me de uma luz sobre como chamar um relatório clicando num botão do vb. na verdade eu tenho um MDIForm e nesse MDIForm tem a parte de relatório... mais ou menos assim &Relatórios --Clientes --Vendas --Fechamento Caixa quando eu clicar nesse mdiform ele tem que me mostrar esse relatório... Help me!!!
-
e ae galera ninguém sabe nada sobre esse problema?
-
Tenho esse código para cadastro de vendedores só que quando o txtcodigoven perde o foco ele me pergunta duas vezes se eu desejo incluir novo, não to conseguindo achar onde ta esse erro, dêem uma olhada. se quiserem eu tenho o de cadastro de cliente que está funcionando perfeitamente. Option Explicit Dim novo As Boolean 'identifica se o usuário está incluindo ou não um novo registro Dim frase As String 'usada para montar as instruções SQL Dim codsel As Long 'Guarda o código do registro selecionado numa instrução Dim Con As New ADODB.Connection Dim TbCli As New ADODB.Recordset Private Sub Botao(Status As Byte) If Status = 1 Then 'estado inicial 'todos os controles foram bloqueados, apenas o txtCodigo ficará disponível cmdPesquisar.Enabled = True cmdGravar.Enabled = False cmdCancelar.Enabled = False cmdApagar.Enabled = False cmdSair.Enabled = True 'adicionamos Limpa Controls LimpaMask mskCpf LimpaMask mskData LimpaMask mskCep Bloqueia Controls, False txtCodigoven.BackColor = vbWhite txtCodigoven.Enabled = True ElseIf Status = 2 Then 'inclusão de registro cmdPesquisar.Enabled = False cmdGravar.Enabled = True cmdCancelar.Enabled = True cmdApagar.Enabled = False cmdSair.Enabled = False Limpa Controls LimpaMask mskCpf LimpaMask mskData LimpaMask mskCep txtCodigoven = codsel Bloqueia Controls, True ElseIf Status = 3 Then 'consulta/alteração de registro cmdPesquisar.Enabled = False cmdGravar.Enabled = True cmdCancelar.Enabled = True cmdApagar.Enabled = True cmdSair.Enabled = False End If End Sub Private Sub cmdApagar_Click() If MsgBox("Deseja Realmente Excluir Este Registro ?", vbYesNo + vbCritical, "Atenção...") = vbYes Then Con.Execute ("DELETE FROM cadastrovendedores WHERE codigo= " & Val(txtCodigoven.Text)) 'apagamos e voltamos ao estado inicial Botao (1) txtCodigoven.SetFocus End If End Sub Private Sub cmdCancelar_Click() 'Cancelamos uma operação em andamento.... e voltamos ao estado inicial novo = False Botao (1) txtCodigoven.SetFocus End Sub Private Sub cmdGravar_Click() 'O campos nome é exigido pelo BD. Para evitar esse erro, cancelamos 'a operação de gravação caso ele esteja vazio ou com brancos. 'A função TRIM() limpa e a Len calcula o comprimento do texto If Len(Trim(txtNomeven.Text)) < 2 Then MsgBox " Você não pode gravar se o campo nome estiver vazio!!!", vbOKOnly + vbCritical, "Atenção..." txtNomeven.SetFocus Exit Sub End If If novo Then 'Registro novo; vamos construir uma instrução INSERT INTO 'Primeiro relacionamos todos os campos da tabela cadastrocliente frase = "INSERT INTO cadastrovendedores (Codigo, Nome, Cpf, Rg,Data," frase = frase & "Rua, Nr, Bairro, Cidade, Uf, Cep," frase = frase & "DddFone,Fone, Dddcel, Cel)" frase = frase & " VALUES (" & txtCodigoven.Text & "," frase = frase & "'" & txtNomeven.Text & "'," frase = frase & "'" & mskCpf.Text & "'," frase = frase & "'" & txtRgven.Text & "'," frase = frase & "'" & mskData.Text & "'," frase = frase & "'" & txtRua.Text & "'," frase = frase & "'" & txtNr.Text & "'," frase = frase & "'" & txtBairro.Text & "'," frase = frase & "'" & txtCidade.Text & "'," frase = frase & "'" & txtUf.Text & "'," frase = frase & "'" & mskCep.Text & "'," frase = frase & "'" & txtDddfone.Text & "'," frase = frase & "'" & txtFone.Text & "'," frase = frase & "'" & txtDddCel.Text & "'," frase = frase & "'" & txtCel.Text & "')" Else 'registro existe frase = "UPDATE cadastrovendedores SET Nome= '" & txtNomeven.Text & "'," frase = frase & "Cpf= '" & mskCpf.Text & "'," frase = frase & "Rg= '" & txtRgven.Text & "'," frase = frase & "Data= '" & mskData.Text & "'," frase = frase & "Rua= '" & txtRua.Text & "'," frase = frase & "Nr= '" & txtNr.Text & "'," frase = frase & "Bairro= '" & txtBairro.Text & "'," frase = frase & "Cidade= '" & txtCidade.Text & "'," frase = frase & "Uf= '" & txtUf.Text & "'," frase = frase & "Cep= '" & mskCep.Text & "'," frase = frase & "Dddfone= '" & txtDddfone.Text & "'," frase = frase & "Fone= '" & txtFone.Text & "'," frase = frase & "Dddcel= '" & txtDddCel.Text & "'," frase = frase & "Cel= '" & txtCel.Text & "'" frase = frase & " WHERE codigo = " & Val(txtCodigoven.Text) End If Con.Execute (frase) 'grava e volta ao estado inicial Botao (1) 'o foco do controle vai para o txtcodigo novamente txtCodigoven.SetFocus End Sub Private Sub cmdPesquisar_Click() Set formulario = Me frmPesquisarVdr.Show End Sub Private Sub cmdSair_Click() Unload Me End Sub Private Sub Form_KeyPress(KeyAscii As Integer) KeyAscii = Asc(UCase(Chr(KeyAscii))) End Sub Private Sub Form_Load() Con.Open StringConexao Botao (1) Centraliza MDIBStar, Me End Sub Private Sub Form_Unload(Cancel As Integer) 'Antes de permitir o fechamento, verificamos a situação de txtNome.Enabled, 'assim, evitamos abandonar uma operação em andamento If txtNomeven.Enabled Then 'Cancel é um parametro Integer abortado quando igual a -1 Cancel = -1 MsgBox "Você não pode abandonar uma operação em andamento. Grave ou Cancele !", vbCritical, "Atenção" Else 'Aqui fecho a conexão, do contrário o usuario recebera uma mensagem de erro 'A propriedade .state verificara se a conexao realmente esta aberta If Con.State = 1 Then Con.Close End If End If End Sub Private Sub txtCodigoven_LostFocus() 'Verificamos se o usuário digitou um novo código, senão não prosseguimos If Val(txtCodigoven.Text) = 0 Then Exit Sub End If codsel = CLng(txtCodigoven.Text) 'Converte o conteúdo de txtCodigo em uma variável long 'Pesquisamos o código digitado com a instrução SELECT frase = "SELECT * FROM cadastrovendedores WHERE Codigo = " & Val(txtCodigoven.Text) 'O método execute do objeto connection executa a instrução e carrega o resultado... 'no objeto recordset Set TbCli = Con.Execute(frase) 'A propriedade EOF indica se é fim ou não de arquivo If Not TbCli.EOF Then 'Achamos o registro. Vamos exibi-lo preenchendo os controles do formulário, novo=false novo = False 'Vamos desbloquear os controles atribuindo True ao Eneble com o procedimento Bloqueia Bloqueia Controls, True 'Temos de bloquear o código pois, ele não deve ser alterado txtCodigoven.Enabled = False 'As aspas concatenadas impedem a atribuição de dados nulo em um text txtNomeven.Text = TbCli![Nome] & "" mskCpf.Text = TbCli![Cpf] & "" txtRgven.Text = TbCli![RG] & "" mskData.Text = TbCli![Data] & "" txtRua.Text = TbCli![Rua] & "" txtNr.Text = TbCli![Nr] & "" txtBairro.Text = TbCli![bairro] & "" txtCidade.Text = TbCli![cidade] & "" txtUf.Text = TbCli![Uf] & "" mskCep.Text = TbCli![Cep] & "" txtDddfone.Text = TbCli![Dddfone] & "" txtFone = TbCli![Fone] & "" txtDddCel.Text = TbCli![dddcel] & "" txtCel.Text = TbCli![Cel] & "" 'Aguardo a decisão em estado de alteração/consulta Botao (3) Else 'Pergunta se o usuário deseja cadastrar um novo código If MsgBox("Código não Cadastrado, Deseja incluir Novo?", vbExclamation + vbYesNo, "Atenção...") = vbYes Then 'estado de inclusão de registro Botao (2) novo = True 'txtCodigo é bloqueado, pois, como chave primária, não pode ser alterado txtCodigoven.Enabled = False End If End If End Sub
-
Cara meu VB não da pra usar o Data Environment, quando eu clico para criar ele da uma msg( ActiveX can't creat object). como eu faço pra conseguir usar o Data Environment pois eu preciso criar um relatório com o Data Report. já o Data link eu consigo criar.
-
Bom eu gostaria que quando eu abrisse o programa ele me informasse se tivesse algum produto com o estoque baixo fiz então esse código: frase = "select * from cadastroproduto where qtde <=2" Set TbCli = Con.Execute(frase) If Not TbCli.EOF Then MsgBox "Produto Com Baixo Estoque", vbInformation, "Atenção..." Else End If Só que eu queria que essa msgbox me mostrasse o produto que esta com o estoque baixo, com Código e nome do Produto.... é possível fazer isso?
-
o q acontece de errado?? isso funciona, mas é perda de tempo de processamento e falta de economia de linhas. não tá trazendo os valores somados, apenas o que estiver na primeira linha ele busca. Deu certo sim Kuroi obrigado pela ajuda.... não dava dando certo com os valores que eu já tinha cadastrado no saida de caixa, mas eu cadastrei novos valores e está somando tudo direitinho.... Obrigado...
-
o q acontece de errado?? isso funciona, mas é perda de tempo de processamento e falta de economia de linhas. não tá trazendo os valores somados, apenas o que estiver na primeira linha ele busca.
-
Kuroi desse jeito não deu certo ... será que eu não tenho que fazer um laço, enquanto não for EOF ele vai somando...
-
á saída do caixa eu posso gravar varias vezes ao dia, por exemplo: de manhã eu pago R$30,00 de Água, Á tarde R$70,00. ou seja no final do dia quanto eu for fazer o fechamento do caixa ele terá que pegar tudo o que saiu do caixa naquele dia no caso R$100,00. A questão é como fazer um SELECT para buscar pela data e trazer todos os valores somados daquela data eu estou fazendo assim: strSQL = "select * from saidacaixa where Data = '" & mskData.Text & "'" Set TbCli = Con.Execute(strSQL) If Not TbCli.EOF Then lblSaida.Caption = FormatCurrency(TbCli![Valor]) & "" End If Só que desse jeito ele só tá trazendo um valor, se eu fizer 10 saída do caixa ele só vai me trazer uma, eu quero que ele me traga todas da data que eu especificar e somadas. Tem como?
-
Consegui... criei três variáveis TotVenda, SaldoIni, Saida e no final calculei: lblTotalCaixa = FormatCurrency(TotVenda + Saldoini - Saida) Meu Código ficou assim: Private Sub cmdBuscar_Click() Dim x As Integer Dim TotVenda As Double Dim Saldoini As Double Dim Saida As Double strSQL = "select * from vendas where DataVenda = '" & mskData.Text & "'" TotVenda = 0 Set TbCli = Con.Execute(strSQL) If Not TbCli.EOF Then mostra linha = 1 Do While Not TbCli.EOF GridFechamento.Rows = GridFechamento.Rows + 1 GridFechamento.TextMatrix(linha, 1) = TbCli(0) GridFechamento.TextMatrix(linha, 2) = TbCli(1) GridFechamento.TextMatrix(linha, 3) = TbCli(2) GridFechamento.TextMatrix(linha, 4) = TbCli(3) GridFechamento.TextMatrix(linha, 5) = TbCli(4) GridFechamento.TextMatrix(linha, 6) = TbCli(5) GridFechamento.TextMatrix(linha, 7) = FormatCurrency(TbCli(6)) GridFechamento.TextMatrix(linha, 8) = TbCli(7) GridFechamento.TextMatrix(linha, 9) = TbCli(8) GridFechamento.TextMatrix(linha, 10) = FormatCurrency(TbCli(9)) TotVenda = TotVenda + GridFechamento.TextMatrix(linha, 7) TbCli.MoveNext linha = linha + 1 Loop lblRegistros.Caption = GridFechamento.Rows - 1 & " Registros" TbCli.MoveFirst Else MsgBox "Data de Venda não Encontrada!!!", vbInformation, "Erro de Busca" LimpaMask mskData mskData.SetFocus End If lblTotal = FormatCurrency(TotVenda) 'instruçao para ver o saldo inicial da tabela abertura caixa strSQL = "select * from aberturacaixa where Dataabertura = '" & mskData.Text & "'" Saldoini = 0 Set TbCli = Con.Execute(strSQL) If Not TbCli.EOF Then lblSaldoIni.Caption = FormatCurrency(TbCli![SaldoInicial]) & "" Saldoini = Saldoini + (TbCli![SaldoInicial]) End If lblSaldoIni = FormatCurrency(Saldoini) 'instrução para ver a saída do caixa strSQL = "select * from saidacaixa where Data = '" & mskData.Text & "'" Saida = 0 Set TbCli = Con.Execute(strSQL) If Not TbCli.EOF Then lblSaida.Caption = FormatCurrency(TbCli![Valor]) & "" Saida = Saida + (TbCli![Valor]) End If lblSaida = FormatCurrency(Saida) lblTotalCaixa = FormatCurrency(TotVenda + Saldoini - Saida) End Sub Espero que sirva pra mais alguém....
-
não deu certo desse jeito esta dando o erro (type mismatch)
-
eu não sei como eu faço essa soma. desse jeito não deu certo, lblVlrTotal = (lblTotal + SaldoIni - lblSaida) á saída do caixa eu posso gravar varias vezes ao dia, por exemplo: de manhã eu pago R$30,00 de Água, Á tarde R$70,00. ou seja no final do dia quanto eu for fazer o fechamento do caixa ele terá que pegar tudo o que saiu do caixa naquele dia no caso R$100,00. A questão é como fazer um SELECT para buscar pela data e trazer todos os valores somados daquela data eu estou fazendo assim: strSQL = "select * from saidacaixa where Data = '" & mskData.Text & "'" Set TbCli = Con.Execute(strSQL) If Not TbCli.EOF Then lblSaida.Caption = FormatCurrency(TbCli![Valor]) & "" End If Só que desse jeito ele só tá trazendo um valor, se eu fizer 10 saída do caixa ele só vai me trazer uma, eu quero que ele me traga todas da data que eu especificar e somadas. Tem como?
-
é o seguinte no fechamento do caixa eu tenho os seguintes labels: lblTotal, lblSaldoIni, lblSaida, lblVlrTotal, lblTotalCaixa. Sendo que lblTotal é o total de vendas (Á Vista e Á Prazo) que eu fiz durante o dia. lblSaldoIni é o dinheiro que eu comecei no caixa. lblSaida é o que saiu do caixa, por exemplo pra pagar alguma conta. lblVlrTotal = (lblTotal + SaldoIni - lblSaida) Como eu faço pra somar e subtrair esses valores?
-
Gostaria de receber algumas sugestões sobre como fazer o fechamento de caixa do meu programa comercial. Eu tenho a parte de vendas, a parte de abertura de caixa, e vou fazer uma tela de saída do caixa para caso de ter de retirar dinheiro para pagar alguma conta como agua, luz, telefone. Esse trabalho é pra conclusão de módulo do curso Técnico em Informática
-
puts não to conseguindo adcionar a foto da minha tela de contas a receber, alguém poderia me ajudar? não eu não defini chave primaria
-
http://s484.photobucket.com/albums/rr201/j...ew¤t=contas.jpg Tenho uma tela de contas a receber onde eu vou dar baixa nas parcelas pagas, mas to em dúvida sobre como eu vou fazer o delete, porque se eu fizer Con.Execute ("Delete from contasreceber where codigocli = " & Val(txtCodigo.Text)) ele vai deletar tudo onde o código do cliente for igual ao que está no txtcodigo.text Mande alguma sugestão sobre o melhor Delete a fazer....
-
valeu kuroi, mas eu nem precisei usar replace eu apenas converti na minha tabela o valor de numerico para varchar.
-
Kuroi inde eu uso esse Replace? Private Sub cmdFechamento_Click() Dim x As Integer Dim total, parcela, diferenca As Double Dim Vencto As Date total = 0 parcela = 0 For x = 1 To (GridProdutos.Rows - 1) 'gravando na tabela vendas frase = "INSERT INTO Vendas (Codigocli,Codigoven,Codigovenda, Datavenda, CodigoProduto, ValorUnit, Qtde, ValorTotal, FormaPagto, QtdeParcelas)" frase = frase & "VALUES(" & txtCodigo.Text & "," frase = frase & "" & txtCodigoven.Text & "," frase = frase & "" & txtCodigoVenda.Text & "," frase = frase & "'" & mskDatavenda.Text & "'," frase = frase & "" & GridProdutos.TextMatrix(GridProdutos.Rows - x, 1) & "," 'Codigo Produto frase = frase & "" & CCur(GridProdutos.TextMatrix(GridProdutos.Rows - x, 3)) & "," 'Valor Unitario frase = frase & "" & GridProdutos.TextMatrix(GridProdutos.Rows - x, 4) & "," 'Qtde frase = frase & "" & CCur(GridProdutos.TextMatrix(GridProdutos.Rows - x, 5)) & "," 'Vlr Total frase = frase & "'" & cboFormaPagto.Text & "'," frase = frase & "'" & cboParcelas.Text & "')" Con.Execute (frase) 'baixando do estoque frase = "update CadastroProduto set qtde= qtde - " & GridProdutos.TextMatrix(GridProdutos.Rows - x, 4) & " where codigo = " & GridProdutos.TextMatrix(GridProdutos.Rows - x, 1) Con.Execute (frase) 'gravando no contas a receber total = total + CDbl(GridProdutos.TextMatrix(GridProdutos.Rows - x, 5)) Next x If cboFormaPagto.ListIndex <> 0 Then parcela = Round(total / CInt(cboParcelas.Text), 2) diferenca = total - parcela * CInt(cboParcelas.Text) Vencto = Now() For x = 1 To CInt(cboParcelas.Text) frase = "INSERT INTO contasreceber (Codigocli, Nomecli,Codigoven,Codigovenda, Datavenda, parcela, datavenct, valorparcela, ValorTotal)" frase = frase & "VALUES(" & txtCodigo.Text & "," frase = frase & "'" & txtNome.Text & "'," frase = frase & "" & txtCodigoven.Text & "," frase = frase & "" & txtCodigoVenda.Text & "," frase = frase & "'" & mskDatavenda.Text & "'," frase = frase & "" & x & "," frase = frase & "'" & Format(Vencto, "dd/mm/yyyy") & "'," If x = 1 Then frase = frase & "" & parcela + diferenca & "," Else frase = frase & "" & parcela & "," End If frase = frase & "" & total & ")" Vencto = DateAdd("m", 1, Vencto) Con.Execute (frase) Next x End If