|
Postada em 06/02/2008 16:56 hs
Ola galera... estou com mais um problema... agora esta sendo na hora de criar uma tabela... eu preciso que essa tabela tenha varios campos com chave primaria, e que esses campos sejam texto e com duplicação autorizada eu ate achei uma forma de fazer.. mais ela é meio grandinha.... eu queria saber como fazer isso com um comando mais facil... eu ate consegui criar mais ou menos isso... mais só consigo colocar chave primaria em apenas um campo... e a duplicação fica não autorizada DB.Execute "CREATE TABLE Marcacoes (CodEmpresa TEXT(4), Codigo TEXT(6) CONSTRAINT primarykey PRIMARY KEY);" mais uma vez muito obrigado
M A R C I O
|
|
|
|
|
Postada em 07/02/2008 11:49 hs
Não existe 2 chaves primárias em uma tabela amigo. O que pode-se fazer é uma chave primária composta. Exemplo: CREATE TABLE Tabela( ID1 CHAR(10), ID2 INTEGER, ID3 INTEGER, TEXTO VARCHAR(255), PRIMARY KEY (ID1, ID2, ID3) ) Isso funciona da seguinte maneira: A composição dos 3 campos tem que ser diferente para cada registro. Exemplo ID1 ID2 ID3 A 1 1 A 1 2 A 1 3 B 1 1 B 1 2 B 1 3 e assim por diante... o que NÃO É PERMITIDO é: ID1 ID2 ID3 A 1 1 A 1 1 No caso acima a composição dos 3 campos são iguais para os 2 registros. Neste caso não pode. Qualquer dúvida posta ae... at+
|
TÓPICO EDITADO
|
|
|
|
emanum
|
VIAMAO RS - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 07/02/2008 12:03 hs
nao entendi amigo, oque vc quer fazer ?Tem certeza q realmente necessita de mais de uma chave primaria ? pois como o colega falou nao existe mais de uma chave primaria!
|
|
|
Perci
|
MATÃO SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 07/02/2008 12:21 hs
Olha, Marcio, como já disseram, a tabela não pode ter mais de uma chave primária, e também a chave primária nunca vai aceitar valores duplicados. Não sei qual o tipo de aplicação que você está desenvolvendo, mais se você for inserir na tabela valores duplicados, é melhor deixar a tabela sem uma chave primária. Assim quando for consultar nas tabelas, informe os campos necessários para realizar a tarefa. Qualquer coisa explique melhor o seu tipo de aplicação, falou? Até mais.
|
|
|
|
Postada em 08/02/2008 15:34 hs
Bom, pra ser sincero a vcs... eu estou tentando transferir uma tabela de uma base de dados para uma outra tabela de uma outra base de dados.... essa tabela de origem esta feita assim, tem 4 chavinhas la indicando como primaria... essa tabela não fui eu que fiz eu tbm tentei montar aki no proprio access com mais de uma chave e nao deixou... e tbm nao deixou como duplicação autorizada eu estava querendo criar uma tabela igual pra poder transferir de uma pra outra... mais ja desisti... eu vou criar uma nova tabela e passar todos os dados dessa tabela doida pra essa nova tabela... e modificar no sistema pra ele passar a trabalhar com a tabela nova.... ai sim depois com essa nova q vou criar eu consigo passar os registros via sql pro outro mdb muito obrigaodo a todos pela ajuda
M A R C I O
|
|
|
|
Postada em 08/02/2008 16:01 hs
Marcio, estas 4 chaves que vc viu é chave primária composta... é só colocar a sql que passei para a consulta do acess e executar. Qualquer dúvida postae at+
|
TÓPICO EDITADO
|
|
|
|