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

Access Discussion :

Objet requis qu'il me dit


Sujet :

Access

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 26
    Points : 18
    Points
    18
    Par défaut Objet requis qu'il me dit
    Bonjour,

    J'ai un bouton de commande sur mon formulaire A1 et voici le code que j'ai mis:

    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
    Private Sub Commande37_Click()
     
    On Error GoTo Err_Commande37_Click
    Dim Enreg As String 
    Enreg = Rs.Fields("Nom_interne").Value (Je donne à la variable la valeur du Champ "Nom Interne" puis je vais dans Word)
    Dim oApp As Object, objDoc As Object
    Set oApp = CreateObject("Word.Application")
    oApp.Visible = True
    Set objDoc = Document.Open("c:Microsoft Office/Office/WINWORD.exe G:FICHES CURSUS INTERNES/Enreg.doc")
    Exit_Commande37_Click:
    Exit Sub
    Err_Commande37_Click:
    MsgBox Err.Description
    Resume Exit_Commande37_Click
    End Sub

    FRANK

    Mais là il me renvoie "Objet requis" bon d'accord mais lequel ????
    Peux-t-on m'aider ?
    Merci d'avance.

  2. #2
    Membre averti Avatar de mcdotta
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 292
    Points : 324
    Points
    324
    Par défaut
    Quand tu exécutes en debug, sur quelle ligne il s'arrête ?

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    110
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 110
    Points : 107
    Points
    107
    Par défaut
    Salut,
    A mon avis c'est une erreur de déclaration:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim oApp As Word.Application

  4. #4
    Membre expérimenté
    Avatar de Frank
    Homme Profil pro
    Chef de projet Informatique
    Inscrit en
    Avril 2002
    Messages
    1 095
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Chef de projet Informatique
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Avril 2002
    Messages : 1 095
    Points : 1 392
    Points
    1 392
    Par défaut
    Citation Envoyé par Sinclar
    Salut,
    A mon avis c'est une erreur de déclaration:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim oApp As Word.Application
    + 1

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Quand je débogue il ne me dit rien du tout ni ne marque en jaune le problème.

    Quand à l'erreur de déclaration moi je veux bien mais ce code est là par le bouton de commande et quand je lui demande d'aller dans Word il a mis ce code d'office.

  6. #6
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Comment est déclaré Rs ?

    En effet les autres objets word ont l'air déclarés correctement

  7. #7
    Membre averti Avatar de mcdotta
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 292
    Points : 324
    Points
    324
    Par défaut
    Je vais essayer de t'aider...


    En fait, je n'aime pas trop cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Ton code
    Enreg = Rs.Fields("Nom_interne").Value (Je donne à la variable la valeur du Champ "Nom Interne" puis je vais dans Word)
    Ca veut dire que ta variable Enreg contient quoi, le nom du fichier si j'en crois le fichier que tu essaies d'ouvrir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Ton code 
    Set objDoc = Document.Open("c:Microsoft Office/Office/WINWORD.exe G:FICHES CURSUS INTERNES/Enreg.doc")
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    MON code 
    Set objDoc = Document.Open("c:Microsoft Office/Office/WINWORD.exe G:FICHES CURSUS INTERNES/" & Enreg & ".doc")
    Ensuite, essaie ca :

    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
     
    Private Sub Commande37_Click() 
     
    On Error GoTo Err_Commande37_Click 
    Dim strEnreg As String 
    Dim strPath as String
    Dim oApp As Object
     
    strEnreg = Rs.Fields("Nom_interne").Value 
     
    If strEnreg = "" then Exit Sub
     
    strPath = "G:\FICHES CURSUS INTERNES\" & strEnreg & ".doc" 
     
    Set oApp = CreateObject("Word.Application") 
    With oApp
        .Visible = True
        .Documents.Open strPath
    End With 
     
    Exit_Commande37_Click: 
    Exit Sub 
     
    Err_Commande37_Click: 
    MsgBox Err.Description 
    Resume Exit_Commande37_Click 
     
    End Sub
    En plus, es-tu sûr de la facon de noter les répertoires avec des espaces dedans. Test avec un répertoire tout simple, style C:\Temp

  8. #8
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut Re: Objet requis qu'il me dit
    Citation Envoyé par Grosmou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Set objDoc = Document.Open("c:Microsoft Office/Office/WINWORD.exe G:FICHES CURSUS INTERNES/Enreg.doc")
    Document.Open ne peut fonctionner, puisque document DOIT dépendre d'une Word.application.
    d'autre part, le contenu des parenthèses est ... bizarre !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set objDoc = oapp.Document.Open("G:FICHES CURSUS INTERNES/Enreg.doc")
    sera bien meilleur !
    [EDIT]Oups !
    Pas vu le code de la nète du dessus ...[/EDIT]

  9. #9
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 526
    Points
    14 526
    Par défaut
    salut,

    et pour que ce soit plus simple, tu devrais commenter la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    On Error GoTo Err_Commande37_Click
    le temps de déboguer le code, comme ça ça s'arrêtera sur la ligne en erreur sinon on joue aux devinettes pour trouver l'erreur!

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Merci de vos explications

    Je viens d'essayer mais il me dit "Objet requis" et il me souligne
    strEnreg = Rs.Fields.....

    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
    Private Sub Commande108_Click()
     
    On Error GoTo Err_Commande37_Click
    Dim strEnreg As String
    Dim strPath As String
    Dim oApp As Object
    strEnreg = Rs.Fields("Nom_interne").Value
    strPath = "G:\FICHES CURSUS INTERNE\" & strEnreg & ".doc"
    If strEnreg = "" Then Exit Sub
    Set oApp = CreateObject("Word.Application")
    With oApp
        .Visible = True
        .Documents.Open strPath
    End With
     
    Exit_Commande37_Click:
    Exit Sub
    Err_Commande37_Click:
    MsgBox Err.Description
    Resume Exit_Commande37_Click
    End Sub
    J'ai pourtant trouvé le code Rs.Fields dans dans la section librairie de
    officesystem.access.free.fr/vba/convention_ecriture

    "Pour accéder à un champ du recordset il faut utiliser la liste Fields qui est l'objet de liste contenant tous les champs de la table sous forme d'objet Fields. Pour identifier un champ on peut utiliser l'index ou le nom. Identification d'un champ = Rs.Fields(<Nom de champ>)
    Pour obtenir la valeur du du champ= Rs.Fields(<Nom de champ>).Value
    Si on tient compte également que la valeur de la propriété par défaut d'un champ d'un recordset est value, on peut ne pas l'utiliser: <variable> =Rs.Fields(Nom de champ)
    idem pour la valeur de la propriété par défaut de l'objet recordset est Fields, on peut ne pas l'utiliser.
    <variable> = Rs(Nom de champ)
    Je viens d'essayer sans mettre Value ou Fields mais alors il me répond "Erreur de compilation Sub ou Fonction non définie"
    Dois-je créer une fonction ? merci d'avance et excusez moi pouir la longueur de ce post.

  11. #11
    Membre averti Avatar de mcdotta
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 292
    Points : 324
    Points
    324
    Par défaut
    Oui, mais mon grand, il faut qu'il sache ce qu'est rs.

    Ce doit être un record set qu'il faut déclarer....

    Si tu es sur un formulaire tu peux par exemple utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    dim recSet as Recordset
    Set recSet = Me.RecordsetClone
     
    strEnreg=recSet.Fields("Nom_Interne").Value

  12. #12
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Comment as tu vu que j'étais grand ? Par mon IP alors ?
    (188 cm)
    Bon je viens de l'essayer mais il me rétorque alors
    Incompatibilité de type et il me souligne en jaune Set recSet = Me.RecordsetClone.

  13. #13
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    FAQ !

    tu n'as pas la bonne bibliothèque

    Tu programmes en ADO au lieu de DAO (ou l'inverse, mais au vu du code, ce serait plutôt DAO)

    Donc :
    Outils / Références / Et tu décoches ADO pour DAO

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Bonjour M Hubiche,

    OK pour la FAQ mais le problème est, qu'étant novice il me semble qu'elle s'adresse déjà à des gens ayant une meilleur connaissance d'access que moi, du moins c'est ce que je ressens. Avant d'être opérationnel dans les temes et questions il va encore, malheureusement pour moi (et pour vous ), falloir attendre quelques mois. Mais, du moins je le pense, il y a de léger progrès (Trop léger mais progrès quand même).

    Je viens d'aller voir dans référence et là le ADO n'est pas cocher. Par contre le DAO l'est . Je viens de changer et rien ne change.

    Peut-être rappeller que c'est access 2000 sous réseau.

    Mais est-ce que cela change quelque chose ?

    Ne faut-il pas lui dire que c'est du DAO ? Je ne sais plus où j'ai vu qu'on déclarait...... As DAO (ou du similaire, dans la FAQ mais où ??? je ne la sais plus)

    Par contre je me souviens que l'on m'avait parler de la biblio Microsoft Word 00.X or celle là je ne l'ai pas dans référence. Si elle est nécessaire où pourrais-je la télécharger ?

  15. #15
    Expert éminent sénior

    Avatar de Tofalu
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Octobre 2004
    Messages
    9 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Octobre 2004
    Messages : 9 501
    Points : 32 311
    Points
    32 311
    Par défaut
    Euh ouais mais c'est quoi rs ? Tu le sors d'où ? Il est déclaré quelque part ? Quel est le but de ce code ?

  16. #16
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Âge : 80
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2005
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Tofalu,

    rs doit être un Recordset car il y est dit que pour accéder à un champ du Recordset il faut utiliser la liste Fields.

    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
     
    Private Sub Commande108_Click()
     
    On Error GoTo Err_Commande37_Click
    Dim db As DAO.Database
    Dim recSet As Recordset
    Dim strPath As String
    Dim oApp As Object
    Dim strEnreg As String
    Set db = Application.CurrentDb
    Set recSet = Me.RecordsetClone
    strEnreg = recSet.Fields("Nom_Interne").Value (Ici je donne à la variable la valeur du champ actuellement en cours)
    strPath = "G:\FICHES CURSUS INTERNE\" & strEnreg & ".doc" (Ici je lui indique le chemin où il doit me conduire)
    If strEnreg = "" Then Exit Sub
    End if
    Set oApp = CreateObject("Word.Application")
    With oApp
        .Visible = True
        .Documents.Open strPath
    End With
     
    Exit_Commande37_Click:
    Exit Sub
    Err_Commande37_Click:
    MsgBox Err.Description
    Resume Exit_Commande37_Click
    End Sub
    Et ici il me souligne db As DAO.Database et dit : Erreur de compilation Type défini par l'utilisateur non défini
    Serait-ce parceque c'est un bouton de commande ? Je ne saisi pas.

Discussions similaires

  1. Objet requis: 'expXpath', contourner l'erreur
    Par totoche dans le forum ASP
    Réponses: 3
    Dernier message: 09/11/2006, 14h35
  2. Réponses: 2
    Dernier message: 01/02/2006, 12h52
  3. [POO] objet requis dans choix de bouton radio
    Par allowen dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 30/11/2005, 13h46
  4. Erreur Objet requis : 'this' --> Comprend pas!!
    Par Grozeil dans le forum ASP
    Réponses: 3
    Dernier message: 30/03/2005, 09h46
  5. Erreur "Objet requis"
    Par cindaille dans le forum Access
    Réponses: 5
    Dernier message: 26/10/2004, 00h59

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