Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos,se alguém puder me ajudar a terminar isso vou ficar muito grato,é o seguinte,estou tentando terminar um sistema simples que cadastra e edita cliente e produto e faz a venda,é tão simples que não tem nem controle de estoque,o sistema tem uma tela separada apenas para cadastro de cliente e o mesmo se repete com cadastro de produto,tem uma tela de gerenciamento de clientes e o mesmo se repete com produtos e tem uma tela para efetuar venda,na tela de gerenciamento de clientes e produtos quando se abre caso houver algum registro vai para o primeiro registro da tabela e mostra os dados no form, caso contrário emite uma mensagem "Sem registro !",nessas telas tem todas as funções básicas exceto o incluir que está em tela separada,na tela de venda tem um combobox que vai ser populado com os nomes de todos os clientes que tenho e tem um combobox que vai ser populado com todos os nomes de todos os produtos que tenho,quando selecionar um produto vai mostrar numa label o preço referente a este produto,também tem uma maskededit onde o usuário vai digitar a quantidade referente ao produto que ele vai adicionar, tem o botão adicionar que vai adicionar essas informações num MSFlexGrid que no caso seria a minha lista de itens a ser vendido,nesse grid mostra o nome do cliente,nome do produto,valor unitário,quantidade e sub-total(vlr. unit. * qtd.),em baixo tem um label mostrando o valor total e tem 2 botões que são limpar lista que vai zerar a lista e o valro total e finalizar venda que vai imprimir uma nota fiscal igual aquelas de super mercado onde contém dados simples, nada tipo aqueles fiscais profissionais,é só um papel em formato igual aqueles de mercado que contém o nome do cliente,nome do produto,valor unitario,quantidade,sub-total e no cabeçalho ou em outro lugar apropriado o valor total e depois disso vai limpar o form e dar foco no primeiro campo.
Está descrito como todo meu sistema funciona, viu como é simples !
Agora os problemas que tenho:
Até agora é isso que não estou conseguindo fazer,já tive alguns outros erros mas já resolvi com o pessoal do fórum.
Eu preciso muito terminar esse sistema para poder pagar minha faculdade visto que não estou trabalhando e tendo que me virar com freelances.
Se alguém puder me ajudar a finalizar esse sistema vou fazer tudo que puder para retribuir e ficar grato eternamente.
Download do meu projeto:
http://rapidshare.com/files/154057939/VB.rar.html
PS:Logo que conseguir hospedarei as imagens de erro,enquanto isso se puderem,baixem o projeto e executem para verem os erros.
Olá fagnerx21, beleza cara?
Bom, seus problemas não são tããão difíceis assim de serem solucionados, com exceção da impressão que não saberei te ajudar mas você pode achar algo aqui.
Vamos pelo início.
Isso aqui está estranho, repare:
Private Sub Form_Load()
'Abre a conexão
'você abre sua conexão
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\CONTROLE.mdb;"
'Abre o recordset
rs.CursorLocation = adUseClient
'e abre seu recordset
rs.Open "SELECT * FROM Clientes", cn, adOpenKeyset, adLockOptimistic, adCmdText
'depois compara se é vazio, se não for chama a função para exibir na tela
If rs.BOF Or rs.EOF Then
MsgBox "Não encontrou nenhum registro."
Else
fuCarregaRegCli
rs.MoveFirst
End If
End Sub
Public Sub fuCarregaRegCli()
Dim sql As String
Dim codigo As Long
'codigo = Val(txtCodigo)
'Abre a conexão
'ai aqui na sua função você abre de novo uma conexão sem ter fechado a anterior, ou seja, você podia ter usado a mesma
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\CONTROLE.mdb;"
cn.CursorLocation = adUseClient
'Define a instrução sql
sql = "SELECT * FROM CLIENTES"
'Abre o recordset
'depois faz um novo recordset com a mesma consulta anterior
rs.Open sql, cn, adOpenForwardOnly, adLockReadOnly
'use dessa forma rs.open sql, adOpenDynamic, adLockOptimistic - para que absoluteposition não seja -1
txtCodigo = rs(0)
txtNome = rs(1)
If rs(2).Value > 0 Then
txtCNPJ = rs(2)
Else
txtCNPJ = ""
End If
If rs(3).Value > 0 Then
mskNascimento = rs(3)
Else
mskNascimento = ""
End If
If rs(4).Value > 0 Then
mskCep = rs(4)
Else
mskCep = ""
End If
If rs(9).Value > 0 Then
txtBairro = rs(9)
Else
txtBairro = rs(9)
End If
If rs(5).Value > 0 Then
txtEndereco = rs(5)
Else
txtEndereco = ""
End If
If rs(6).Value > 0 Then
txtTelefone = rs(6)
Else
txtTelefone = ""
End If
If rs(7).Value > 0 Then
txtCelular = rs(7)
Else
txtCelular = ""
End If
If rs(9).Value > 0 Then
txtObs = rs(8)
Else
txtObs = ""
End If
'aqui absoluteposition e recordcontu sempre serão igual a -1 devido a forma como abriu seu recordset acima
txtVisor = "Registros: " & rs.AbsolutePosition & "/" & rs.RecordCount
rs.Close
End Sub
E assim, seu código para carregar, fora essas obs, está correto, o que faz com que não apareça na tela é, a função que está preenchendo os campos está em um modulo.
E nesse módulo não existe o objeto txtNome. Você precisa especificar de qual form o objeto pertence. (frmGerCli.txtnome = rs(1).
Vai tentando corrigir essa parte. Me avise se der certo que te ajudo com o resto.
Abraço.
>
Olá fagnerx21, beleza cara?
Bom, seus problemas não são tããão difíceis assim de serem solucionados, com exceção da impressão que não saberei te ajudar mas você pode achar algo aqui.
Vamos pelo início.
Isso aqui está estranho, repare:
Private Sub Form_Load()
'Abre a conexão
'você abre sua conexão
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\CONTROLE.mdb;"
'Abre o recordset
rs.CursorLocation = adUseClient
'e abre seu recordset
rs.Open "SELECT * FROM Clientes", cn, adOpenKeyset, adLockOptimistic, adCmdText
'depois compara se é vazio, se não for chama a função para exibir na tela
If rs.BOF Or rs.EOF Then
MsgBox "Não encontrou nenhum registro."
Else
fuCarregaRegCli
rs.MoveFirst
End If
End Sub
Public Sub fuCarregaRegCli()
Dim sql As String
Dim codigo As Long
'codigo = Val(txtCodigo)
'Abre a conexão
'ai aqui na sua função você abre de novo uma conexão sem ter fechado a anterior, ou seja, você podia ter usado a mesma
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\CONTROLE.mdb;"
cn.CursorLocation = adUseClient
'Define a instrução sql
sql = "SELECT * FROM CLIENTES"
'Abre o recordset
'depois faz um novo recordset com a mesma consulta anterior
rs.Open sql, cn, adOpenForwardOnly, adLockReadOnly
'use dessa forma rs.open sql, adOpenDynamic, adLockOptimistic - para que absoluteposition não seja -1
txtCodigo = rs(0)
txtNome = rs(1)
If rs(2).Value > 0 Then
txtCNPJ = rs(2)
Else
txtCNPJ = ""
End If
If rs(3).Value > 0 Then
mskNascimento = rs(3)
Else
mskNascimento = ""
End If
If rs(4).Value > 0 Then
mskCep = rs(4)
Else
mskCep = ""
End If
If rs(9).Value > 0 Then
txtBairro = rs(9)
Else
txtBairro = rs(9)
End If
If rs(5).Value > 0 Then
txtEndereco = rs(5)
Else
txtEndereco = ""
End If
If rs(6).Value > 0 Then
txtTelefone = rs(6)
Else
txtTelefone = ""
End If
If rs(7).Value > 0 Then
txtCelular = rs(7)
Else
txtCelular = ""
End If
If rs(9).Value > 0 Then
txtObs = rs(8)
Else
txtObs = ""
End If
'aqui absoluteposition e recordcontu sempre serão igual a -1 devido a forma como abriu seu recordset acima
txtVisor = "Registros: " & rs.AbsolutePosition & "/" & rs.RecordCount
rs.Close
End Sub
E assim, seu código para carregar, fora essas obs, está correto, o que faz com que não apareça na tela é, a função que está preenchendo os campos está em um modulo.
E nesse módulo não existe o objeto txtNome. Você precisa especificar de qual form o objeto pertence. (frmGerCli.txtnome = rs(1).
Vai tentando corrigir essa parte. Me avise se der certo que te ajudo com o resto.
Abraço.
Ok,vlw,então tenho apenas que deixar uma conexão e um rs aberto e fazer como você explicou,nem percebi q tinha aberto 2 vezes a conexao e o recordset oOVlw
Olá! me passa um email seu!
Se for para auxiliar poste aqui no fórum onde todos possam ver. Caso queira fazer algum tipo de negócio, entre em contato via MP com o membro. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
fagnerx21, seu tópico foi resolvido??
Abraços...
>
Olá! me passa um email seu!
Se for para auxiliar poste aqui no fórum onde todos possam ver. Caso queira fazer algum tipo de negócio, entre em contato via MP com o membro. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
fagnerx21, seu tópico foi resolvido??
Abraços...
ok, quintelab! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Fala fagnerx21, bom com o Claudio Neto (Parabéns pelo título de moderação Cláudio!) te ajudando e também o mibnetweb, nem preciso interferir...
rsrsr
quando estiver com suas dúvidas resolvidas e o sistema funcionar direito,
então te ajudo com o Crystal Reports! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif
Na verdade, é um desafio apostar no CR, é uma ótima ferramenta, mas quase ningúem sabe desenvolver nela,
passei por vários problemas quando comecei, só consegui com a ajuda do Paulo Mendes (antigo Moderador Trainee) mesmo!
Do que diz respeito ao Crystal, pode contar comigo! http://forum.imasters.com.br/public/style_emoticons/default/grin.gif
Abração Pessoal
até +
Olá! me passa um email seu!