Create table avec variable

chaudier37 Messages postés 209 Date d'inscription jeudi 5 août 2004 Statut Membre Dernière intervention 15 juillet 2009 - 28 avril 2008 à 22:56
chaudier37 Messages postés 209 Date d'inscription jeudi 5 août 2004 Statut Membre Dernière intervention 15 juillet 2009 - 1 mai 2008 à 19:26
Bonjour
je tente de faire une create table en sql

create table nom
(nom text, montant number)

seulement nom est une variable et le nom peut être liliane comme paul...
et je voudrais que la table créee soit paul ou liliane...
c'est possible ? si oui quelle est la syntaxe extacte ?
merci beaucoup

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
28 avril 2008 à 23:08
Salut
Ta table porte le même nom que le champ 'nom' : comment veux-tu qu'on comprenne quelque chose à ta question ?
En plus, tu nous dis que 'nom' est aussi une variable dans ton code.

Bref, en supposant que tu veuilles que la table 'nom' comporte un champ dont le noms serait le nom représenté par ta vraible 'nom', suffit d'insérer ta variable 'nom' en tant que variable dans la chaine de ta requète, genre :

   Dim maRequete As String
   Dim nom As String = "Paulette"
   maRequete = "Create Table nom ([" & nom & "] text, montant number)"

Je ne sais pas trop ce que tu veux faire avec ce genre de bricolage, mais fait attention au contenu de la variable 'nom' : Si elle contient des caractères spéciaux (apostrophes, espaces, accents ...), cela posera problème --> C'est pour cela que le nom du champ 'nom' a été encadré par des crochets [ et ]. Il faudra utiliser cette astuce en permanence, à chaque fois que tu voudras évoquer le nom de ce champ 'nom', non de non.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
0
chaudier37 Messages postés 209 Date d'inscription jeudi 5 août 2004 Statut Membre Dernière intervention 15 juillet 2009
1 mai 2008 à 19:26
Bonjour,
excusez-moi mais cela ne fonctionne pas...

Private Sub Commande2_Click()
MsgBox Form_noms!noms  met le nom choisi dans la zone de liste modifable
Dim maRequete As String


maRequete = "Create Table & Form_noms!noms & ([" & Form_noms!noms & "] text, montant number)"  la create table selon votre model


Dim heures As Integer, mission As String, jour As Date, mois As Date
Dim i As Integer, a As Integer, b As Integer, c As Integer
jour = InputBox("entrez la date") l'operateur entre une date
a = InputBox("combien de jorus comprends le mois  concerné") l'operateur entre le nombre de jours que comprend le mois
Dim h1 As Integer, h2 As Integer, h3 As Integer
h1 = InputBox("entrez le nombre d'heures travaillées dans la mission 1 par " & Form_noms!noms) l'operateur entre le nombre d'heures travaillées par jours pour la mission 1
h2 = InputBox("entrez le nombre d'heures travaillées dans la mission 2 par " & Form_noms!noms) l'operateur entre le nombre d'heures travaillées par jours pour la mission 2
h3 = InputBox("entrez le nombre d'heures travaillées dans la mission 3 par " & Form_noms!noms) l'operateur entre le nombre d'heures travaillées par jours pour la mission 3
For i = 0 To a - 1  boucle de 0 au nombre de jours
Form_noms!Date = jour + i   date + jour
Form_noms!mois = jour + i  mois
Form_noms!mission = "m1" mission  n°1
Form_noms!heures = h1 nombre d'heures effectuées par jour de la mission 1
DoCmd.GoToRecord , , acNext enregistrement suivant
Form_noms!Date = jour + i  date + jour
Form_noms!mois = jour + i  mois
Form_noms!mission = "m2"  mission  n°2
Form_noms!heures = h2  nombre d'heures effectuées par jour de la mission 2
DoCmd.GoToRecord , , acNext  enregistrement suivant
Form_noms!Date = jour + i  date + jour
Form_noms!mois = jour + i mois
Form_noms!mission = "m3"  mission  n°3
Form_noms!heures = h3  nombre d'heures effectuées par jour de la mission 3
DoCmd.GoToRecord , , acNext  nombre d'heures effectuées par jour de la mission 3
Next fin de boucle
DoCmd.SetWarnings False effacement du questionnaire de requête
DoCmd.RunMacro "effacement" macro qui fait ouvrir une requête d'effacement dans la table : les dimanche et les missions du samedi différentes de mission 3
DoCmd.SetWarnings True


End Sub

Voici ce que j'ai fait : c'un un travail qui permet de noter le nombre d'heures par mission et par jour des salariés. tout va bien. sauf que j'aurai voulu que à chaque fois une table concernant le salarié se crée... et donc j'ai suivi votre syntaxe et cela ne fonctionne pas...
la table ne se cree pas...

help... vous pouvez m'aider ? je suis perdue...
merci
0
Rejoignez-nous