tirer des info d'un formulaire en vba [access] - VB/VBA/VBS - Programmation
Marsh Posté le 30-01-2005 à 08:54:23
benj06 a écrit : |
Remplaces tout cela par :
Code :
|
C'est peut être bon (ps : je ne me suis pas intéressé au code avant).
Marsh Posté le 30-01-2005 à 10:13:48
Y'a une erreur sur cette ligne :
l = "Formulaires![FAjoutCours]![Type_cours]" |
Il faut que tu enlèves les guillemets. Parce que là, tu définit une chaîne de caractère avec dedans tout le truc.
et évidemment, la chaîne "Formulaires![FAjoutCours]![Type_cours]" est différente de la chaîne "C" ou "TD"
Donc voici le code qui devrai fonctionner (en même temps je l'ai un peu modifié :
Code :
|
Marsh Posté le 30-01-2005 à 12:52:08
Merci, çà marche pas mais je pense que je fais un erreur après; j'ai donc le bouton qui lance la macro dans laquelle j'ai mis un ExecuterCode et dans le nom du code j'ai mis BilanForm.
est ce bien comme que je peux le lancer?
merci
Marsh Posté le 30-01-2005 à 13:06:37
Sinon tu peux utiliser ce code au lieu d'utiliser une macro, si tu veux exécuter une requête. Supposons que ta requête s'appelle "Pouet", tu fais :
CurrentDb.QueryDefs("Pouet" ).Execute |
Marsh Posté le 30-01-2005 à 13:14:47
Private Sub Commande19_Click()
CurrentDb.QueryDefs("RAjoutCours" ).Execute
Select Case Formulaires![FAjoutCours]![Type_cours].Value
Case "C":
DoCmd.RunMacro "MMaJ.RemplissageTableC"
Case "TD":
DoCmd.RunMacro "MMaJ.RemplissageTableTD"
Case "TP":
DoCmd.RunMacro "MMaJ.RemplissageTableTP"
End Select
End Sub
j'ai mis çà en procedure evenementielle de mon bouton, il me dit qu'il y a trop peu de parametres
Marsh Posté le 30-01-2005 à 13:33:57
non c une requete d'ajout simple tien voici le code SQL
INSERT INTO [Table Emploi_du_temps] ( Numero_semaine, [Numero-année], [Numero-groupe], [Code-matiere], Type_cours, [Heure-début], [Heure-fin], Durée, Numero_intervenant )
SELECT [Formulaires]![FAjoutCours]![Numero_semaine] AS Expr1, [Formulaires]![FAjoutCours]![Numero-année] AS Expr2, [Formulaires]![FAjoutCours]![Numero-groupe] AS Expr3, [Formulaires]![FAjoutCours]![Code-matiere] AS Expr4, [Formulaires]![FAjoutCours]![Type_cours] AS Expr5, [Formulaires]![FAjoutCours]![Heure-début] AS Expr6, [Formulaires]![FAjoutCours]![Heure-fin] AS Expr7, [Formulaires]![FAjoutCours]![Durée] AS Expr8, [Formulaires]![FAjoutCours]![Numero_intervenant] AS Expr9
FROM [Table Emploi_du_temps];
Marsh Posté le 30-01-2005 à 13:36:24
Et quand tu lances cette requête à la main, il ne te demande rien ?
Marsh Posté le 30-01-2005 à 13:48:34
oui il me demande ce qui devrait etre dans les controles du formulaires.
mai quan je met un bouton dans le formulaire auquel je lie une macro qui lance cette requete, il me demande rien.
Marsh Posté le 30-01-2005 à 13:49:51
Donc quand tu exécute la requête (avec currentdb.querydef....), assure-toi que le formulaire soit ouvert avec les données présentes, sinon c'est normal qu'il te fasse une erreur, car il trouve pas ces données..
Marsh Posté le 30-01-2005 à 13:55:09
il est ouvert car le bouton qui execute ce code se trouve sur le formulaire d'ajout.
Est ce que je pe t'envoyer mon fichier pour que tu regardes?
merci
Marsh Posté le 30-01-2005 à 13:56:32
Euh je suis déjà en plein Access, donc j'aurais pas trop le temps aujourd'hui
Marsh Posté le 30-01-2005 à 01:51:36
Salut
je voulais savoir comment prendreune info dans une zone de liste d'un formulaire pour s'enservir dans vba.
j'explique : j'ai fai un formulaire d'ajout et sur mon bouton g associé une macro avec requete d'ajout et une mise a jour d'une autre table mai g besoin de trois mise a jourcar g 3 parametre differents selon si la personne a selectionné "C", "TD", ou "TP". je n'ai pas fai de visual sous acces donc g essayé de m'ensortir et çà donne çà:
Public Sub BilanForm()
Dim mc As String
Dim mtd As String
Dim mtp As String
Dim l As String
mc = "MMaJ.RemplissageTableC"
mtd = "MMaJ.RemplissageTableTD"
mtp = "MMaJ.RemplissageTableTP"
l = "Formulaires![FAjoutCours]![Type_cours]"
If l = "C" Then
DoCmd.RunMacro mc
Else
If l = "TD" Then
DoCmd.RunMacro mtd
Else
If l = "TP" Then
DoCmd.RunMacro mtp
End If
End If
End If
End Sub
Quelqu'un pourrait me dire ce qui ne va pas?
merci