Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
746 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [access]tirer des info d'un formulaire en vba

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[access]tirer des info d'un formulaire en vba

n°965742
benj06
Posté le 30-01-2005 à 01:51:36  profilanswer
 

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

mood
Publicité
Posté le 30-01-2005 à 01:51:36  profilanswer
 

n°965758
knakes
Posté le 30-01-2005 à 08:54:23  profilanswer
 

benj06 a écrit :


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


Remplaces tout cela par :

Code :
  1. If l = "C" Then
  2.     DoCmd.RunMacro mc
  3. ElseIf l = "TD" Then
  4.     DoCmd.RunMacro mtd
  5. ElseIf l = "TP" Then
  6.     DoCmd.RunMacro mtp
  7. End If

C'est peut être bon (ps : je ne me suis pas intéressé au code avant).

n°965763
benj06
Posté le 30-01-2005 à 09:21:18  profilanswer
 

çà va  pa mai merci quan meme

n°965777
FlorentG
Unité de Masse
Posté le 30-01-2005 à 10:13:48  profilanswer
 

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 :
  1. Public Sub BilanForm()
  2.   Select Case Formulaires![FAjoutCours]![Type_cours].Value
  3.     Case "C":
  4.       DoCmd.RunMacro "MMaJ.RemplissageTableC"
  5.     Case "TD":
  6.       DoCmd.RunMacro "MMaJ.RemplissageTableTD"
  7.     Case "TP:"
  8.       DoCmd.RunMacro "MMaJ.RemplissageTableTP"
  9.   End Select
  10. End Sub


Message édité par FlorentG le 30-01-2005 à 10:14:09
n°965858
benj06
Posté le 30-01-2005 à 12:52:08  profilanswer
 

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

n°965867
FlorentG
Unité de Masse
Posté le 30-01-2005 à 13:06:37  profilanswer
 

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

n°965873
benj06
Posté le 30-01-2005 à 13:14:47  profilanswer
 


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

n°965887
FlorentG
Unité de Masse
Posté le 30-01-2005 à 13:28:37  profilanswer
 

Y'a-t-il des paramètres dans ta requête "RajoutCours" ?

n°965894
benj06
Posté le 30-01-2005 à 13:33:57  profilanswer
 

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];

n°965901
FlorentG
Unité de Masse
Posté le 30-01-2005 à 13:36:24  profilanswer
 

Et quand tu lances cette requête à la main, il ne te demande rien ?

mood
Publicité
Posté le 30-01-2005 à 13:36:24  profilanswer
 

n°965918
benj06
Posté le 30-01-2005 à 13:48:34  profilanswer
 

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.

n°965923
FlorentG
Unité de Masse
Posté le 30-01-2005 à 13:49:51  profilanswer
 

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..

n°965939
benj06
Posté le 30-01-2005 à 13:55:09  profilanswer
 

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

n°965944
FlorentG
Unité de Masse
Posté le 30-01-2005 à 13:56:32  profilanswer
 

Euh je suis déjà en plein Access, donc j'aurais pas trop le temps aujourd'hui :/

n°965949
benj06
Posté le 30-01-2005 à 13:58:23  profilanswer
 

tan pi merci quan meme pour l'aide


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  [access]tirer des info d'un formulaire en vba

 

Sujets relatifs
[Access]pb de requete de suppressionhelp formulaire bouton envoi et redirection
Problème avec... ?_? (formulaire et modification de doc. txt inside)Formulaire qui est traité dans la même page.
Access97 - Bouton de commande d'un formulaire invisible si le ss-formJavascript / frames et formulaire :)
Comment passer un répertoire en paramètre dans un formulaireouvrir un formulaire en fonction d'une valeur
Formulaire et rappel de formulaireComparaison de date SQL ACCESS
Plus de sujets relatifs à : [access]tirer des info d'un formulaire en vba


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR