[sql]insert into en access. [Résolu]

developvbdebut 476 Messages postés samedi 14 août 2004Date d'inscription 2 juin 2012 Dernière intervention - 27 mars 2006 à 22:04 - Dernière réponse : bobspong80 19 Messages postés mercredi 3 janvier 2007Date d'inscription 21 décembre 2007 Dernière intervention
- 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
Afficher la suite 

8 réponses

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

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

Cordialement

A bientôt
Cette réponse vous a-t-elle aidé ?  
developvbdebut 476 Messages postés samedi 14 août 2004Date d'inscription 2 juin 2012 Dernière intervention - 28 mars 2006 à 08:51
+1
Utile
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
rvblog 794 Messages postés vendredi 4 mars 2005Date d'inscription 12 juin 2012 Dernière intervention - 28 mars 2006 à 01:23
0
Utile
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>
rvblog 794 Messages postés vendredi 4 mars 2005Date d'inscription 12 juin 2012 Dernière intervention - 29 mars 2006 à 00:50
0
Utile
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>
rvblog 794 Messages postés vendredi 4 mars 2005Date d'inscription 12 juin 2012 Dernière intervention - 29 mars 2006 à 11:20
0
Utile
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>
developvbdebut 476 Messages postés samedi 14 août 2004Date d'inscription 2 juin 2012 Dernière intervention - 29 mars 2006 à 11:50
0
Utile
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 +
bobspong80 19 Messages postés mercredi 3 janvier 2007Date d'inscription 21 décembre 2007 Dernière intervention - 2 oct. 2007 à 15:47
0
Utile
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
bobspong80 19 Messages postés mercredi 3 janvier 2007Date d'inscription 21 décembre 2007 Dernière intervention - 2 oct. 2007 à 15:48
0
Utile
euh fo pas mettre d'egale lol

Salu les gens

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.