Ir para conteúdo
Fórum Script Brasil

JMRF

Membros
  • Total de itens

    30
  • Registro em

  • Última visita

Tudo que JMRF postou

  1. Boa noite, Por favor, o que está errado nesse código? Eu tenho uns dados cadastrados num BD Access nas seguintes datas: 05/05/2012 07/05/2012 25/05/2012 10/06/2012 25/06/2012 Acontece que quando faço a pesquisa entre datas com o Código abaixo (estou usando DateTimerPicker na Pesquisa), se eu seleciono no primeiro DateTimerPicker: Data Inicial: a data de 01/05/2012 e no outro DateTimerPicker a Data Final:10/06/2012 Só aparece do DataGridView a linha com a data: 05/05/2012 Se eu seleciono Data Final 11 ou 12/06/2012 continua mostrando só a linha com a data 05/05/2012 quando seleciono no DateTimerPicker de Data Final: 13/06/2012 aparecem no DBGrid as linhas: 05/05/2012 07/05/2012 e 10/06/2012 Se eu seleciono no DateTimerPicker a data inicial 08/06/2012 e data final 30/06/2012, ou seja só data dentro do mes de junho, me mostra as linhas no DataGridView com as datas: 07/05/2012 10/06/2012 25/05/2012 25/06/2012 Ou seja a Data Inicial é no mes de junho e mostra as datas 05/05/2012 e 25/05/2012 que são de maio porque está acontecendo esse erro? Podem me ajudar, por favor? JMRF Private Sub btn_Consult_Click(sender As System.Object, e As System.EventArgs) Handles btn_Consult.Click Dim css As String = My.Settings.EstoqueConnectionString Dim conect As New OleDb.OleDbConnection conect.ConnectionString = css conect.Open() Dim selcom As New OleDb.OleDbCommand selcom.Connection = conect selcom.CommandText = "SELECT * FROM tb_saidas_estoque WHERE data_de_saida BETWEEN #" & DTPIni.Text & "# AND #" & DTPFin.Text & "# order by data_de_saida" '"Select * from tb_saidas_estoque WHERE data_de_saida between >= DTPIni.text and data_de_saida <= DTPFin.text Order by data_de_saida" '"SELECT * FROM tb_saidas_estoque WHERE data_de_saida >= #DTPIni#" And "<= #DTPFin#" '"select * from tb_saidas_estoque where data_de_saida >= #DTPIni#" And "<= #DTPFin#" '"select * from tb_saidas_estoque where data_de_saida BETWEEN #" & DTPIni.Text & "# AND #" & DTPFin.Text & "#" Dim vleitor As OleDb.OleDbDataReader vleitor = selcom.ExecuteReader() Dim c As Integer = 0 DgvConsulta.Rows.Clear() Do While vleitor.Read c = c + 1 ReDim Preserve avalor_materiais_produtos© ReDim Preserve amateriais_produtos© ReDim Preserve adata_de_saida© ReDim Preserve asaidas© avalor_materiais_produtos© = vleitor("valor_materiais_produtos") amateriais_produtos© = vleitor("materiais_produtos") adata_de_saida© = vleitor("data_de_saida") asaidas© = vleitor("saidas") DgvConsulta.Rows.Add(avalor_materiais_produtos©, amateriais_produtos©, adata_de_saida©, asaidas©) Loop conect.Close() End Sub End Class
  2. Boa noite, Por favor, o que está errado nesse código? Eu tenho uns dados cadastrados num BD Access nas seguintes datas: 05/05/2012 07/05/2012 25/05/2012 10/06/2012 25/06/2012 Acontece que quando faço a pesquisa entre datas com o Código abaixo (estou usando DateTimerPicker na Pesquisa), se eu seleciono no primeiro DateTimerPicker: Data Inicial: a data de 01/05/2012 e no outro DateTimerPicker a Data Final:10/06/2012 Só aparece do DataGridView a linha com a data: 05/05/2012 Se eu seleciono Data Final 11 ou 12/06/2012 continua mostrando só a linha com a data 05/05/2012 quando seleciono no DateTimerPicker de Data Final: 13/06/2012 aparecem no DBGrid as linhas: 05/05/2012 07/05/2012 e 10/06/2012 Se eu seleciono no DateTimerPicker a data inicial 08/06/2012 e data final 30/06/2012, ou seja só data dentro do mes de junho, me mostra as linhas no DataGridView com as datas: 07/05/2012 10/06/2012 25/05/2012 25/06/2012 Ou seja a Data Inicial é no mes de junho e mostra as datas 05/05/2012 e 25/05/2012 que são de maio porque está acontecendo esse erro? Podem me ajudar, por favor? JMRF
  3. Bom dia, VB.NET BD Access Olha eu peço a ajuda de vocês, para o seguinte: Quero criar um Form onde consultarei os vencimentos por período. Entre datas. Exemplo: Os recebimentos de eu tiver para o período de 20/06/2012 a 10/07/2012, Então quero que o código, faça a busca no Banco de Dados nesse período e coloque no DBGridView só os recebimentos desse período pesquisado e num txtbox me dê o valor total da coluna valor a receber no período pesquisado. Pode me dar mais essa força, por favor? Obrigado JMRF
  4. Boa noite, Estou tentando fazer uma busca no meu BD Access para o seguinte: a- Quero que no Load do meu Form seja feita automaticamente uma busca no BD Acces que me dê uma mensagem "Recebimentos para Hoje". b- Coloquei no meu Form um campo "txtHoje.text" onde fica a data do dia de hoje automaticamente. Preciso que ao dar o Load no meu Form o programa busque no Banco de Dados, na coluna "data de vencimnto" se tem algum registro com vencimento para o dia que está no "txtHoje.text" e numa label me dê a mensagem = "Recebimentos para Hoje". Como implementar um código para essa busca, por favor. VB.NET BD Access Obrigado JMRF
  5. Boa tarde, VB.NET Banco de Dados : Access Como faço, para que um Form ao abrir ele abra de acordo com o comando dado em outro Form? Exemplo: No Botão "Ok" na minha tela de Login eu coloquei um código para que quando o "Form Entradas_saidas_estoque" for aberto, os botões "ALTERAR" e "EXCLUIR" estejam desativados.Mas isso não está acontecendo.Quando clico para abrir o "Form Entradas_saidas_estoque" os botões 'ALTERAR' e "EXCLUIR" estão ativos. O Código que usei é esse: If Senha = txtPassword.Text And perfil = cmbperfil.Text Then If cmbperfil.Text = "User" Then Entradas_saidas_estoque.btnAlterar.Enabled = False Entradas_saidas_estoque.btnExcluir.Enabled = False Else Entradas_saidas_estoque.btnAlterar.Enabled = True Entradas_saidas_estoque.btnExcluir.Enabled = True End If Obrigado JMRF
  6. Bom dia, Uso o VB.NET Banco de Dados : Access Tem como eu criar uma forma de cadastrar as senhas separadas por: - Senha Funcional e - Senha Master Sendo que só quem tiver a senha master terá acesso a todo o programa, tipo: - Para excluir ou alterar um lançamento só quem tem senha Master terá acesso - A senha Funcional só dá acesso a lançamentos de Cadastro, Entradas e Saídas, por exemplo Já quebrei cabeça pensando como cadastrar as senhas sem que outra pessoa possa fazer cadastros de senhas novas ou alterar as existentes. Dá pra alguém postar algum código nesse sentido, por favor. Desde já Muito Obrigado JMRF
  7. Boa noite, Estou querendo incrementar no meu Form um codigo ID com numeraçao automatica, por isso peço a voces que postem aqui um codigo para me ajudar, por favor. Uso o VB.NET Banco de dados ACCESS O Acces tem a numeraçao automatica, mas e simplesmente um numero - 1, 2, 3, 4 etc eu quero para criar numeracao automatica tipo: 0001,0002,0003,0004 etc. Podem me ajudar? Aguardo a colaboraçao de todos. Um abraço JMRF
  8. Boa tarde, Resolvido assim: Private Sub btnIncluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncluir.Click vmodo = "I" Try If CmbEnt_sai_estoque.Text = "Entradas no Estoque" Then RadioButton1.Enabled = True RadioButton2.Enabled = True RadioButton3.Enabled = True RadioButton4.Enabled = False RadioButton5.Enabled = False RadioButton6.Enabled = False btnCancelar.Enabled = True If RadioButton1.Checked = False And RadioButton2.Checked = False And RadioButton3.Checked = False Then MessageBox.Show("Selecionar uma opção no Tipo de Movimentação") Else hab_campos() hab_campos_em_comum() hab_btn() txtEmpenho.Text = "" MaskedData_empenho.Text = "" Maskedprocesso.Text = "" txtNotas_fiscais.Text = "" MaskedData_nota_fiscal.Text = "" txtValor_unitario.Text = 0 txtValor_materiais_produtos.Text = 0 txtcod_materiais_produtos.Text = "" txtMateriais_produtos.Text = "" txtUnidade.Text = "" MaskedData_de_entrada.Text = "" txtEntradas.Text = "" lblMateriais_produtos.Text = "" txtEmpenho.Focus() End If End If If CmbEnt_sai_estoque.Text = "Saidas no Estoque" Then RadioButton1.Enabled = False RadioButton2.Enabled = False RadioButton3.Enabled = False RadioButton4.Enabled = True RadioButton5.Enabled = True RadioButton6.Enabled = True btnCancelar.Enabled = True If RadioButton4.Checked = False And RadioButton5.Checked = False And RadioButton6.Checked = False Then MessageBox.Show("Selecionar uma opção no Tipo de Movimentação") Else hab_campos_saidas() hab_campos_em_comum() hab_btn() MaskedRequisicoes.Text = "" MaskedData_de_saida.Text = "" txtsaidas.Text = "" txtDepartamento_requisitante.Text = "" txtSupervisao_requisitante.Text = "" txtValor_unitario.Text = 0 txtValor_materiais_produtos.Text = 0 txtcod_materiais_produtos.Text = "" txtMateriais_produtos.Text = "" txtUnidade.Text = "" MaskedRequisicoes.Focus() 'Para colocar o cursor depois dmáscara SE no MaskedRequisicoes Me.MaskedRequisicoes.SelectionStart = 2 End If End If Catch ex As Exception MessageBox.Show("Erro de gravação de dados" & vbCrLf & ex.Message, "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End Try End Sub Obrigado aos que ajudaram JMRF
  9. Bom dia, Estou solicitando, por favor, a ajuda de vocês para a solução do seguinte problema: Estou trabalhando em um programa de Controle de Estoque onde preciso do seguinte: 1 - Quando eu der ENTRADA ou SAÍDA em algum Material devo selecionar num ComboBox a opção ENTRADA ou SAÍDA. Se eu selecionar entrada no ComboBox os campos referentes aos dados de entradas, tipo: Nº NFiscal, Data NFiscal, Valor Unitário etc devem ficar ATIVOS e os dados de saídas como: Requisição, dataRequisição, Depto Requisitante etc devem ficar DESATIVADOS e se eu selecionar no ComboBox a opção Saídas lógicamente acontecerá o contrário. Até aí tudo está funcionando legal. 2 - Só que preciso também que ao selecionar a opção ENTRADAS, e ao clicar no Botão INCLUIR, o programa ative as opções de entradas e deixe desativadas as opções de saídas. Ative por Exemplo: Entrada Normal, ative Entrada por Recebimento de Empréstimo Concedido, ative Entrada por Empréstimo Tomado E eu macarei a opção que se fizer necessária e Desative as opções de Saídas, como por exemplo: Saída Normal, desative Saída por Empréstimo Concedido e desative Saída por Pagamento Empréstimo Tomado e ao mesmo tempo verifique se tem uma dessas opções selecionada no RadioButton, de acordo como seja : ENTRADA ou SAÍDA, e isso está funcionando também, e caso não tenha nenhuma dessas opções marcadas no RadioButton, dará a mensagem "Selecionar uma Opção no Tipo de Movimentação". Acontece que com o código que estou postando abaixo, dá a mensagem, então eu marco uma das opções e clico no Botão INCLUIR e continua sem reconhecer que uma opção está marcada no RadioButton e a Mensagem acima é mostrada novamente. Eu estava usando o CheckedListBox e funciona legal só que o CheckedListBox eu posso preencher mais de uma opção ao mesmo tempo o que poderá me fazer errar por esquecimento de desmarcar a opção anterior e selecionar a nova, ficando mais de uma opção selecionada, já no RadioButton eu posso selecionar apenas uma opção, se clicar em outro RadioButton ele automaticamente desmarca a opção anterior. Dá pra ajudar a resolver onde está errado no meu código? Ou me passar um código que eu possa usar nesse caso e resolver esse problema? Trabalo com: VB.NET BANCO DE DADOS : Accesss Abaixo está o código que estou usando. Private Sub btnIncluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncluir.Click ' modo de inclusão vmodo = "I" If RadioButton1.Checked = False Or RadioButton2.Checked = False Or RadioButton3.Checked = False Or RadioButton4.Checked = False Or RadioButton5.Checked = False Or RadioButton6.Checked = False Then MessageBox.Show ( "Selecionar uma opção no Tipo de Movimentação " ) Else Try If CmbEnt_sai_estoque.Text = "Entradas no Estoque" Then hab_campos() hab_campos_em_comum() hab_btn() txtEmpenho.Text = "" MaskedData_empenho.Text = "" Maskedprocesso.Text = "" txtNotas_fiscais.Text = "" MaskedData_nota_fiscal.Text = "" txtValor_unitario.Text = 0 txtValor_materiais_produtos.Text = 0 txtcod_materiais_produtos.Text = "" txtMateriais_produtos.Text = "" txtUnidade.Text = "" MaskedData_de_entrada.Text = "" txtEntradas.Text = "" lblMateriais_produtos.Text = "" txtEmpenho.Focus() Else hab_campos_saidas() hab_campos_em_comum() hab_btn() MaskedRequisicoes.Text = "" MaskedData_de_saida.Text = "" txtsaidas.Text = "" txtDepartamento_requisitante.Text = "" txtSupervisao_requisitante.Text = "" txtValor_unitario.Text = 0 txtValor_materiais_produtos.Text = 0 txtcod_materiais_produtos.Text = "" txtMateriais_produtos.Text = "" txtUnidade.Text = "" MaskedRequisicoes.Focus() 'Para colocar o cursosr depois de SE no MaskedRequisicoes Me.MaskedRequisicoes.SelectionStart = 2 End If Catch ex As Exception MessageBox.Show("Erro de gravação de dados" & vbCrLf & ex.Message, "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End Try End If End Sub Aguardo a costumeira ajuda de todos. Um abraço JMRF
  10. JMRF

    CheckListBox em VB NET

    Boa tarde, VB NET BD - Access Gostaria que me indicassem, por favor, um código para que eu ao colocar no meu Form um CheckListBox pudesse selecionar alguns ítens ou todos de acordo com a minha necessidade e que eles ficassem marcados, podendo depois desmarcar uns e marcar outros, etc. Obrigado JMRF
  11. Bom dia, Vê se dá pra ajudar, por favor. Como faço para que quando eu digitar uma pesquisa num textbox a linha no DBgrid fique selecionada e role até a parte de cima para que eu clicando nessa linha apareçam nos campos do Form os dados cadastrados. Obrigado JMRF
  12. Boa tarde, Estou precisando da ajuda de vocês, para a seguinte situação. No código que está postado abaixo eu preciso: Private Sub txtCod_materiais_produtos_LostFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtcod_materiais_produtos.LostFocus Dim cs As String = My.Settings.EstoqueConnectionString Dim conect As New OleDb.OleDbConnection conect.ConnectionString = cs Try conect.Open() Dim selcom As New OleDb.OleDbCommand selcom.Connection = conect selcom.CommandText = "SELECT materiais_produtos FROM tb_cadastro_materiais_produtos WHERE cod_materiais_produtos=" & txtcod_materiais_produtos.Text Dim vprod As String = selcom.ExecuteScalar If vprod <> "" Then lblMateriais_produtos.Text = vprod lblMateriais_produtos.ForeColor = Color.Black txtMateriais_produtos.Text = lblMateriais_produtos.Text Else lblMateriais_produtos.Text = vprod MessageBox.Show("Lançamento não permitido, Código não cadastrado") txtcod_materiais_produtos.Text = "" txtMateriais_produtos.Text = "" txtUnidade.Text = "" txtcod_materiais_produtos.Focus() End If 1- Que ele busque no BD e preencha os campos Materiais_Produtos e ao mesmo tempo preencha o campo Unidade referente à esse produto encontrado. No código abaixo, quando o campo cod_materiais_produtos perde o foco ele está buscando o Materiais/Produtos sem problemas, mas preciso que traga junto também a Unidade para preencher o campo Unidade do meu Formulário. Já tentei de todas as formas incluir nesse código a busca da Unidade, mas não consigo. OBS: Para que não percam muito tempo entendendo o código, faço esse resumo, pra facilitar aos disponíveis a ajudar: A linha de código efetua uma busca no BD para encontrar no BD o Nome do Material/Produto cujo código digitei no txt.cod_materiais_produtos.text e se encontrar cadastrado no BD o nome do produto esse nome é colocado em uma label no meu Formulário. Então o código preenche o txtmaterias_produtos.text com o nome do Material/Produto automáticamente. (obs: até aqui tudo está funcionando, ok). Agora preciso que ao mesmo tempo seja efetuada uma busca no BD e traga e preencha o txtUnidade.text com a Unidade cadastrada para aquele produto. Ou seja quando o txtCod_materiais/produtos.text perde o foco essa busca no BD é efetuada e o campo txtmateriais_produtos.text é preenchido automáticamente com o nome do Material/Produto e o txtUnidade.text é também preenchido automáticamente com a Unidade que está cadastrada para aquele material/produto no BD. Obs: Eu não sei se não pode ser ExecuteScalar, porque ele só efetua a busca de um objeto, sendo que aqui seria buscar o Nome do Material/Produto e a Unidade. Se puderem me ajudar, e me indicar a linha de código, por favor? Desde já meu muito obrigado. JMRF
  13. Boa tarde, - Uso VBNET 2010 - BD Access Solicito a juda de vocês: - Tem como eu fazer aparecer na textbox um valor em reais sem o "R$"? No BD Access está formatado como moeda e fica no BD com "R$",mas na textbox preciso que só apareça os valores, inclusive com ponto (.) e também a vígula (,) tipo: 1.532,50 - 0,50 - 12.548,73 etc. Usando o "R$"eu estou conseguindo, mas na hora de digitar o valor na textbox fica meio complicado, tendo que arrumar o cursor no lugar certo, ou seja depois do "R$". Desde já meu muito obrigado JMRF
  14. Boa noite, Preciso, por favor, da ajuda de vocês para eu consultar em um Banco de Dados pela primeira letra de um Nome. Quando digitar na textbox para pesquisa a letra C todos os nomes começados com C aparecerão no DBGrid. Uso o VBNET 2010 e o Banco de Dados é o ACCESS. Obrigado JMRF
  15. Boa noite, Danleonhart, Fiz o que você me aconselhou mas não dá certo. Já estou pirando, nada dá certo. Vou te passar umas informações para ver se você pode me ajudar. Trabalho com o VB.NET 2010 Banco de Dados - Access 2010 No meu BD o campo Valor_unitario_saidas eu formatei como Moeda - 2 casas decimais. No Binding Formatei como Currency - 2 casas decimais No meu código coloquei: Dim avalor_unitario_saidas(1) As Double Coloquei ainda o código: Private Sub txtValor_unitario_saidas_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtValor_unitario_saidas.Leave If txtValor_unitario_saidas.Text = String.Empty Then txtValor_unitario_saidas.Text = "0,00" Else txtValor_unitario_saidas.Text = FormatCurrency(txtValor_unitario_saidas.Text, 2, TriState.True, TriState.True, _ TriState.True).Replace("R$", "").Trim End If End sub end Class No meu DBGrid os valores aparecem com R$323,50 ou R$125,00 e também no BD aparecem R$323,50 ou R$125,00 só no textbox - txtValor_unitario_saidas.text é que aparece R$323,5 ou R$125 sem os zeros após a vírgula. Estou tentando uma solução desde dezembro de 2011 e tudo que me mandam fazer faço e nada, mais nada mesmo muda essa situação. Dá pra dar alguma dica, por favor. Grato JMRF
  16. Boa noite, Xistyle, É o seguinte: Declarei Dim avalor_unitario_saidas(1) As Double E caminhamos mais um pouco. Agora no DBGrid os valores aparecem tudo assim: R$252,34, R$255,00 ou seja perfeito. Quanto ao textbox valor_unitario_saidas aí o bicho pega - Só entra uma casa decimal tipo: 152,3 ou 455 ou seja se os centavos forem "00" nada aparece depois da vírgula se os centavos for "50" aparece depois da vírgula só o "5". Mas tenho esperança de chegarmos lá, porque no DBGrid que aparecia sem os centavos quando tinha "0" agora está beleza. O pior é que tenho tentado de tudo na formatação do textbox mas não dá certo de jeito nenhum. Tel alguma coisa a indicar para continuar tentando. Obrigado JMRF
  17. Boa noite, Xistyle, Não funcionou não, a dica que você me sugeriu. Tomei a liberdade de colocar o código completo do meu Form : Saídas de Estoque Quem sabe você analise e descobre algo. Public Class Saidas_Estoque Dim acod_ordem(1) As String Dim acod_materiais_produtos(1) As Integer Dim avalor_unitario_saidas(1) As String Dim amateriais_produtos(1) As String Dim aunidade(1) As String Dim arequisicoes(1) As String Dim adata_de_saida(1) As String Dim asaidas(1) As Integer Dim adepartamento_requisitante(1) As String Dim asupervisao_requisitante(1) As String Dim aestoque_minimo(1) As Integer Dim aestoque_atual(1) As Integer Dim VEA_int As Integer Dim VEN_int As Integer Dim vEA As String Dim vEM As String Dim vmodo As String = "X" Private Sub carrega_saidas_Estoque() Dim cs As String = My.Settings.EstoqueConnectionString Dim conect As New OleDb.OleDbConnection conect.ConnectionString = cs conect.Open() Dim selcom As New OleDb.OleDbCommand selcom.Connection = conect selcom.CommandText = " SELECT * FROM tb_estoque ORDER BY materiais_produtos" Dim vleitor As OleDb.OleDbDataReader vleitor = selcom.ExecuteReader() Dim c As Integer = 0 dgvestoque.Rows.Clear() Do While vleitor.Read c = c + 1 ReDim Preserve acod_ordem© ReDim Preserve acod_materiais_produtos© ReDim Preserve avalor_unitario_saidas© ReDim Preserve amateriais_produtos© ReDim Preserve aunidade© ReDim Preserve arequisicoes© ReDim Preserve adata_de_saida© ReDim Preserve asaidas© ReDim Preserve adepartamento_requisitante© ReDim Preserve asupervisao_requisitante© ReDim Preserve aestoque_minimo© ReDim Preserve aestoque_atual© acod_ordem© = vleitor("cod_ordem") acod_materiais_produtos© = vleitor("cod_materiais_produtos") avalor_unitario_saidas© = vleitor("valor_unitario_saidas") amateriais_produtos© = vleitor("materiais_produtos") aunidade© = vleitor("unidade") arequisicoes© = vleitor("requisicoes") adata_de_saida© = vleitor("data_de_saida") asaidas© = vleitor("saidas") adepartamento_requisitante© = vleitor("departamento_requisitante") asupervisao_requisitante© = vleitor("supervisao_requisitante") aestoque_minimo© = vleitor("estoque_minimo") If IsDBNull(vleitor("estoque_minimo")) Then aestoque_minimo© = 0 Else aestoque_minimo© = vleitor("estoque_minimo") End If If IsDBNull(vleitor("estoque_atual")) Then aestoque_atual© = 0 Else aestoque_atual© = vleitor("estoque_atual") End If dgvestoque.Rows.Add(acod_ordem©, acod_materiais_produtos©, avalor_unitario_saidas©, amateriais_produtos©, aunidade©, arequisicoes©, adata_de_saida©, asaidas©, adepartamento_requisitante©, asupervisao_requisitante©, aestoque_minimo©, aestoque_atual©) Loop conect.Close() End Sub Private Sub carrega_campos() Dim ind As Integer = dgvestoque.CurrentRow.Index + 1 txtCod_ordem.Text = acod_ordem(ind) txtCod_materiais_produtos.Text = acod_materiais_produtos(ind) txtValor_unitario_saidas.Text = avalor_unitario_saidas(ind) txtMateriais_produtos.Text = amateriais_produtos(ind) txtUnidade.Text = aunidade(ind) txtRequisicoes.Text = arequisicoes(ind) MaskedData_de_saida.Text = adata_de_saida(ind) txtsaidas.Text = asaidas(ind) txtDepartamento_requisitante.Text = adepartamento_requisitante(ind) txtSupervisao_requisitante.Text = asupervisao_requisitante(ind) txtEstoque_minimo.Text = aestoque_minimo(ind) txtEstoque_atual.Text = aestoque_atual(ind) End Sub Private Sub DgvEstoque_SelectionChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgvestoque.SelectionChanged carrega_campos() End Sub Private Sub btnAlterar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAlterar.Click vmodo = "A" hab_campos() End Sub Private Sub hab_campos() btnIncluir.Enabled = False btnAlterar.Enabled = False btnExcluir.Enabled = False btnCancelar.Enabled = True btnConfirmar.Enabled = True txtCod_materiais_produtos.Enabled = True txtValor_unitario_saidas.Enabled = True txtMateriais_produtos.Enabled = False txtUnidade.Enabled = False txtRequisicoes.Enabled = True MaskedData_de_saida.Enabled = True txtsaidas.Enabled = True txtDepartamento_requisitante.Enabled = True txtSupervisao_requisitante.Enabled = True txtEstoque_minimo.Enabled = True txtEstoque_atual.Enabled = False End Sub Private Sub desab_campos() btnIncluir.Enabled = True btnAlterar.Enabled = True btnExcluir.Enabled = True btnCancelar.Enabled = False btnConfirmar.Enabled = False txtCod_materiais_produtos.Enabled = False txtValor_unitario_saidas.Enabled = False txtMateriais_produtos.Enabled = False txtUnidade.Enabled = False txtRequisicoes.Enabled = False MaskedData_de_saida.Enabled = False txtsaidas.Enabled = False txtDepartamento_requisitante.Enabled = False txtSupervisao_requisitante.Enabled = False txtEstoque_minimo.Enabled = False txtEstoque_atual.Enabled = False End Sub Private Sub btnCancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancelar.Click desab_campos() carrega_campos() lblMateriais_produtos.Text = "" End Sub Private Sub btnConfirmar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConfirmar.Click If vmodo = "A" Then Dim cs As String = My.Settings.EstoqueConnectionString Dim conect As New OleDb.OleDbConnection conect.ConnectionString = cs Try conect.Open() Dim selcom As New OleDb.OleDbCommand selcom.Connection = conect lblMateriais_produtos.Text = "" selcom.CommandText = "UPDATE tb_Estoque SET cod_materiais_produtos= " & txtCod_materiais_produtos.Text & ", valor_unitario_saidas='" & txtValor_unitario_saidas.Text & "', materiais_produtos='" & txtMateriais_produtos.Text _ & "', unidade='" & txtUnidade.Text & "', requisicoes=" & txtRequisicoes.Text _ & "', data_de_saida='" & MaskedData_de_saida.Text _ & "', saidas='" & txtsaidas.Text & "', departamento_requisitante='" & txtDepartamento_requisitante.Text _ & "', supervisao_requisitante='" & txtSupervisao_requisitante.Text _ & "', estoque_minimo=" & txtEstoque_minimo.Text & ", estoque_atual='" & txtEstoque_atual.Text & "' " _ & "WHERE cod_ordem = " & acod_ordem(dgvestoque.CurrentRow.Index + 1) selcom.ExecuteNonQuery() conect.Close() Catch ex As Exception MessageBox.Show("Erro de gravação de dados" & vbCrLf & ex.Message, "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try desab_campos() carrega_Saidas_Estoque() End If If vmodo = "I" Then Dim cs As String = My.Settings.EstoqueConnectionString Dim conect As New OleDb.OleDbConnection conect.ConnectionString = cs Try conect.Open() Dim selcom As New OleDb.OleDbCommand selcom.Connection = conect selcom.CommandText = "INSERT INTO tb_Estoque ( cod_materiais_produtos, valor_unitario_saidas, materiais_produtos, unidade, requisicoes, data_de_saida, saidas, departamento_requisitante, supervisao_requisitante, estoque_minimo)" & _ "VALUES (" & txtCod_materiais_produtos.Text & ", '" & txtValor_unitario_saidas.Text & "', '" & (txtMateriais_produtos.Text & Space(120)).Substring(0, 120) & "','" & txtUnidade.Text & "', " & txtRequisicoes.Text & " ,'" & MaskedData_de_saida.Text & "', " & txtsaidas.Text & ", '" & txtDepartamento_requisitante.Text & "', '" & txtSupervisao_requisitante.Text & "', " & txtEstoque_minimo.Text & " )" If selcom.ExecuteNonQuery() Then MsgBox("Ítem baixado com sucesso") Else MsgBox("Erro Ítem não incluído") End If conect.Close() Catch ex As Exception MessageBox.Show("Erro de gravação de dados" & vbCrLf & ex.Message, "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Error) End Try desab_campos() carrega_saidas_Estoque() End If If vmodo = "E" Then Dim cs As String = My.Settings.EstoqueConnectionString Dim conect As New OleDb.OleDbConnection conect.ConnectionString = cs Try conect.Open() Dim selcom As New OleDb.OleDbCommand selcom.Connection = conect selcom.CommandText = " DELETE FROM tb_Estoque WHERE cod_ordem = " & acod_ordem(dgvestoque.CurrentRow.Index + 1) If selcom.ExecuteNonQuery() Then MsgBox("Ítem excluído com sucesso") Else MsgBox("Erro Ítem não excluído") End If conect.Close() Catch ex As Exception MessageBox.Show("Erro de gravação de dados" & vbCrLf & ex.Message, "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End Try desab_campos() carrega_saidas_Estoque() End If End Sub Private Sub txtsaidas_LostFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtsaidas.LostFocus Dim cs As String = My.Settings.EstoqueConnectionString Dim conect As New OleDb.OleDbConnection Dim vEM_int, vEA_int As Integer conect.ConnectionString = cs Try conect.Open() Dim selcom As New OleDb.OleDbCommand selcom.Connection = conect selcom.CommandText = "SELECT estoque_atual FROM tb_estoque WHERE cod_materiais_produtos=" & txtCod_materiais_produtos.Text Dim vEA As String = selcom.ExecuteScalar Try vEA_int = Convert.ToInt32(vEA) Catch vEA_int = 0 End Try If vEA_int <> 0 Then lblEstoque_atual.Text = vEA lblEstoque_atual.ForeColor = Color.Black txtEstoque_atual.Text = lblEstoque_atual.Text End If selcom.Connection = conect selcom.CommandText = "SELECT estoque_minimo FROM tb_estoque WHERE cod_materiais_produtos=" & txtCod_materiais_produtos.Text Dim vEM As String = selcom.ExecuteScalar Try vEM_int = Convert.ToInt32(vEM) Catch vEM_int = 0 End Try If vEM_int <> 0 Then lblEstoque_minimo.Text = vEM lblEstoque_minimo.ForeColor = Color.Black txtEstoque_minimo.Text = lblEstoque_minimo.Text End If If vEA_int <= vEM_int Then lblAlerta_estoque.Text = ("Repor Estoque") Else lblAlerta_estoque.Text = "" lblEstoque_atual.Refresh() End If conect.Close() Catch ex As Exception conect.Close() End Try End Sub Private Sub btnIncluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIncluir.Click hab_campos() vmodo = "I" txtCod_materiais_produtos.Text = "" txtValor_unitario_saidas.Text = "" txtMateriais_produtos.Text = "" txtUnidade.Text = "" txtRequisicoes.Text = "" MaskedData_de_saida.Text = "" txtsaidas.Text = "" txtDepartamento_requisitante.Text = "" txtSupervisao_requisitante.Text = "" txtEstoque_minimo.Text = "" txtEstoque_atual.Text = "" txtCod_materiais_produtos.Focus() End Sub Private Sub txtMateriais_produtos_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtMateriais_produtos.TextChanged If txtMateriais_produtos.Text.Length > 120 Then MessageBox.Show("Digite no máximo 120 caracteres", "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End If End Sub Private Sub btnExcluir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnExcluir.Click MsgBox("Para excluir o Usuário, clique em confirmar") hab_campos() vmodo = "E" End Sub Private Sub txtCod_materiais_produtos_GotFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCod_materiais_produtos.LostFocus Dim cs As String = My.Settings.EstoqueConnectionString Dim conect As New OleDb.OleDbConnection conect.ConnectionString = cs Try conect.Open() Dim selcom As New OleDb.OleDbCommand selcom.Connection = conect selcom.CommandText = "SELECT materiais_produtos FROM tb_estoque WHERE cod_materiais_produtos=" & txtCod_materiais_produtos.Text Dim vprod As String = selcom.ExecuteScalar If vprod <> "" Then lblMateriais_produtos.Text = vprod lblMateriais_produtos.ForeColor = Color.Black txtMateriais_produtos.Text = lblMateriais_produtos.Text End If conect.Close() Catch ex As Exception 'MessageBox.Show("Código já cadastrado, digite outro código" & vbCrLf & ex.Message, "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End Try End Sub Private Sub txt_materiais_produtos_GotFocus(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCod_materiais_produtos.LostFocus Dim cs As String = My.Settings.EstoqueConnectionString Dim conect As New OleDb.OleDbConnection conect.ConnectionString = cs Try conect.Open() Dim selcom As New OleDb.OleDbCommand selcom.Connection = conect selcom.CommandText = "SELECT unidade FROM tb_estoque WHERE Cod_materiais_produtos=" & txtCod_materiais_produtos.Text Dim vprod As String = selcom.ExecuteScalar If vprod <> "" Then lblUnidade.Text = vprod lblUnidade.ForeColor = Color.White txtUnidade.Text = lblUnidade.Text End If conect.Close() Catch ex As Exception 'MessageBox.Show("Código já cadastrado, digite outro código" & vbCrLf & ex.Message, "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation) End Try End Sub Private Sub txtValor_unitario_saidas_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtValor_unitario_saidas.Leave If txtValor_unitario_saidas.Text = String.Empty Then txtValor_unitario_saidas.Text = 0 Else txtValor_unitario_saidas.Text = FormatCurrency(txtValor_unitario_saidas.Text, 2, TriState.True, TriState.True, _ TriState.True).Replace("R$", "").Trim End If End Sub End Class OBS: a - BD Access b - No BD a formatação para os textbox onde tem valor está para Moeda - 2 casas decimais. c - Na coluna do DBGrid onde tem valor está formatado para Currency - 2 casas decimais d - O textbox está formatado no DataBindings para Currency - 2 casas decimais. Se faltar alguma informação, peça que te envio. Vê se dá pra dar uma solução, por favor. Te agradeço imensamente, a ajuda que tem me dado, não tem mais ninguém conseguindo me ajurar. Minhas esperanças da solução está em você. Obrigado JMRF
  18. Xistyle, Vou testar hoje depois das 20h que é quando chegarei em casa. Obrigado JMRF
  19. Xistyle, o que pode então estar acontecendo? Porque eu preciso depois desses resultados parsa multiplicar. Exemplo: 10 lapis x R$1,25 = R$12,50 ou seja tem que possibilitar esse tipo de operação. Também se eu wquiser somar os valores das requisições dos materiais e totalizar temho que ter essa possibilidade e como texto acredito que não tem como. Obrigado JMRF
  20. Boa tarde, Xistyle, Quando você diz: a. Mudar o campo do seu banco de numérico para string; Você quer dizer que no BD Access eu deverei mudar de Moeda para texto? É isswo? (Desculpa-me mas sou bem inexperiente no Assunto, apesar de tentar muito e pesquisar na internet) b. Formatar as casas decimais da sua grid. Quanto à Grid, já estão formatadas as colunas que contêm valor para C2 (ou seja Moeda com duas casas decimais) Quado substituo o R$ por nada no BD Access fica gravado certíssiomo: R$1.232,20, R$255,00 etc. Se entendi sua pergunta, a minha grid é carregada assim: Private Sub carrega_saidas_Estoque() Dim cs As String = My.Settings.EstoqueConnectionString Dim conect As New OleDb.OleDbConnection conect.ConnectionString = cs conect.Open() Dim selcom As New OleDb.OleDbCommand selcom.Connection = conect selcom.CommandText = " SELECT * FROM tb_estoque ORDER BY materiais_produtos" Dim vleitor As OleDb.OleDbDataReader vleitor = selcom.ExecuteReader() Dim c As Integer = 0 dgvestoque.Rows.Clear() Do While vleitor.Read c = c + 1 ReDim Preserve acod_ordem© ReDim Preserve acod_materiais_produtos© ReDim Preserve amateriais_produtos© ReDim Preserve aunidade© ReDim Preserve arequisicoes© ReDim Preserve adata_de_saida© ReDim Preserve asaidas© ReDim Preserve avalor_unitario_saidas© ReDim Preserve adepartamento_requisitante© ReDim Preserve asupervisao_requisitante© ReDim Preserve avalor_materiais_produtos_saidas© ReDim Preserve aestoque_minimo© ReDim Preserve aestoque_atual© ReDim Preserve avalor_estoque_atual© acod_ordem© = vleitor("cod_ordem") acod_materiais_produtos© = vleitor("cod_materiais_produtos") amateriais_produtos© = vleitor("materiais_produtos") aunidade© = vleitor("unidade") arequisicoes© = vleitor("requisicoes") adata_de_saida© = vleitor("data_de_saida") asaidas© = vleitor("saidas") avalor_unitario_saidas© = vleitor("valor_unitario_saidas") adepartamento_requisitante© = vleitor("departamento_requisitante") asupervisao_requisitante© = vleitor("supervisao_requisitante") avalor_materiais_produtos_saidas© = vleitor("valor_materiais_produtos_saidas") aestoque_minimo© = vleitor("estoque_minimo") If IsDBNull(vleitor("estoque_minimo")) Then aestoque_minimo© = 0 Else aestoque_minimo© = vleitor("estoque_minimo") End If If IsDBNull(vleitor("estoque_atual")) Then aestoque_atual© = 0 Else aestoque_atual© = vleitor("estoque_atual") End If If IsDBNull(vleitor("valor_estoque_atual")) Then avalor_estoque_atual© = 0 Else avalor_estoque_atual© = vleitor("valor_estoque_atual") End If dgvestoque.Rows.Add(acod_ordem©, acod_materiais_produtos©, amateriais_produtos©, aunidade©, arequisicoes©, adata_de_saida©, asaidas©, avalor_unitario_saidas©, adepartamento_requisitante©, asupervisao_requisitante©, avalor_materiais_produtos_saidas©, aestoque_minimo©, aestoque_atual©, avalor_estoque_atual©) Loop conect.Close() End Sub Obrigado JMRF
  21. Boa tarde, Xistyle, Quandovocê diz: a. Mudar o campo do seu banco de numérico para string; Você quer dizer que no BD Access eu deverei mudar de Moeda para texto? É isswo? (Desculpa-me mas sou bem inexperiente no Assunto, apesar de tentar muito e pesquisar na internet) b. Formatar as casas decimais da sua grid. Quando você substitui o R$ por nada, esse valor é salvo no banco? Como você carrega sua grid? Pois pelo que tu explicou, a grid está carregando os dados do TextBox, aparentemente. Vamos focar na solução que lhe passei, formatando os dados. Esse problema de carregar e exibir 1234,5 ao invés de 1234,50 é relacionado à formatação de casas decimais.
  22. Boa noite, xistyle, coloquei no meu projeto o seguinte código: Private Sub txtValor_unitario_saidas_Leave(ByVal sender AsObject, ByVal e As System.EventArgs) Handles txtValor_unitario_saidas.Leave If txtValor_unitario_saidas.Text = String.Empty Then txtValor_unitario_saidas.Text = 0 Else txtValor_unitario_saidas.Text = FormatCurrency(txtValor_unitario_saidas.Text, 2, TriState.True, TriState.True, _ TriState.True).Replace( "R$", "").Trim EndIf Ele retira o "R$" dos valores ficando somente os valores. Tipo: 3.025,30 ao invés de R$3.025,30. Só que acontece que quando clico em outra linha do DBGrid e volto a selecionar a linha onde inseri o novo cadastro ele aparece assim; 3.025,3 se eu cadastrar 3,025,00 aparece só 3.025 mas no BD Access está gravado R$3.025,30. Ajuda a resolver esse problema, por favor. Estou batalhando desde dezembro pra tentar resolver, e tudo que acho em pesquisas e mais pesquisas na net nada resolve. Pra quem sabe é mole, mas para mim, veja bem desde dezembro e ninguém me dá uma dica para resolver, estou postando em 4 foruns e nada de solução. O que poderá estar acontecendo. Dá pra dar uma luz? Se eu deixo incluir o R$, (ou seja não insiro o código acima) quando vou inserir um novo cadastro dá uma mensagem: Por exemplo: Mensagem: A conversão da seqüência de caracteres '' no tipo 'Double' não é válida ou seja após verificação conclui que não posso deixar no Textbox o R$ deverá ficar somente o valor numérico. Se eu deixo no Textbox R$3.025,30 o valor fica maravilha, mas não consigo inserir um novo cadastro. Esse R$3.025,30 inseri direto no BD para teste não usei o programa que estou desenvolvendo. Usando o Incluir, tão logo digito o valor no Textbox já aparece o R$ e automáticamente dá a mensagem: A conversão da seqüência de caracteres '' no tipo 'Double' não é válida Uso o VB .net 2008 e BD Access. Obrigado JMRF
  23. Boa noite, Valeu Xistyle. Agora tá dando esse outro erro: A conversão da sequencia de caracteres',R$1,00' no tipo 'Double' não é válida Como poderei resolver eisso? Cada hora é um erro. Soluciona um aparece outro. Pode me dar uma dica? Obrigado JMRF
×
×
  • Criar Novo...