[Catégorie modifiée .Net --> VBA] Récupérer champ de formulaire outlook : VBS

kanak09 Messages postés 11 Date d'inscription jeudi 5 août 2010 Statut Membre Dernière intervention 27 juin 2012 - 9 août 2010 à 15:27
kanak09 Messages postés 11 Date d'inscription jeudi 5 août 2010 Statut Membre Dernière intervention 27 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...

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
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)
0
kanak09 Messages postés 11 Date d'inscription jeudi 5 août 2010 Statut Membre Dernière intervention 27 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

0
Rejoignez-nous