fixou81
Messages postés200Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention12 juin 2007
-
23 mai 2007 à 09:48
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 2007
-
23 mai 2007 à 12:25
bonjour,
voila j'aimerais faire un truc tout con mais je trouve pas comment faire, j'ai fouillé maais ne trouve pas mon bonheur.
je souhaiterais en fait ajouter un enregistrement dans un champ d'une table par le code.
C'est à dire que j'ai une variable contenant du texte et je souhaite ajouter cet enregistrement dans ma table, a un champ precis.
tout ceci par le code.
merci; je sais que sa a l'air con mais je pense que je pige pas tout en fait...
fixou81
Messages postés200Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention12 juin 2007 23 mai 2007 à 10:14
le truc c que j'ai vu un truc pour ca...
je fais
Dim MonSql As String
Dim Db as dao.database
MonSql = "SELECT * FROM Client WHERE [N° Client]=" & texte1
'Ouverture du Recordset
Set MaTable = DB.OpenRecordset(MonSql)
'Ajouter un enregistrement
Matable.AddNew
Matable![N° Client] = 12
Matable![Nom] = "DUJARDIN"
Matable.Update
MaTable.close
ce que je pige pas c dans mon sql en fait la table ou je veux ajouter mes enregistrements est vide donc je ne peux pas dire "Where...."
Donc je comprend pas trop la. Je ne peux pas faire de requete sur une table vide!
fixou81
Messages postés200Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention12 juin 2007 23 mai 2007 à 10:21
j'ai trouvé , ca a l'air de marcher.
en fait j'ai fait
Dim MonSql As String
Dim Db as dao.database
MonSql = "SELECT * FROM Client
'Ouverture du Recordset
Set MaTable = DB.OpenRecordset(MonSql)
'Ajouter un enregistrement
Matable.AddNew
Matable![N° Client] = 12
Matable![Nom] = "DUJARDIN"
Matable.Update
MaTable.close
ca m'ajoute bien un enregistrement...
donc voila mais si quelqu'un lis ce message, s'il peut AIDER CLAIREMENT POUR COMPRENDRE CE QU4EST UN RECORDSET .Car malgré tout ce que j'ai put lire, j'ai du mal un peu quand meme...
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_Exploreur
Messages postés4821Date d'inscriptionlundi 11 novembre 2002StatutMembreDernière intervention15 novembre 201615 23 mai 2007 à 10:33
Salut,
Ben, là c'est moi qui pige plus rien...Tu fais un requête de selection et pas une requête action...Comment tu peux mettre un record dans ta base ave une requête de selection ?
Ici ce n'est pas ta requête qui a mit ton enregistrement, mais plutôt cela :
Matable.AddNew
Matable![N° Client] = 12
Matable![Nom] = "DUJARDIN"
Matable.Update
MaTable.close
Peux-tu me monter comment tu fais ta connection à la Bdd ?
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 23 mai 2007 à 10:38
T'es marrant a parler tout seul. Fais attention quand meme, c'est mauvais signe des fois.
En effet, il est a mon sens inutile de faire une clause where si tu veux seulement rajouter une ligne dans ta table. La clause where te permet de selectionner les enregistrements pour lesquels la condition est respecter.
D'ailleurs si tu voulais apprendre les recordset, c'est bien mais pour faire ca, ce n'est pas tres utile. Tu peux faire une requete Ajout (requete SQL).
fixou81
Messages postés200Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention12 juin 2007 23 mai 2007 à 10:41
bein la en fait je suis perdu moi...tout ce que je sais c que ca marche!pour une fois que j'ai de la chance. Voila exactement mon code qui se fait sur levenement click d'un bouton. Ma table s'appelle tbltemporaire
Private Sub Commande41_Click()
Dim MonSql As String
Dim Db As DAO.Database
Dim MaTable As DAO.Recordset
'Ouverture de la base de données
Set Db = CurrentDb
MonSql = "SELECT * FROM tbltemporaire "
'Ouverture du Recordset
Set MaTable = Db.OpenRecordset(MonSql)
'Ajouter un enregistrement
MaTable.AddNew
MaTable![Nomdoc] = "ouai"
MaTable![descriptiondoc] = "DUJARDIN"
MaTable![frequence] = 12
MaTable.Update
MaTable.Close
End Sub
ca marche...mais si il y a mieux ou plus logique dites moi...merci
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 23 mai 2007 à 10:43
Salut, Exploreur, je pense que dans son cas, une connexion est inutilie puisqu'il est en VBA Access et que je pense que sa table est deja dans la base ou le code est présent.
Tu peux faire une requete Selection pour rajouter des enregistrements (je le fais car je savais pas comment faire des requetes pour des bases à distances).
Le truc, c'est qu'il faisait une clause Where et c'est ca qui est totalement inutile.
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 23 mai 2007 à 10:46
Oui, pense a aller dans l'onglet des requetes de access et d'aller dans Afficher puis Mode SQL. De la tu pourras t'entrainer à faire des requetes ajout et les recopier dans ton code.
Si tu ne sais pas la synthaxe, F1 + requete INSERT devrait t'aider.
fixou81
Messages postés200Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention12 juin 2007 23 mai 2007 à 10:52
oui d'accord mais ma finalité c'est que ma requete ajoute dans ma table une variable, la variable ayant différentes valeurs (car je vais parcourir un treeview et je vais faire for each node.check...)
c bien possible ca de faire une requete ajout d' une variable en sql ?
fixou81
Messages postés200Date d'inscriptionlundi 9 mai 2005StatutMembreDernière intervention12 juin 2007 23 mai 2007 à 11:16
nickel, j'etais pas loin. J'avais cree la requete ajout mais je bloquais pour les variables.
J'etais en train de faire ce que tu mas filé mais ca moré mis un peu plus de temps. Merci!
Juste je veux pas abuser mais j'ai un message a chaque fois qui me dit que j'ajoute une ligne..... c possible de ne pas avoir ce message?
merci en tout cas c cool.! tu taquines dis donc....
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 23 mai 2007 à 11:23
1) est ce que la premiere solution fonctionne toujours (meme plein de fois de suite)?
2) Si tu as des boites de dialogues c'est qu'il y a un pb avec les types de données, les ' ' (regarde le premiere exemple que j'ai donné, les ' ' ne sont pas présent pour le 12), ou tes variables.
cs_Nicko11
Messages postés1141Date d'inscriptionmercredi 7 mars 2007StatutMembreDernière intervention19 septembre 20073 23 mai 2007 à 11:27
OK
A+ tout le monde
PS: Bien sur Exploreur, t'as raison mais tu n'es pas OBLIGER de faire une requete action mais aussi passer par un recordset et une requete select (je vais d'ailleurs remplacer ca dans mon propre code quand j'aurais le temps, car ca me bouffe une bonne parti de mon code)