UPDATE DE TABELA
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.
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.
é 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.
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.
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?
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?
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




























[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]
Alvaro obrigado mesmo.
Então respondendo a sua pergunta ele vem da base formatado da seguinte forma
75,9
Então respondendo a sua pergunta ele vem da base formatado da seguinte forma
75,9
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
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
Tópico encerrado , respostas não são mais permitidas