[RESOLVIDO]Erro ao inserir dados

Boa tarde,

Será que alguém me pode ajudar? Estou a tentar inserir dados num formulário com formato de grid editável e tenho um campo Select com 2 valores - Sim; Não - No entanto quando vou inserir os dados no formulário ele dá-me este erro:“Erro ao incluir na base de dados:
Field ‘agregadoid’ doesn’t have a default value”; e o SQL = INSERT INTO agregado (vivesozinho, nome, parentesco, idade, atividadeprofissional, telefone, ficha_id) VALUES (‘Sim’, ‘cvbcxvb’, ‘cvbcvb’, 11, ‘cvbcvb’, ‘66666’, 0)

Não entendo o que se está a passar. O campo agregadoid é um campo de numeração automática.

Boa tarde Vanda, em Editar Campos está atribuindo o valor Auto incremento (Automático) ou Auto incremento (Manual) ?

Bom dia,

Está definido Auto incremento (Automático). O formulário anterior era o detalhe do Mestre detalhe que criei.
NO entanto fui ao formulário principal tentar inserir dados e dá a mesma mensagem de erro. Será que tenho que programar alguma coisa?

Vanda bom dia,

Como está definida a tabela agregado, no teu banco de dados? Podes colocar aqui?

Kleyber,

Mais tarde vou enviar a tabela, neste momento não tenho acesso a ela.
Obrigada pela ajuda

Kleyber

Não sei como anexar ficheiro aqui?!
Mas a estrutura dos campos é a seguinte:

Id_agregado(PK)
vivesozinho(listagem, fiz lookup manual)
nome(txt)
parentesco(txt)
idade(nº)
atividadeprofissional(txt)
telefone(nº)
Id_identificacao (FK) (é chave estrangeira da tabela principal)

O formato que dei foi grid editável

Onde está o campo AGREGADOID?

Enganei-me, não é Id_agregado, mas sim agregadoid

Vanda,

Ok, e na tabela o campo agragadoid além de PK é NOT NULL e AUTOINCREMENT?

Kleyber na tabela tem estas defnições:

agregadoi int 10 (collation) unsigned ON UPDATE ON DELETE

não está mais nada ativo.

Ok Vanda,

Qual é o teu banco de dados? Pelo visto a definição desse campo é que está incompleta. Ele deve ser NOT NULL e AUTOINCREMENT, o que vai permitir a gravação da numeração em sequencia.

Desenvolvi em Mysql. o Not Null é se não seleccionar o quadrado.

Então deixe essas duas opções (NOT NULL e AUTOINCREMENT) marcadas nesse campo. Isto deve resolver.

Kleyber,

Fiz um teste agora no formulário mudei o tipo de dados do campo agregadoid para Nº Auto complete e Auto incremento manual e funciona. Mas se mudo para Auto incremento (automático) dá erro. Por que será?

Provavelmente o erro ocorre por que, ao inserir os dados, ele está pegando um ID que já existe. Isso ocorre sempre aqui quando vou criar um formulário onde já existe dados inseridos na tabela. Geralmente esse erro ocorre quando você faz migração de BD onde o campo é do tipo Auto-Incremento. Ele sempre vai pegar o próximo ID válido, e depende de qual último ID existente ele esteja pegando como parâmetro.

Obrigada Gabriela.
Mas eu estava a fazer o teste agora com uma base só com 2 campos e continuava a dar erro. Falei com o Apoio online e ajudaram-me.
O problema é que ao criar a tabela eu não estava a definir o campo agregadoid como AI então quando fazia essa mudança no formulário (editar campos) ele dava erro.
Mas agora já fui definir na tabela de origem e tudo está a correr bem!

Kleyber obrigada pela sua ajuda! Na tabela mudei como você disse NOT NULL e cliquei no AI e já funciona tudo bem. Eu estava a fazer o AI no formulário e isso não funcionava.
Obrigada.