[sql]insert into en access.

Résolu
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 - 27 mars 2006 à 22:04
bobspong80 Messages postés 19 Date d'inscription mercredi 3 janvier 2007 Statut Membre Dernière intervention 21 décembre 2007 - 2 oct. 2007 à 15:48
bonsoir tout le monde

Je cherche à inserer des des données dans une table via ine requet insert into

voici le code:

Dim sql As String


sql = "insert into rendez_vous(nom,prenom,[date rendezvous],[heure rendez])values(me!texte0,'me!Texte2,'me!Texte4,me!Texte6);"


DoCmd.RunSQL sql

Ce code ne fonctionne pas, j'ignore où se trouve l'erreur.

Pourriez vous m'aider à le corriger.

Merci

Cordialement

A bientôt

8 réponses

developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
29 mars 2006 à 11:02
Bonjour tout le monde

C'est ok j'ai reglé mon probleme.

Cordialement

A bientôt
3
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
28 mars 2006 à 08:51
Bonjour tout le monde

l'instruction ci-dessous fonctionne, le probleme et que le dernier enregistrement se double dans la table.

Dim sql As String


sql = "insert into rendez_vous(nom,prenom,[date rendezvous],[heure rendez])values(texte0,Texte2,Texte4,Texte6);"


DoCmd.RunSQL sql

Que dois je faire pour eviter ca?

Avez vous compris mon problème?

Cordialement

A bientôt
1
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
28 mars 2006 à 01:23
Salut developvbdebut,

regardes :

sql = "insert into rendez_vous(nom,prenom,[date rendezvous],[heure rendez])values( me!texte0 ,'me!Texte2,'me!Texte4,me!Texte6);"

toujours pas?

sql = "insert into rendez_vous(nom,prenom,[date rendezvous],[heure rendez])values(me!texte0,'me!Texte2,'me!Texte4,me!Texte6);"

ne me dis pas que ...? les apostrophes, les paires, les séparateurs de date, et les variables objets ! (je sais, tu débutes, mais rassures-toi, moi aussi je débute les conseils) ;)

Bon, maintenant, c'est la minute conseil (crois moi sur parole ou vérifies sur ce site):

- On ne donne pas des noms de champs avec des espaces (c'est même pas normalisé, mais surtout, c'est générateur d'erreur), on mets des _, comme tu l'as fait pour la table. ex : [date rendezvous] pas bon, DateRendezVous bon

- On utilise un style de casse de caractères qui rend lisible les requêtes : Les Tables en Majuscules avec des tirets bas (comme les constantes), les Champs en casse Chameau ou Pascal (au choix). ex : rendez_vous pas mal RENDEZ_VOUS mieux

- On construit les noms toujours de la même façon (ça permet de les écrire instinctivement, sans aller voir leur déclaration, et en relisant, les erreurs sautent aux yeux [ah, on t'a pas dit? faut relire :)]). ex : si DateRendezVous alors HeureRendezVous pas HeureRendez

- Ne te laisses pas faire par Access. Laisses-le écrire la requête, au début, mais retouches-la après, la notation me!text1 ou [Machin Trop De la Balle] ça tue la lecture, et c'est pour ça qu'on ne relie pas, c'est trop dur!

On arrive à la fin, j'aurais écris (si j'avais la possibilité de modifier ta base, bien sûr) :

'récupération des valeurs
strNom = Me.Text0.text
strPrenom = Me.Text2.text
datDateRendezVous = Me.Text4.text
datHeureRendezVous = Me.Text6.text

'préparation de la requête
strRequete = "INSERT"
strRequete = strRequete & " into RENDEZ_VOUS" 'attention à l'espace au début
strRequete = strRequete & " (Nom, Prenom, DateRendezVous, HeureRendezVous)"
strRequete = strRequete & " values("
strRequete = strRequete & "'" & strNom & "'," ' on met toujours le prochain sép.
strRequete = strRequete & "'" & strPrenom & "'," 'à la ligne, pas d'erreur pendant un
strRequete = strRequete & "#" & datDateRendezVous & "#, " 'copier/coller
strRequete = strRequete & "#" & datHeureRendezVous & "#"
strRequete = strRequete & ");"

Ah oui, c'est gros, c'est lourd (aussi gros que ton[tes] erreur[s], aussi lourd que le temps que tu as perdu à les trouver), mais ça résiste au copier/coller (et en gagnant du temps, sur la sélection double-click), à la relecture des autres, aux diverses bases de données respectant les normes en vigueur (ou au moins les standards), aux tempêtes, à l'eau de javel...

C'est donc une bonne habitude.

Sinon, parfois, je me lâche un peu trop, et puis après, je me rend compte que le défunt à n'a déjà posté que 3 messages! ach, trop tard! Pardon aux familles, tout ça, tout ça !


Mais je viens de regarder, 179 messages ici! et 263 en tout! t'es là depuis 2004!


En vérité, tu veux pas le dire, mais c'est ton gamin qu'a pris ton pseudo, et qu'a fait le post :) ;) !)

Allez, sans rancune j'espère, je crois qu'il faut que j'ailles dormir, si jamais je dors (ah le passage à l'heure d'été, heureusement que c'est pour l'été)!
à+



rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
29 mars 2006 à 00:50
C'est encore moi,
j'espère que tu n'es pas faché (eh, faut être indulgent, il était 1h30 du matin)

que veux-tu dire? Le bloc d'instruction que je vois là n'ajoute qu'une ligne, et tu parles de "dernier enregistrement" (dernier de plusieurs donc!).

Alors, expliques, qu'est-ce qu'il manque pour comprendre?

à+

rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0

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

Posez votre question
rvblog Messages postés 792 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 12 juin 2012 7
29 mars 2006 à 11:20
Et ça venait de quoi?
je dis ça parce que quand on valide une réponse, elle sera un réponse dans le moteur de recherche, sauf que dans celle-ci, en l'occurence, on n'a pas la solution.

à+


rvblogn<SUP>
</SUP><SUP>Je veux ton bien... et je l'aurais
</SUP>
0
developvbdebut Messages postés 476 Date d'inscription samedi 14 août 2004 Statut Membre Dernière intervention 2 juin 2012 1
29 mars 2006 à 11:50
Salut

Je retiré tout les lien entre les zonne de text et la table.

Donc, en résumé quand on fait un instruction sql, il ne faut pas de lien entre le formulair +ses composants et la table..

l'inconviennient est que access demande toujour confirmation apres avoir cliqué sur le bouton de commande.

A +
0
bobspong80 Messages postés 19 Date d'inscription mercredi 3 janvier 2007 Statut Membre Dernière intervention 21 décembre 2007
2 oct. 2007 à 15:47
Salut tu peux supprimer les avertissements access

docmd.setwarnings= false
(n'oubli pas de les réactiver a la fin de ta procédure)
@++

Salu les gens
0
bobspong80 Messages postés 19 Date d'inscription mercredi 3 janvier 2007 Statut Membre Dernière intervention 21 décembre 2007
2 oct. 2007 à 15:48
euh fo pas mettre d'egale lol

Salu les gens
0
Rejoignez-nous