Remplir champs

cs_dam94 Messages postés 59 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 14 juin 2004 - 19 mai 2004 à 12:29
chichamalcolmx Messages postés 1 Date d'inscription samedi 15 octobre 2005 Statut Membre Dernière intervention 18 octobre 2005 - 18 oct. 2005 à 02:19
Bonjour,

Je dois remplir une table access à partir de données stockées dans un tableau de données de VB.
Dans un 1er temps, j'ouvre ma base, puis je crée une table, puis je crée mes deux champs : time1 et temp1. Je souhaite remplir la colonne de time1 avec la valeur de c et la colonne de temp1 avec les données de mon tableau d(c).
Quelqu'un peut-il m'aider?

Merci,
DAMIEN

13 réponses

HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
19 mai 2004 à 12:58
Bonjour,

si tu as préalablement ouvert ta base (dans l'exemple nommée db) :

Dim requete As String

requete = "INSERT INTO table (time1,temp1) VALUES ('" & c & "','" & d(c) & "')"

db.Execute (requete)



Fanny
0
cs_dam94 Messages postés 59 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 14 juin 2004
19 mai 2004 à 13:32
Dim requete As String

For c = 1 To (2 * fin) + 1
requete = "INSERT INTO table (time5,temp5)"
Values "('" & c & "','" & d(c) & "')"
db.Execute (requete)
Next c

Le problème c que quand je met ça il affiche une erreur :
Attendu : expression
0
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
19 mai 2004 à 14:10
Oups c'est normal, c'est à cause de l'affichage de mon message.
Le VALUES fait parti de la requete :)

Syntaxe d'une requete INSERT en SQL :
INSERT INTO table (nomchamp1, nomchamp2, ...) VALUES ('texte1',nombre2, ...)

donc le VALUES doit etre mis dans tes guillemets :)

For c = 1 To (2 * fin) + 1
requete = "INSERT INTO table (time5,temp5) Values ('" & c & "','" & d(c) & "')"
db.Execute (requete)
Next c


Fanny
0
cs_dam94 Messages postés 59 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 14 juin 2004
19 mai 2004 à 14:35
Il ya un problème dans la syntaxe de INSERT INTO, je cherche mais je ne trouve pas. Il faut dire que je ne connais du tout les requête.
Si t'a une idée de l'erreur...
Merci,

DAMIEN
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
19 mai 2004 à 14:43
De quel type sont tes champs ?

Fanny
0
cs_dam94 Messages postés 59 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 14 juin 2004
19 mai 2004 à 14:50
Dim db As Database
Dim Td As TableDef
Dim time5, temp5 As Field
Dim requete, table As String

'Ouvrir la base
Set db = OpenDatabase("Historique.mdb")

'Créer la table
table = Now
Set Td = db.CreateTableDef(table)

'Ajouter le champ à la table
Set time5 = Td.CreateField("temps", dbInteger)
Set temp5 = Td.CreateField("températures", dbSingle)

'Remplir la table
For c = 0 To (2 * fin) + 1

requete = "INSERT INTO table (time5,temp5) Values ('" & c & "','" & d(c) & "')"
db.Execute (requete)

Next c


'Ajouter la table à la base
db.TableDefs.Append Td

'Fermer la base de données
db.Close

Voilà ce que j'ai pour remplir ma table. c est un Integer et d() est un single.

As tu une idée ?
0
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
19 mai 2004 à 15:03
Je pense savoir d'où vient le problème.
En fait, je t'ai fait mettre les champs que tu inséres entre cotes, pensant que c'était des chaines de caractères, mais ce sont des nombres, donc il faut que tu enlèves les cotes :)

requete = "INSERT INTO table (time5,temp5) Values (" & c & "," & d(c) & ")"


Normalement ça devrait fonctionner ... enfin j'epère :blush)

Fanny
0
cs_dam94 Messages postés 59 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 14 juin 2004
19 mai 2004 à 15:11
Toujours le même problème !

il bloque sur db.Execute (requete) en affichant Erreur de syntaxe dans l'instruction INSERT INTO
0
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
19 mai 2004 à 15:46
Hem ... je viens de comprendre pourquoi ...

Tes champs ne s'appellent pas time5 et temp5 dans ta table mais Temps et Temperature ...

C'est ces noms là qu'il faut que tu mettes dans ta requete SQL ... car forcément, si tu mets le nom de tes variables ... Access ne les connait pas dans la table.

requete = "INSERT INTO table (Temps,Temperature) Values (" & c & "," & d(c) & ")"


PS : enlève les accents pour les noms de table, c'est préférable.

Fanny
0
cs_dam94 Messages postés 59 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 14 juin 2004
19 mai 2004 à 15:51
Ca ne marche toujours pas et encore une fois la même erreur!
Ca en devient stressant là !!!

DAMIEN
0
HFanny Messages postés 699 Date d'inscription mercredi 19 février 2003 Statut Membre Dernière intervention 13 mai 2011 20
19 mai 2004 à 16:24
J'AVAIS PAS VU NON PLUS !!!

tu mets table = Now ?
En gros tu appelles ta table avec le nom du date ?

Il faut que tu mettes "insert into [" &table& "] VALUES ..."

C'est logique que ça ne fonctionnait pas si tu n'as pas de table qui s'appelle "table" :)

Reste à voir si c'est la dernière erreur ...

Fanny
0
cs_dam94 Messages postés 59 Date d'inscription mercredi 28 avril 2004 Statut Membre Dernière intervention 14 juin 2004
21 mai 2004 à 10:16
Et bien il y a toujours le même problème. J'ai reposé mon problème dans une autre question ("pb de requête"), on sait jamais quelqu'un trouvera peut-être.
Merci de ton aide !

DAMIEN
0
chichamalcolmx Messages postés 1 Date d'inscription samedi 15 octobre 2005 Statut Membre Dernière intervention 18 octobre 2005
18 oct. 2005 à 02:19
je veu inséré plusieurs ligne à la fois

est ce que c possible?????!!
0
Rejoignez-nous