IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

VB.NET + Infopath


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 4
    Par défaut VB.NET + Infopath
    Bonjour,

    j'ai créé un formulaire sous Infopath 2007. je souhaite automatiser certains champs.
    Pour ce la j'ai écrit le code ci dessous qui marche bien dans access (vb6).
    Mais quand je l'insère dans infopath ça ne marche pas vb.net ce qui est normal je pense.
    Mais je ne m'y connais pas du tout en vb.net et j'aimerais savoir si quelqu'un peut m'aider;

    Voici mon code

    ----------------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    '--- Chargement initial du formulaire
            Private Sub Form_Load()
                RefreshForm()
            End Sub
     
    '--- Modification du nom dans la liste déroulante
            Private Sub Ctrl_NOM_Click()
                Requery()
                RefreshForm()
            End Sub
     
    '--- Click sur le bouton ajouter
            Private Sub Cmd_Add_Click()
                NOM.Value = Ctrl_NOM.Value
                Cmd_Update_Click()
                Ctrl_NOM.Requery()
            End Sub
     
    '--- Click sur le bouton modifier
            Private Sub Cmd_Update_Click()
                Refresh()
            End Sub
     '--- Mise à jour de l'affichage
            Sub RefreshForm()
                Dim x As Boolean
     
                If Recordset.RecordCount = 1 Then x = True
                Cmd_Add.Visible = Not x
                Cmd_Update.Visible = x
            End Sub
    --------------------------------------------------------------


    Ce code lorsque je rentre mon nom dans le formulaire, les autres champs ayant rapport avec ce nom se remplissent automatiquement dès que je quitte le champ.

    Toute aide serait vraiment la bienvenue je ne sais plus quoi faire.

    Les erreurs sont les suivantes

    --------------------------------------------------------------------------
    Erreur 1 Cette instruction ne peut pas apparaître dans le corps d'une méthode. Elle est interprétée comme la fin de la méthode.
    Erreur 2 Le nom 'Requery' n'est pas déclaré.
    Erreur 3 Le nom 'NOM' n'est pas déclaré.
    Erreur 4 Le nom 'Ctrl_NOM' n'est pas déclaré.
    Erreur 5 Le nom 'Ctrl_NOM' n'est pas déclaré.
    Erreur 6 Le nom 'Refresh' n'est pas déclaré.
    Erreur 7 Le nom 'Recordset' n'est pas déclaré.
    Erreur 8 Le nom 'Cmd_Add' n'est pas déclaré.
    Erreur 9 Le nom 'Cmd_Update' n'est pas déclaré.
    -----------------------------------------------------------------------

    je fais bien un Imports de mon formulaire dans mon code et Nom, c'est le nom d'un de mes champs

    Merci de votre aide.

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 251
    Par défaut
    Il faudrait savoir sur quoi porte l'erreur n°1, les autres erreurs sont probablement dûes à la première, je pense.

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 4
    Par défaut
    Voici le code en entier

    -------------------------------------------------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    Imports Microsoft.Office.InfoPath
    Imports System
    Imports System.Xml
    Imports System.Xml.XPath
    Imports demande_de_congé2
     
    Namespace demande_de_congé
        Public Class FormCode
     
            ' Les variables membres ne sont pas prises en charge dans les formulaires activés pour le navigateur.
            ' À la place, écrire et lire ces valeurs à partir de FormState
            ' dictionnaire utilisant du code tel que le suivant*:
            '
            ' Private Property _memberVariable() As Object
            '     Get
            '         _memberVariable = FormState("_memberVariable")
            '     End Get
            '     Set
            '         FormState("_memberVariable") = value
            '     End Set
            ' End Property
     
            ' REMARQUE*: la procédure suivante est requise par Microsoft Office InfoPath.
            ' Elle peut être modifiée à l'aide de Microsoft Office InfoPath.
            Private Sub InternalStartup(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Startup
                AddHandler EventManager.FormEvents.Loading, AddressOf FormEvents_Loading
                AddHandler EventManager.XmlEvents("/my:mesChamps/my:Employe_Nom").Validating, AddressOf Employe_Nom_Validating
                AddHandler EventManager.FormEvents.ViewSwitched, AddressOf FormEvents_ViewSwitched
                AddHandler DirectCast(EventManager.ControlEvents("CTRL38_5"), ButtonEvent).Clicked, AddressOf CTRL38_5_Clicked
            End Sub
            '--- Chargement initial du formulaire
            Private Sub Form_Load()
                RefreshForm()
            End Sub
     
            '--- Modification du nom dans la liste déroulante
            Private Sub Ctrl_Employe_Nom_Click()
                Dim Requery As String
                Requery()
                RefreshForm()
            End Sub
            '--- Click sur le bouton ajouter
            Private Sub Cmd_Add_Click()
                Dim Employe_Nom As String
                Employe_Nom.Value = Ctrl_Employe_Nom.Value
                Cmd_Update_Click()
                Ctrl_Employe_NOM.Requery()
            End Sub
            '--- Click sur le bouton modifier
            Private Sub Cmd_Update_Click()
                Dim Refresh As String
                Refresh()
            End Sub
            '--- Mise à jour de l'affichage
            Private Sub RefreshForm()
                Dim x As Boolean
     
                If Recordset.RecordCount = 1 Then x = True
                Cmd_Add.Visible = Not x
                Cmd_Update.Visible = x
            End Sub
     
     
            Public Sub FormEvents_Loading(ByVal sender As Object, ByVal e As LoadingEventArgs)
                ' Tapez votre code ici.
            End Sub
     
            Public Sub Employe_Nom_Validating(ByVal sender As Object, ByVal e As XmlValidatingEventArgs)
                ' Tapez votre code ici.
            End Sub
     
            Public Sub FormEvents_ViewSwitched(ByVal sender As Object, ByVal e As ViewSwitchedEventArgs)
                ' Tapez votre code ici.
            End Sub
     
            Public Sub CTRL38_5_Clicked(ByVal sender As Object, ByVal e As ClickedEventArgs)
     
     
            End Sub
        End Class
    End Namespace
    ------------------------------------------------------------------------

    et voici les erreurs

    --------------------------------------------------------------------------
    Erreur 1 L'expression n'est pas une méthode. 39 13
    Erreur 2 'Value' n'est pas un membre de 'String'. 45 13
    Erreur 3 Le nom 'Ctrl_Employe_Nom' n'est pas déclaré.45 33
    Erreur 4 Le nom 'Ctrl_Employe_NOM' n'est pas déclaré.47 13
    Erreur 5 L'expression n'est pas une méthode.52 13
    Erreur 6 Le nom 'Recordset' n'est pas déclaré. 58 16
    Erreur 7 Le nom 'Cmd_Add' n'est pas déclaré. 59 13
    Erreur 8 Le nom 'Cmd_Update' n'est pas déclaré. 60 13
    -------------------------------------------------------------------------

  4. #4
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 251
    Par défaut
    Bon je ne connais pas InfoPath (je ne l'avais même pas installé avant ce soir) mais à priori tu ne peux pas simplement copier le code depuis Access.

    Il faut que tu recrée totalement le formulaire et refaire le code qui va bien.

    Quelques points relevés dans ton code :

    Ligne 39 : Requery est une fonction cachée quelque part dans Access. Il faut donc que tu la recrée au besoin, mais tu ne dois pas, par contre, déclarer une variable de type string (Ligne 38) avec le même nom.

    Ligne 45 : Employe_NOM doit normalement être un champ de ton formulaire, tu ne dois donc déclaré une variable avec le même nom mais créer ce champ sur ton formulaire
    Ctrl_Employe_Nom doit aussi être un objet sur ton formulaire (je ne sais pas de quel type) mais apparement tu ne l'a pas créer.

    Etc ...

    A priori, je dirais, Ne cherche pas à faire une copie ou à recréer le code Access sous InfoPath, il vaut mieux que tu reparte de 0, tout au moins pour le code, en te concentrant plus le fonctionnement du formulaire que sur le code

  5. #5
    Futur Membre du Club
    Inscrit en
    Juillet 2009
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 4
    Par défaut
    Merci pour ta réponse.
    Mon formulaire est déja créé entièrement et effectivement Employe_Nom est un champ de mon formulaire.
    Sauf que je ne sais pas comment l'appeler dans mon code, je ne trouve pas.

    Je vais refaire un code entièrement.
    Merci

Discussions similaires

  1. sap .net connector et infopath
    Par ammoun84 dans le forum Autres outils décisionnels
    Réponses: 3
    Dernier message: 17/06/2008, 11h55
  2. A ceux qui ont migré de VB6 vers VB.Net
    Par Fox dans le forum VB 6 et antérieur
    Réponses: 81
    Dernier message: 21/05/2008, 14h56
  3. utiliser les tag [MFC] [Win32] [.NET] [C++/CLI]
    Par hiko-seijuro dans le forum Visual C++
    Réponses: 8
    Dernier message: 08/06/2005, 15h57
  4. Fichier PDOXUSRS.NET
    Par yannick dans le forum Paradox
    Réponses: 5
    Dernier message: 05/04/2002, 09h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo