Ir para conteúdo
Fórum Script Brasil
  • 0

Salvar dados em apena uma ID


anabon

Pergunta

Olá pessoal boa tarde....

Tenho uma tabela (acess 2003) com os seguintes campos, (n° venda, dat_venda, Cliente, descrição, preço e etc...) enfim gostaria de q quando eu salva se os dados de uma determinada venda fosse salvo uma x só o campo n° venda e cliente.

Tipo assim:

n venda Cliente Descrição preço

45                Ana                Calça Jeans              50,00
                                         
                                         Mamadeira               10,00
                                        
                                         Bolsa                       40,00
________________________________________________
n venda        Cliente          Descrição                 preço
46                Ana               Calça Jeans              50,00
________________________________________________
e assim por diante...... o codigo que estou usando (vb6) salva.. so que salva todos juntos assim:
n venda        Cliente          Descrição                 preço
45                Ana               Calça Jeans              50,00
45                Ana                Mamadeira               10,00
45                 Ana               Bolsa                       40,00
________________________________________________
Já tentei colocar a chave primaria no campo n° cliente mas não deu certo... o codigo que estou usando é:
If txtformapg.Text = "DINHEIRO/CARTÃO DEBITO" Then
rs2.Open "dinheiro where n°venda", con, adOpenKeyset, adLockOptimistic
With rs2
For I = 1 To Key
    .AddNew
    .Fields("n°venda") = Me.Label3.Caption
    .Fields("data_venda") = Me.lbldate
    .Fields("hora_venda") = Me.lbltime
    .Fields("cliente") = Me.txtcliente
     .Fields("descrição") = Me.grdvendas.TextMatrix(I, 1)
    .Fields("preço_un") = Me.grdvendas.TextMatrix(I, 3)
    .Fields("quantidade") = Me.grdvendas.TextMatrix(I, 2)
    .Fields("preço_total") = Me.grdvendas.TextMatrix(I, 4)
    .Fields("total") = Me.txtapagar
    .Fields("totaldia") = Me.txtapagar
    .Fields("totaldia") = .Fields("totaldia") + CDbl(txttotaldinehiro)
    .Update
      'Next I
    .Close
    'End With
Set rs2 = Nothing
Set con = Nothing
End If
Já tentei colocar assim a pos a linha q salva o n° venda
If (RS.RecordCount = 0) Then
Else
RS.MoveLast

Mas não deu certo......

Será q alguém pode m ajudar?

Forte Abraço!!!! :blush:

Editado por kuroi
Adicionar tag CODE
Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

hum... mas eu acho q o mais certo seria assim mesmo:

o codigo que estou usando (vb6) salva.. so que salva todos juntos assim:

n venda        Cliente          Descrição                 preço
45                Ana               Calça Jeans              50,00
45                Ana                Mamadeira               10,00
45                 Ana               Bolsa                       40,00
________________________________________________[/code] se não você tiver o numero, como você vai saber q venda q é?? quando você abre a tabela dentro do access, com os registros na ordem, você consegue saber visualmente. mas quando você for fazer uma selecao de dados nessa tabela, fica impossivel saber qual é a venda, se você não tem o numero dela. mesmo q você tenha algum campo autonumeracao ou coisa assim e você consiga saber pela ordem, vai dar muito muito trabalho. se você quer mostrar o numero da venda só na primeira linha, então faca isso dentro do seu programa verificando os dados na hora de preencher o datagrid. ai você ve, se é o primeiro item da venda, você mostra o numero. se o proximo numero for o mesmo, você não mostra mais ate q o numero mude. mas na verdade, o melhor mesmo seria você usar duas tabelas normalizadas em vez de uma. a gente costuma fazer tipo assim. seriam essas duas tabelas com os seguintes campos:
[code]TABELA DE VENDAS
----------------------------
Numero da Venda <-- campo chave
Data da Venda
Hora da Venda (na verdade podia ser data e hora num campo só)
Cliente
Total


TABELA DE ITENS
----------------------------
Numero da Venda <-- esses dois seriam campos chaves
Numero do Item   <-- esses dois seriam campos chaves
Descricao
preço
Quantidade
Valor Total <-- o total da outra tabela seria a soma desse campo pra todos os itens

ai a tabela de Vendas seria tipo o cabecalho da venda e a tabela de itens a especificacao de cada produto vendido. ai na tabela de vendas, você criava um numero para a venda e na tabela de itens, você gravava esse mesmo numero pra poder associar uma tabela com a outra.

hum, não sei se deu pra entender a parte das duas tabelas, mas de qualquer modo, essa ideia de não gravar o numero da venda no access não vai dar bom resultado de jeito nenhum.

o certo seria gravar os numeros no access, mas omiti-los na hora de mostrar pro usuario.

Link para o comentário
Compartilhar em outros sites

  • 0

Ata... obrigada Kuroi, entendi sim... tenho algo parecido antes dessa tabela tenho a tabela venda principal, que tem exatamente os campos que você m dissi..... Mas vou fazer como você m informou... parece melhor assim... E o que eu qro dizer com não gravar o numero não é não gravar o numero em todas as vendas e sim gravar o numero so uma x... Porque eu sempre fiz assim, so q agora qro inclementar e assim gravando o n° da venda em todas as linhas to achando dificudade para excluir a venda.. Entende? Por exemplo se o usuario lançou 2 itens na venda n° 45... quando mostro no programa para excluir essa venda ele aparece por exemplo :

venda n° 45

Descrição: Calça Jeans

Valor: 50,00

Venda n°45

Descrição: Mamadeira

Valor: 10,00

Oque eu qria fazer é q esse n°45 só aparece uma x só para não confundi o cliente..... :wacko:

Só aproveitando o gancho das tabelas.... gosto de separar os lançamenttos, dinheiro, cheque, cartão de credito, fiz uma tabela separada para cada um com os seguintes campos(data_venda, hora_venda, total, total_dia (esse ultimo soma todo o movimento daquele dia) Ta certo assim?

Muito obrigada

Forte Abraço!!!!

Link para o comentário
Compartilhar em outros sites

  • 0

Rapidamente passando (e me metendo...:D)...

Será que não rola um "SELECT DISTINCT" aí ???

Pelo que deu para entender:

rs2.Open "SELECT DISTINCT nºvenda FROM dinheiro", con, adOpenKeyset, adLockOptimistic

Só uma opinião... :rolleyes:

Minhas dúvidas:

"x" = vez ?

"dinheiro" é o nome da "Tabela" ?

"nºvenda" é o campo de referência da filtragem ?

legal.png

Link para o comentário
Compartilhar em outros sites

  • 0
Será que não rola um "SELECT DISTINCT" aí ???

hum, na verdade a intencao no caso é selecionar todos os dados, e mostrar todos os registros, mas esconder o codigo apos o primeiro item da venda.

E o que eu qro dizer com não gravar o numero não é não gravar o numero em todas as vendas e sim gravar o numero so uma x... Porque eu sempre fiz assim, so q agora qro inclementar e assim gravando o n° da venda em todas as linhas to achando dificudade para excluir a venda..
Oque eu qria fazer é q esse n°45 só aparece uma x só para não confundi o cliente..... :wacko:

hum, mas imagina q você precise usar um comando pra excluir todos os itens da venda 45... você podia fazer somente assim:

Delete From tabela where numero_venda = 45

agora imagina q você não grave o numero no banco de dados e deixe o campo com valor nulo. ai você ia ter q percorrer os dados e excluir um por um.

visualmente fica muito melhor se não mostrar o numero. mas se você precisar manipular os dados via programacao vai ficar completamente impossivel.

o melhor seria você esconder o numero somente na hora de mostrar pro usuario. na hora de preencher o flexgrid, você adiciona uma checagem, e só preenche o numero no momento q mudar do anterior pro proximo.

se tiver dificuldade, poste o codigo q você usar pre preencher o grid q fica mais facil pra gente te passar as instrucoes.

Só aproveitando o gancho das tabelas.... gosto de separar os lançamenttos, dinheiro, cheque, cartão de credito, fiz uma tabela separada para cada um com os seguintes campos(data_venda, hora_venda, total, total_dia (esse ultimo soma todo o movimento daquele dia) Ta certo assim?

hum... a gente costuma separar tabelas quando existe uma relacao de 1 pra N (exemplo, 1 venda vai ter N itens). separar tabelas numa relacao de 1 pra 1 (exemplo, 1 venda vai ter somente 1 data e 1 valor total) seria opcional. você faz se facilitar pra você e você achar q fica mais organizado, desde q não atrapalhe nem complique o funcionamento do sistema ne.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...