SALVAR MAIS DE UM ITEM, BANCO DE DADOS ACCESS
Olá para todos,
Sou novata aqui e em programação, fiz alguns cursos online com os quais aprendi códigos para começar o meu próprio programa do zero em vb6.0.
Já desenvolvi grande parte do programa, porém na SAIDA de materiais, onde eu insiro o que vai no frete do caminhão é onde estou com dificuldade.
Eu separei em duas listview, uma que mostra a data do frete, o motorista e o valor do frete e outra detalhada, que mostra o que foi carregado no caminhão. E esta segunda que por falta de conhecimento estou confusa. A minha intenção é a seguinte:
Inserir nas caixas de texto o que foi carregado no caminhão do dia 12/04/2015
100 frascos azul
200 frascos amarelos
300 caixas verdes
E que salvasse as tres linhas e não só uma, como o que sei fazer.
Para que no banco de dados do access também salvasse assim (as tres linhas) E, quando fosse mostrado na list view aparecesse as tres linhas como de um frete somente, não como tres fretes distintos.
Não sei se meu raciocÃnio esta certo, se teria um método mais fácil ou se é possÃvel dessa maneira. Pelo que pesquisei, muitos dizem para usar o FOR .. NEXT, porém não sei como aplica-lo no access.
Se alguém puder me ajudar ou dizer um método mais simples eu agradeço, já estou um mês tentando sozinha com o que sei e não estou conseguindo.
Obs: O codigo que uso para salvar uma linha é:
Private Sub CadastrarSaidaDetalhada()
ConnectDB
rs.Open [Ô]select * from Nome_da_Tabela_do_Access[Ô], db, 3, 3
rs.AddNew
rs(1) = [Ô][Ô] & dtpDataSaida.Value
rs(2) = [Ô][Ô] & txtQuantidadeSaida1
rs(3) = [Ô][Ô] & comboboxUnidadeSaida1
rs(4) = [Ô][Ô] & combboxProdutoSaida1
rs(5) = [Ô][Ô] & txtCorSaida1
rs.Update
Set rs = Nothing
db.Close: Set db = Nothing
End Sub
Desde já agradeço.
Obrigada.
Sou novata aqui e em programação, fiz alguns cursos online com os quais aprendi códigos para começar o meu próprio programa do zero em vb6.0.
Já desenvolvi grande parte do programa, porém na SAIDA de materiais, onde eu insiro o que vai no frete do caminhão é onde estou com dificuldade.
Eu separei em duas listview, uma que mostra a data do frete, o motorista e o valor do frete e outra detalhada, que mostra o que foi carregado no caminhão. E esta segunda que por falta de conhecimento estou confusa. A minha intenção é a seguinte:
Inserir nas caixas de texto o que foi carregado no caminhão do dia 12/04/2015
100 frascos azul
200 frascos amarelos
300 caixas verdes
E que salvasse as tres linhas e não só uma, como o que sei fazer.
Para que no banco de dados do access também salvasse assim (as tres linhas) E, quando fosse mostrado na list view aparecesse as tres linhas como de um frete somente, não como tres fretes distintos.
Não sei se meu raciocÃnio esta certo, se teria um método mais fácil ou se é possÃvel dessa maneira. Pelo que pesquisei, muitos dizem para usar o FOR .. NEXT, porém não sei como aplica-lo no access.
Se alguém puder me ajudar ou dizer um método mais simples eu agradeço, já estou um mês tentando sozinha com o que sei e não estou conseguindo.
Obs: O codigo que uso para salvar uma linha é:
Private Sub CadastrarSaidaDetalhada()
ConnectDB
rs.Open [Ô]select * from Nome_da_Tabela_do_Access[Ô], db, 3, 3
rs.AddNew
rs(1) = [Ô][Ô] & dtpDataSaida.Value
rs(2) = [Ô][Ô] & txtQuantidadeSaida1
rs(3) = [Ô][Ô] & comboboxUnidadeSaida1
rs(4) = [Ô][Ô] & combboxProdutoSaida1
rs(5) = [Ô][Ô] & txtCorSaida1
rs.Update
Set rs = Nothing
db.Close: Set db = Nothing
End Sub
Desde já agradeço.
Obrigada.
Já conseguiu resolver sua dúvida?
Se resolveu fecha o tópico.
Este modo como está querendo nunca vi alguém proceder desta forma.
Mas vale lembrar que através do Listview,Flexgrid pode fazer do
seu jeito na qual está querendo.
Se resolveu fecha o tópico.
Este modo como está querendo nunca vi alguém proceder desta forma.
Mas vale lembrar que através do Listview,Flexgrid pode fazer do
seu jeito na qual está querendo.
Esse exemplo percorre os dados em um DataGridView e vai inserindo cada registro no banco de dados.
A ideia é mais ou menos assim:
A ideia é mais ou menos assim:
Dim sql As String = [Ô]INSERT INTO Tabela(Qtd, Descricao, Cor) VALUES (@Qtd, @Descricao, @Cor)[Ô]
Dim cmd As OleDbCommand = New OleDbCommand(sql, con)
con.Open()
For i As Integer = 0 To DataGridView1.Rows.Count - 1
cmd.Parameters.Clear()
cmd.Parameters.Add([Ô]@Qtd[Ô], OleDbType.VarChar).Value = DataGridView1.Rows.Item(i).Cells(0).Value.ToString
cmd.Parameters.Add([Ô]@Descricao[Ô], OleDbType.VarChar).Value = DataGridView1.Rows.Item(i).Cells(1).Value.ToString
cmd.Parameters.Add([Ô]@Cor[Ô], OleDbType.VarChar).Value = DataGridView1.Rows.Item(i).Cells(2).Value.ToString
cmd.ExecuteNonQuery()
Next
JABA, ela postou no net mas é VB6.
Olhe o código.
Olhe o código.
Ah sim, verdade OMAR! Mas a ideia do que ela tem que fazer é a mesma, só muda a forma de pegar os dados no list.
Desculpe, mas eu nem aconselho iniciar esse projeto, isso por se tratar de vb6 e ADO, acho um desperdÃcio de tempo e me sinto omisso em não alertar, se vai iniciar,
que já inicie em vb.net ou na plataforma .net.
é só uma dica.
que já inicie em vb.net ou na plataforma .net.
é só uma dica.
Uma dica, está começando, vai de VB.NET ou C# e banco de Dados SQl Server express (gratuito), é um pouco mais difÃcil de aprender sozinho, mas depois que aprende tudo fica mais fácil.
VB6 está com 12 anos de vida e está descontinuado. olhe só o que surgiu depois do VB6: VB2003, VB2005, VB.NET 2008, 2012 e 2013, e está no forno o VB.NET 15
lembrando que access não é muito fã de multiusuário e nem sistemas com muitas informaões para armazenar.
Não se sabe se VB6 irá continuar a funcionaando no windows 10, acredito que sim, se não, terá que partir para a virtualização.
Abs.
VB6 está com 12 anos de vida e está descontinuado. olhe só o que surgiu depois do VB6: VB2003, VB2005, VB.NET 2008, 2012 e 2013, e está no forno o VB.NET 15
lembrando que access não é muito fã de multiusuário e nem sistemas com muitas informaões para armazenar.
Não se sabe se VB6 irá continuar a funcionaando no windows 10, acredito que sim, se não, terá que partir para a virtualização.
Abs.
Tudo deveria se tornar o mais simples possÃvel, mas não simplificado.
Albert Einstein
Obrigada a todos.
Na verdade creio que já foi tempo perdido então, porque só precisava disso para finalizar o programa :/
Eu não me importo em ler, pesquisar e estudar, até gosto. Entre o .net e o C#, qual seria o melhor para que eu criar um programa desse tipo?
Na verdade creio que já foi tempo perdido então, porque só precisava disso para finalizar o programa :/
Eu não me importo em ler, pesquisar e estudar, até gosto. Entre o .net e o C#, qual seria o melhor para que eu criar um programa desse tipo?
AZUCHINI, você teria que colocar uma chave estrangeira na sua Tabela de SaidaDetalhada apontando para o FRETE.
FRETE(id, motorista, valor, data)
SAIDADETALHADA(idFrete, descricao)
Na hora que você for salvar um item para a tabela SAÃDA, você passa o id do FRETE atual para idFrete, assim haverá uma associação entre as tabelas.Para mostrar as SAÃDAS no ListView. é só percorrer a tabela de SaÃda comparando-os com o Id do frete Atual.
Ficaria mais ou menos assim em pseudocódigo:
FRETE(id, motorista, valor, data)
SAIDADETALHADA(idFrete, descricao)
Na hora que você for salvar um item para a tabela SAÃDA, você passa o id do FRETE atual para idFrete, assim haverá uma associação entre as tabelas.Para mostrar as SAÃDAS no ListView. é só percorrer a tabela de SaÃda comparando-os com o Id do frete Atual.
Ficaria mais ou menos assim em pseudocódigo:
Para cada Item in SaidaDetalhada faça
Se Saida.idFrete = Frete.id Entao
AdicionaItemSaidaNoListView()
Fim-Se
Fim-Para
AZUCHINI,
Mais fácil de aprender é vb.net, mas se vc pensar no mercado de trabalho C# tem mais campo.
Mais fácil de aprender é vb.net, mas se vc pensar no mercado de trabalho C# tem mais campo.
Obrigada a todos
Tópico encerrado , respostas não são mais permitidas