UPDATE DE TABELA

OMAR2011 25/09/2012 14:49:45
#410463
Essa idéia é a mais MALUCA que vejo.
Pura apelação.Olha o exemplo do Treze.
Vai fazer duas vezes o mesmo serviço,
se não for mais.
As idéias vão aflorar na sua mente,pode ter
certeza.

Treze;como e feito o Insert e Update,quando são
acrescentado 3,4,5 ou mais registro no grid.

Gostei do visual, bem legal e onde encontra isso.
MARCELO.TREZE 25/09/2012 14:58:50
#410465
é assim que funciona deixe tentar explicar a lógica:

quando abro o programa carrego o grid com os dados já cadastrados, nos campos acima vc repara que o unico campo preenchido é do código que é o proximo, os demais estão vazios, e os unicos botões ativos são o novo e o salvar.

se eu clicar em novo e algo estiver escrito os campos serão apagados.

porém se eu preencher os campos e clicar em salvar, faço um insert com os dados dos campos, e carrego novamente o grid ja com esta ultima inserção.

porém se eu for no grid e selecionar um registro, a unica coisa que faço é transferir os dados da linha selecionada para os campos acima, e desativo o botão salvar, e ativo alterar e excluir.

se eu clicar em alterar faço um update baseado no código que joguei nos campos e carrego o grid novamente, porém o ja irá aparecer a atualização

se eu clicar em excluir faço um delete baseado nos dados dos campos e carrego o grid novamente.

resumindo não faço nada diretamente do grid, uso-o apenas para selecionar ou exibir os dados do banco, e sempre recarrego o mesmo após qualquer operação.



AZORSCA 25/09/2012 16:37:19
#410473
Legal a ideia de vocês. Porém sinto que não ajudou muito.

Continuarei fazendo da seguinte forma, que é deletando os registros e ao invés de um upload faço um insert com as alterações e com os novos registros.


Mudando de dúvida, estou com um problema de máscaras de valores monetários, na Base de dados armazeno valore com a seguinte formatação:

Base de dados SQL Server

Tipo do campo é Money e os valores ficam assim: 75.90
Quando eu trago os valores da base aparece assim: R$ 7,59
Quando o correto seria R$75,90


A função máscara moeda é esta:

Public Sub MascMoeda(ByVal controle As TextBox)
[ô] Função para Mascarar valores da caixa de texto para Tipo Moeda
Dim i As Integer, T As String

With controle
[ô] Armazena o Text, para nao causar o evento change sem motivos
T = .Text
[ô] Armazena o SelStart da Dir. para Esq., pois o alinhamento é esq.
i = Len(T) - .SelStart
[ô] Tira a virgula da var T
T = Replace(.Text, [Ô],[Ô], [Ô][Ô])
[ô] Acrescenta zeros
If Len(T) < 3 Then T = String(3 - Len(T), [Ô]0[Ô]) & T
[ô] Monta o número separando as casas
T = Mid(T, 1, Len(T) - 2) & [Ô],[Ô] & Mid(T, Len(T) - 1)
[ô] Formata o número para tirar os zeros a mais q podem ficar no começo
T = Format(T, [Ô]#0.00[Ô])
[ô] Verifica se o valor do Text é <> da Var. T (para não travar no evento Change)
If .Text <> T Then .Text = T
[ô] Como mudou o valor do TextBox, tem q voltar o SelStart ao q era antes
.SelStart = Len(T) - i
End With

End Sub

chamo esta função no change dos textboxes.


Poderia me ajudar com isto?
ALVAROVB2009 25/09/2012 17:02:34
#410475
Citação:

:
Verdade heim.

Boas dicas ajudou a esclarecer.
Só que vendo aqui testei de uma forma e funcionou legal até, só nao sei se é a mais correta.

Estou fazendo o seguinte eu apago todos os itens da tabela de determinada nota e depois faço um outro insert.

Desta maneira vai as alterações e as novas inclusões.


O que vocês acham desta maneira?



Cara eu faço isso também em alguns projetos e não tenho problema nenhum


Quanto a sua segunda dúvida, eu tenho uma pergunta, se vc criar uma variável e simplesmente jogar o valor que vem do banco ele vem como?
75.90 ou 75,90

Porque que estou perguntando, eu trabalho com o Mysql e quando passo os valoes para o banco passo 75.90, porém qdo ele vem do banco ja vem como 75,90.
No seu caso se ele voltar 75.90 poderia usar uma combinação de replace com format, ficaria assim
1º Vc elimina as virgulas caso o número seja uma milhar
2º Vc troca o ponto por vírgula
3º Formata normalmente

Dim Valor as double
dim Variavel as string
Variavel = [Ô]75.90[Ô]
Valor = format(replace(replace(variavel,[Ô],[Ô],[Ô][Ô]),[Ô].[Ô],[Ô],[Ô]),[Ô]###,###,##0.00[Ô])

Não fiz o teste, más acho que ficaria assim, tenta ai qualquer coisa posta ok



FEDERHEN 25/09/2012 17:03:54
#410476


[txt-size=2][txt-color=#e80000]Voce deve postar uma dúvida para cada tópico
e no final, resolvido o problema, pontuar quem melhor contribuiu para a solução do problema
[/txt-color][/txt-size]
AZORSCA 25/09/2012 17:14:00
#410477
Alvaro obrigado mesmo.

Então respondendo a sua pergunta ele vem da base formatado da seguinte forma

75,9

ALVAROVB2009 25/09/2012 17:41:04
#410481
Blz então use apenas o format

seutext.text = Format(seucampo,[Ô]###,###,##0.00[Ô])

E assim depois só não esqueça de fechar o post, para não virar bagunça ok e como o nosso amigo FEDERHEN falou para poder pontuar quem melhor te ajudou, nesse caso você tinha arrumado uma solução para o seu problema sózinho, más mesmo assim para ficar padrão no fórum

qqer coisa posta ai se a minha solução falhar ou não ajudar
Página 2 de 2 [17 registro(s)]
Tópico encerrado , respostas não são mais permitidas