[Access] pb avec une requète "CREATE TABLE"

pb avec une requète "CREATE TABLE" [Access] - Programmation

Marsh Posté le 22-03-2002 à 18:58:40    

Bonjour à tous !
 
Je cherche à créer une table dynamiquement dans une base de données Access à partir d'un programme VB qui peut également accéder à une base SQL server. la requète sous SQL server ci dessous ne fonctionne pas sous Access :

"CREATE TABLE Competence (" & _
" ID int IDENTITY (1, 1) NOT NULL," & _
" Pkey nvarchar (50) NOT NULL ," & _
" Competence_label nvarchar (50) NULL ," & _
" Descrtiption char (200) NULL ," & _
" Competence_pkey nvarchar (50) NULL ," & _
" )"

 
à première vue les types et les NULL et NOT NULL ne fonctionnent pas sous access.  
 
 
 
Pour créer la clef de la table j'utilise la requète suivante (sous SQL server):

"ALTER TABLE Competence WITH NOCHECK ADD" & _
" CONSTRAINT PK_Competence PRIMARY KEY  CLUSTERED" & _
"  (" & _
"    Pkey " & _
"  )"

 
Comment faire sous access
 
 
Quelqu'un pourait-il m'aider ou m'indiquer un site (j'ai rien trouvé dans les MSDN) qui résoudrait mon problème ?
 
 
Merci d'avance pour votre aide.

Reply

Marsh Posté le 22-03-2002 à 18:58:40   

Reply

Marsh Posté le 22-03-2002 à 20:42:12    

mareek a écrit a écrit :

" Pkey nvarchar (50) NOT NULL ," & _




 
nvarchar est-il un type valide sous Access?

Reply

Marsh Posté le 22-03-2002 à 23:06:32    

Je crois pas ke tu puisse crée des tables de cette facon sous access.
Et de toute facon, Access ne gere pas de la meme facon l'integrité de la base SQL : Pas de gestion des clefs etrangeres...

Reply

Marsh Posté le 23-03-2002 à 13:44:23    

fabd a écrit a écrit :

Pas de gestion des clefs etrangeres...  




Ben si access gere les clefs étrangeres mais pas à la création de la table ... Mais à la création des relations ...
 
En ce qui concerne la création d'une table dynamiquement dans un prg comme VB je me demande si c possible vu que pour intervenir sur une base access il faut ouvrir une base. Donc si elle n'existe pas ...

 

[jfdsdjhfuetppo]--Message édité par kvl--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 25-03-2002 à 09:30:09    

La base existe et est ouverte, mais je veux créer une table si celle ci n'existe pas. Mon problème est que je ne connais pas les types Access correspondants au types SQL server que j'utilise (les entier auto incrémentés, les chaines à longueur fixe ou variable), je ne sais pas définir un champ avec null interdit et je ne sais pas définir les clefs (étrangères ou pas). Donc, si quelqu'un peut m'aider, il est toujours le bienvenu.


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Marsh Posté le 25-03-2002 à 16:48:04    

Bon, pour ceux que ça intéresse, j'ai réussi à résoudre mes problèmes grace à un bouquin sur Access 97 qui trainait dans un coin:
 
La requète Access pour créer la table:
 
"CREATE TABLE Competence (" & _
" ID COUNTER ," & _
" Pkey TEXT (50) NOT NULL ," & _
" Competence_label TEXT (50)," & _
" Description TEXT (200)," & _
" Competence_pkey TEXT (50)" & _
" )"
 
 
 
la requète Access pour définir la clef
 
"CREATE UNIQUE INDEX PK_Competence " & _
" ON Competence " & _
"  (" & _
"    Pkey " & _
"  )" & _
"WITH PRIMARY DISALLOW NULL"


---------------
"I wonder if the internal negative pressure in self pumping toothpaste tubes is adjusted for different market altitudes." John Carmack
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed