• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

bioshock

Vb 2008 Access (RESOLVIDO)

16 mensagens neste tópico

Boa noite.

Estou com o seguinte problema:

Não consigo gravar o novo registo por "completo" na base de dados.

Isto é: Se eu clicar no botão GRAVAR do form que pretendo ele grava, mesmo q faça STOP ao form e volte a fazer RUN o novo registo está lá.

O problema está que: Ele não grava o registo na base de dados, e caso eu adicione outro form e ponha lá a mesma base de dados ele não detecta o registo que fiz anteriormente.

No código do guardar, tenho isto:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

        Me.Validate()

        Me.CLIENTESBindingSource.EndEdit()

        Me.TableAdapterManager.UpdateAll(Me.Base_de_DadosDataSet)

        Me.CLIENTESTableAdapter.Update(Me.Base_de_DadosDataSet.CLIENTES)

Gostaria de guardar isto na base de dados, para que sempre a acedesse estivesse lá gravado o que faço no VB.

Cumprimentos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

na realidade..o que te está a acontecer a ti, é o que esta a acontecer a muita malta nos ultimos dias aqui no forum...

A utilização dos objectos automáticos, parece-me que implica que tenhas no final de gravar utilizar um comando qualquer do update do dataset... ou de outro objecto qualquer(confesso que não conheço....) mas o que é facto, é que se leres os ultimos 10 posts vais encontrar pelo menos 2 ou 3 pessoas com o mesmo problema.

Experimenta as soluções que lhes indicaram

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

yep....há casos iguais aí no fórum...

penso que te falta por aí o tableadapter

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dudu

yep....há casos iguais aí no fórum...

penso que te falta por aí o tableadapter

Me.TableAdapterManager.UpdateAll(Me.Base_de_DadosDataSet)

        Me.CLIENTESTableAdapter.Update(Me.Base_de_DadosDataSet.CLIENTES)

O tableadapter está lá..

Não encontrei aqui no forum alguém q já tivesse resolvido :s

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lool  :)

tenho de ir lavar a cara... :)  xD

bem, eu desse modo não sei grande coisa...(sou um bocado novo nisto)

mas tu apenas queres gravar os dados na BD directamente é?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Exactamente.

É que, se eu Inserir um novo Registo, consigo guarda-lo. Fecho a Aplicação, volto a corre-la e está lá o registo. Mas se for ver à base de dados não está, e se criar outro form e puser a mesma tabela, claramente também não está.

Portanto, o problema está em: Gravar na base de dados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ahahah

mas isso é normal pah!!!

apenas quando tiveres o ficheiro de instalação e estiver a rolar vai guardar os dados!

enquanto trabalhas no projecto não os guarda....:)

só se os guardares directamente da BD...( isto é, mesmo no access... :) )

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tipo, imagina:

Eu crio um novo registo, Registo 99 - No form1

No Form2, tem algo para consulta de registos.

Nessa consulta o registo 99 já tem que aparecer e não aparece, percebes?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

hum...

experimenta adicionar um registo mesmo na BD...sem ser atraves da aplicação e ve se aparece...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Fiz o que me pediste: Fui à Base de Dados, adicionei um novo registo, fui ao VB, voltei a importar a Base de Dados e estava lá o registo que criei.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois...eu já suspeitava....lol

e então se adicionares um registo e depois fores consultar não o ves???

que mecanismo estas a usar para fazer as consultas???

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Depende.

Se eu criar um Registo (No Form1 - Tabela CLIENTES) e Grava-lo, caso Feche a Aplicação e volte a corre-la consigo ver o Registo.

Contudo, se quiser por a mesma Tabela (CLIENTES) no Form2, se executar o Programa, o Registo que criei no Form1 não aparece. (Nem aparece na Base de Dados).

As consultas, não utilizo nada, porque eu utilizo o " Data Sources " - SQL

O código que tenho no botão guardar é este:

  Me.Validate()

        Me.CLIENTESBindingSource.EndEdit()

        Me.TableAdapterManager.UpdateAll(Me.Base_de_DadosDataSet)

        Me.CLIENTESTableAdapter.Update(Me.Base_de_DadosDataSet.CLIENTES)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Me.CLIENTESTableAdapter.Fill(Me.Base_de_DadosDataSet.CLIENTES)

Este é código que gera automaticamente do SQL, no Form Load

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Contudo, se quiser por a mesma Tabela (CLIENTES) no Form2, se executar o Programa, o Registo que criei no Form1 não aparece. (Nem aparece na Base de Dados).

então é a tal coisa que eu disse....

tenta fazer isso sem fechar a aplicação....deve aparecer

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já arranjei solução pessoal.

No botão guardar, ponham o seguinte:

        Try

            Me.CLIENTESTableAdapter.Update(Me.base_de_dadosDataSet.CLIENTES)

        Catch ex As Exception

            MessageBox.Show("Não funcionou!")

        End Try

É bastante simples, abraço.

Obrigado a quem me tentou ajudar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já arranjei solução pessoal.

No botão guardar, ponham o seguinte:

        Try

            Me.CLIENTESTableAdapter.Update(Me.base_de_dadosDataSet.CLIENTES)

        Catch ex As Exception

            MessageBox.Show("Não funcionou!")

        End Try

É bastante simples, abraço.

Obrigado a quem me tentou ajudar.

tambem me ajudou B) marca como resolvido o teu tópico.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora