Boas. Alguem percebe bem de Access por aqui? é uma das minhas lacunas por acaso e estava aqui a tentar fazer uma cena que era:
uma page em que um dos campos é uma dropdownlist que vai buscar os valores a outra tabela só que aquilo até funciona "por fora" mas a verdade é que os dados que insiro no modo já web não ficam guardados na tabela "principal"...digamos assim...
Como é que se relacionam as tabelas?
No fundo o que eu tenho é:
Tabela 1 com campos imagine-se:
Nº
Nome
Ano
Estado civil
e Tabela 2 que são os valores que devem aparecer numa dropdownlist do campo Estado civil da tabela 1 como sendo "solteiro", "casado, "divorciado", etc...parece ser simples de facto mas da forma como estou a relacionar as tabelas (se é que é preciso usar 2 tabelas para isto...) não me está a guardar os values da dropdownlist no campo Estado Civil da Tabela 1...
Alguma ajuda pff?
Se eu bem entendi tens uma página web que tem uma dropdownlist com as várias opções disponíveis que servirão para preencher o campo "EstadoCivil da tabela 1 certo?
Se assim for só precisas neste caso de uma tabela, o campo "EstadoCivil" vai ser preenchido consoante o que for seleccionado na dropdownlist.
Não precisas de uma 2º tabela com campos para a dropdownlist, a própria pode ser previamente definida por ti com as opções que se poderão escolher, sendo que o campo que vai receber a opção escolhida será o campo "EstadoCivil" da tabela1.
Depois suponho que tenhas um botão para confirmar a inserção dos dados e é nesse botão que tem que estar o código que permite preencher o campo "EstadoCivil" com a opção seleccionada na dropdownlist.
Por exemplo se estiveres a trabalhar em linguagem C# podes fazer assim:
public string InsCliente(string estadocivil)
{
string connectionString = @"Data Source=PCPEDRO; Database=Hotel; Trusted_Connection=yes";
SqlConnection conn = new SqlConnection(connectionString);
SqlCommand cmd = new SqlCommand("INSERT INTO Clientes (EstadoCivil) VALUES (@estadocivil, conn);
cmd.Parameters.AddWithValue("@estadocivil", EstadoCivil);
conn.Open();
cmd.ExecuteNonQuery();
}
Isto é o código que permite inserir um valor no campo EstadoCivil da tua tabela (neste caso está programado para SqlConnection no caso de Access seria oledbconnection), esse valor vai ser passado como argumento através da selecção que se faça na dropdownlist, por isso a dropdownlist tem que estar pré-confugurada com as opções possíveis. (Exemplo: Casado, Solteiro, divorciado, viúvo).
Quanto à tabela tem que ter obrigatoriamente um campo que seja "PrimaryKey" o objectivo é que definas um campo da tabela que identifique todos os outros de forma inequivoca, por exemplo o BI é um desses campos.
Resumindo, para aquilo que referes precisas de uma tabela apenas com os campos que queres preencher, um dos campos tem que estar definido como "PrimaryKey".
A DropDownList tem que estar pré-configurada com as opções possíveis de inserir.
Isto é pouco complicado de explicar por palavras... :sh) Mas espero ter ajudado.
Já agora de que forma estão a ser passados valores para os restantes campos da tabela? TexBoxs?
Cumpts