SALVAR MAIS DE UM ITEM, BANCO DE DADOS ACCESS

AZUCHINI 12/04/2015 19:32:43
#445880
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.
OMAR2011 14/04/2015 15:06:22
#445912
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.
JABA 14/04/2015 16:16:48
#445915
Esse exemplo percorre os dados em um DataGridView e vai inserindo cada registro no banco de dados.

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
OMAR2011 14/04/2015 16:50:38
#445917
JABA, ela postou no net mas é VB6.
Olhe o código.
JABA 14/04/2015 17:42:46
#445925
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.
NILSONTRES 14/04/2015 18:14:08
#445926
Resposta escolhida
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.
JCM0867 15/04/2015 09:57:10
#445934
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.

Tudo deveria se tornar o mais simples possível, mas não simplificado.
Albert Einstein

AZUCHINI 16/04/2015 18:40:46
#445965
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?
JABA 16/04/2015 19:31:42
#445966
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:

Para cada Item in SaidaDetalhada faça
Se Saida.idFrete = Frete.id Entao
AdicionaItemSaidaNoListView()
Fim-Se
Fim-Para

NILSONTRES 16/04/2015 20:28:08
#445971
AZUCHINI,
Mais fácil de aprender é vb.net, mas se vc pensar no mercado de trabalho C# tem mais campo.
AZUCHINI 16/04/2015 22:18:48
#445975
Obrigada a todos
Tópico encerrado , respostas não são mais permitidas