[Catégorie modifiée .Net --> VBA] Récupérer champ de formulaire outlook : VBS
kanak09
Messages postés11Date d'inscriptionjeudi 5 août 2010StatutMembreDernière intervention27 juin 2012
-
9 août 2010 à 15:27
kanak09
Messages postés11Date d'inscriptionjeudi 5 août 2010StatutMembreDernière intervention27 juin 2012
-
10 août 2010 à 10:15
Bonjour à tous,
voila j'ai créé un formulaire de demande de tache avec Outlook 2007.
J'ai réussi à me connecter à ma BDD seulement j'aimerai l'alimenter avec les données du formulaire et je n'y arrive pas.
Voici mon code.
Sub commandbutton1_click()
' Creation du body pour l envoi du mail
Dim cnx
Dim dt
'récupération des paramètres
set cnx = CreateObject ("ADODB.Connection")
cnx.Properties("Data Source") = "***" 'nom du serveur SQL
cnx.Properties("Initial Catalog") = "****" 'nom de la base de données
cnx.Properties("User Id") = "****"
cnx.Properties("Password") = "***"
cnx.Open
SQL= "INSERT INTO OUTLOOK VALUES ('" & nomF & "','" & description & "' , '" & DateF & "', '" & Choix & "' )"
set dt = cnx.execute (SQL)
cnx.Close
Set cnx = Nothing
End Sub
Dans ma requête j'ai par exemple VALUES nomF - dateF, qui correspondent à l'ID du champ du formulaire.
Merci à ceux qui savent de m'indiquer la synthxe à écrire à la place de nomF, dateF...
A voir également:
[Catégorie modifiée .Net --> VBA] Récupérer champ de formulaire outlook : VBS
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 10 août 2010 à 09:53
Salut
Et quel est ton problème ?
As-tu une erreur ? laquelle ? sur quelle ligne ?
Ta table s'appelle réellement OUTLOOK ?
De combien de champs se compose t-elle ?
Apparemment, 4 puisque tu tentes de lui insérer 4 champs.
De quels types sont déclarés les champs dans ta table ? (texte, numérique, date ?)
Rappelle de base SQL (qu'on répète 10 fois par semaine) :
Si le champ est déclaré dans la table de type :
- Texte : Encadrer les valeurs par des apostrophes '
- Date : Encadrer les valeurs par des dieses #
- Numérique : pas d'encadrement
De plus, si le nom d'une table ou d'un champ comporte des caractères spéciaux (accents, espaces ...), il faut encadrer le nom de ces table ou champ par des crochets droits [ et ]
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
kanak09
Messages postés11Date d'inscriptionjeudi 5 août 2010StatutMembreDernière intervention27 juin 2012 10 août 2010 à 10:15
Merci pour les infos,
En réalité ce qui me manquait c'est juste de connaître la syntaxe de récupération des champs du formulaire.
J'ai résolu mon problème, l'insertion dans la base fonctionne.
Voici mon code :
Sub commandbutton1_click()
' Creation du body pour l envoi du mail
Dim cnx
Dim dt
Dim NomF, Descr, maDate, Choix
'récupération des paramètres
set cnx = CreateObject ("ADODB.Connection")
cnx.Properties("Data Source") = "****" 'nom du serveur SQL
cnx.Properties("Initial Catalog") = "****" 'nom de la base de données
cnx.Properties("User Id") = "****"
cnx.Properties("Password") = "****"
cnx.Open
' récupération des valeurs du formulaire
NomF = Item.GetInspector.ModifiedFormPages("Form").Controls("Nom").value
Descr = Item.GetInspector.ModifiedFormPages("Form").Controls("Description").value
maDate = Item.GetInspector.ModifiedFormPages("Form").Controls("TextBox1").value
Choix = Item.GetInspector.ModifiedFormPages("Form").Controls("Choix").value
If Choix = "Vrai" then
Choix = 1
Elseif Choix = "Faux" then
Choix = 2
Else Choix = 0
End if
'requête
SQL= "INSERT INTO OUTLOOK VALUES ('" & NomF & "', '" & Descr & "', '" & maDate & "', '" & Choix & "' )"
set dt = cnx.execute (SQL)
'fermeture connexion
cnx.Close
Set cnx = Nothing
End Sub