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 :

pb de recordset


Sujet :

Access

  1. #21
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 57
    Points : 18
    Points
    18
    Par défaut
    non toujours pareil!

  2. #22
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 57
    Points : 18
    Points
    18
    Par défaut
    comment j'appelle ma fonction dans ma requète ?

  3. #23
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 57
    Points : 18
    Points
    18
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT TACHENEXT2.NomDuProspectHA,tache()
    FROM TACHENEXT2;
    ???

  4. #24
    Expert éminent
    Avatar de Lou Pitchoun
    Profil pro
    Inscrit en
    Février 2005
    Messages
    5 038
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2005
    Messages : 5 038
    Points : 8 268
    Points
    8 268
    Par défaut
    Non, ça ne marchera pas...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SELECT DISTINCT TACHENEXT2.NomDuProspectHA,tache(TACHENEXT2.NomDuProspectHA) As Taches
    FROM TACHENEXT2;
    Cf ton 1er post.

  5. #25
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 57
    Points : 18
    Points
    18
    Par défaut
    Mais quand je lance ma requête j'ai un message d'erreur :

    Nom ambigu dans l'expression 'Tache(NomDuProspectHA)'

  6. #26
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Citation Envoyé par amel123456789
    je viens de créer une table temp avec un champ temp.
    Donc en gros il faut que je fasse un update sur cette table ki recoit résultat après la ligne "Tache = Left(Resultat, Len(Resultat) - 1)"?
    Déjà il faut un autre champ dans cette table

    Temp (NomSociete, Resultat)

    Ensuite pour cette ligne
    Tache = Left(Resultat, Len(Resultat) - 1)
    tu peut la mettre en commentaire pour moment.

    Pour le complément du code qui permet le remplissage de la table Temp

    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
     
    Dim TblTemp As Recordset
    Set TbleTemp=editialis.OpenRecordset("Temp")
    Do Until DSociete.EOF
     
          TxtNom = DSociete("NomDuProspectHA")
     
          'Selectionne les participant du projet
         SQL = "SELECT Note FROM TACHENEXT2 WHERE NomDuProspectHA='" & NomDuProspectHA & "'"
         Set res = editialis.OpenRecordset(SQL)
    'Concatene les différents enregistrement
    Do While Not res.EOF
         Resultat = Resultat & " " & res.Fields(0).Value & " "
         res.MoveNext
    Loop
     
    TblTemp.Addnew
    TblTemp("NomSociete")=TxtNom
    TblTemp("Resultat")=Resultat
     
    'Enleve le dernier espace
    ' Resultat = Left(Resultat, Len(Resultat) - 1)
    ...
    Ensuite tu ourvre la table Temp pour voir son contenu.
    Amicalement

  7. #27
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 57
    Points : 18
    Points
    18
    Par défaut
    dans un premier temps, merci pour tous

    sinon euh problème j'ai un souci sur la ligne 'Do Until DSociete.EOF' :

    Variable d'objet ou variable de bloc With non définie

  8. #28
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Je t'ai donné le complément du premier code. Regarde tes déclarations.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Public Function Tache() As String
    Dim editialis As Database, DSociete, res As DAO.Recordset
    Dim SQL As String, TxtNom, Resultat As Variant
    Amicalement

  9. #29
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 57
    Points : 18
    Points
    18
    Par défaut
    Alors maintenant il me met :

    erreur '424':Objet requis tjr sur cette ligne!

  10. #30
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    bonjour,

    Resultat = Left(Resultat, Len(Resultat) - 1)
    l'erreur vient certainement si la chaîne est null

    mais pour enlever les espaces à la fin d'un string il faut utliser

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Resultat = Rtrim(Resultat)

  11. #31
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 57
    Points : 18
    Points
    18
    Par défaut
    ok pour l'espace

    mais j'ai toujours le message 'objet requis' sur la ligne 'Do Until DSociete.EOF'

  12. #32
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 57
    Points : 18
    Points
    18
    Par défaut
    c'est l'erreur '424' si ca peut aider quelqu'un !!

  13. #33
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 57
    Points : 18
    Points
    18
    Par défaut
    non ok c'est que j'avais supprimé la ligne 'set DSociété=...'


    donc j'ai plus de message d'erreur mais ma table reste vide !!

  14. #34
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 57
    Points : 18
    Points
    18
    Par défaut
    Pourquoi ma table Temp est vide !!!! ?

  15. #35
    Membre expérimenté

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Localisation : Sénégal

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 229
    Points : 1 579
    Points
    1 579
    Par défaut
    Montres nous le code complét.

    Tu peut aussi mettre un point d'arrêt pour voir ce que se passe.
    Amicalement

  16. #36
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 57
    Points : 18
    Points
    18
    Par défaut
    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
    Option Compare Database
     
    Public Function Tache() As String
    Dim editialis As Database, DSociete, res As DAO.Recordset
    Dim SQL As String, TxtNom, Resultat As Variant
     
    Set editialis = Application.CurrentDb()
    Dim TblTemp As Recordset
    Set TblTemp = editialis.OpenRecordset("Temp")
    Set DSociete = editialis.OpenRecordset("Select Distinct NomDuProspectHA From TACHENEXT2")
     
    Do Until DSociete.EOF
     
          TxtNom = DSociete("NomDuProspectHA")
     
          'Selectionne les notes des sociétés
         SQL = "SELECT Note FROM TACHENEXT2 WHERE NomDuProspectHA='" & NomDuProspectHA & "'"
         Set res = editialis.OpenRecordset(SQL)
    'Concatene les différents enregistrement
    Do While Not res.EOF
         Resultat = Resultat & " " & res.Fields(0).Value & " "
         res.MoveNext
    Loop
     
    TblTemp.AddNew
    TblTemp("NomDuProspectHA") = TxtNom
    TblTemp("Resultat") = Resultat
    'Enleve le dernier espace
    'Resultat = RTrim(Resultat)
    ' Ici il faut envoyer le résultat de la société traité quelque part avant de passer à la suivant
     
    DSociete.MoveNext
     
    Loop
    'libere la mémoire
    Set res = Nothing
    Set DSociete = Nothing
    End Function

  17. #37
    Membre régulier Avatar de lyxthe
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 115
    Points : 90
    Points
    90
    Par défaut pourquoi resultat as variant
    pourquoi tu dim resultat as variant vu que tu l'utilise comme un string. Au pire si tu peux pas faire autrement et que t'as un problème là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Resultat = Left(Resultat, Len(Resultat) - 1)
    ou là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Resultat = Resultat & " " & res.Fields(0).Value & " "
    ou là :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TblTemp("Resultat") = Resultat
    moi je mettre ça à la place :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Resultat = Left(Cstr(Resultat), Len(Cstr(Resultat)) - 1)
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Resultat = Cstr(Resultat) & " " & Cstr(res.Fields(0).Value) & " "
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    TblTemp("Resultat") = Cstr(Resultat)
    peut etre ça va résoudre deux trois trucs, et même si ce n'est pas le cas je crois que ça ne peut pas faire de mal
    tout le monde est différent sauf moi

  18. #38
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 57
    Points : 18
    Points
    18
    Par défaut
    J'ai modifié ma déclaration de résultat en string.

    Quand je met la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Resultat = Left(CStr(Resultat), Len(CStr(Resultat)) - 1)
    en non-commentaire, j'ai un message d'erreur : Argument ou appel de procédure incorrect.

    Si je la mets en commentaire, j'ai pas de message d'erreur, mais ma table ne se remplie toujours pas!

  19. #39
    Membre à l'essai
    Inscrit en
    Mars 2004
    Messages
    57
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 57
    Points : 18
    Points
    18
    Par défaut
    Je fais comment pour mettre un point d'arret?
    Du moins comment on voit ce que peut faire un point d'arret?

  20. #40
    Membre éclairé
    Homme Profil pro
    Comptable
    Inscrit en
    Mars 2005
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comptable

    Informations forums :
    Inscription : Mars 2005
    Messages : 511
    Points : 678
    Points
    678
    Par défaut
    Bonjour,

    tu as une table Temp avec un champs "Temp"

    donc pour ouvrir le fichier il faut faire de cette manière

    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
     
    Option Compare Database
     
    Public Function Tache() As String
    Dim editialis As Database
    Dim DSociete, res, TblTemp As DAO.Recordset
    Dim SQL As String, TxtNom, Resultat As Variant
     
    Set editialis = Application.CurrentDb()
    Dim TblTemp As Recordset
    Set TblTemp = editialis.OpenRecordset("Temp", dbOpenDynaset)
    Set DSociete = editialis.OpenRecordset("Select Distinct NomDuProspectHA From TACHENEXT2")
     
    Dsociete.movefirst
    While DSociete.EOF
     
          TxtNom = DSociete("NomDuProspectHA")
     
          'Selectionne les notes des sociétés
         SQL = "SELECT Note FROM TACHENEXT2 WHERE NomDuProspectHA='" & NomDuProspectHA & "'"
         Set res = editialis.OpenRecordset(SQL)
    'Concatene les différents enregistrement
     
    res.movefirst
    While Not res.EOF
         Resultat = Resultat & " " & res("TACHENEXT2") & " "
         res.MoveNext
    Wend
    Resultat = RTrim(Resultat)
    with TblTemp
       .addNew
       .temp =resultat
       .update
    endwith
    ' si tu n'as qu'un champs dans temp tu ne peux en mettre un nouveau
    'TblTemp("NomDuProspectHA") = TxtNom
    'TblTemp("Resultat") = Resultat
    'Enleve le dernier espace
    'Resultat = RTrim(Resultat)
    ' Ici il faut envoyer le résultat de la société traité quelque part avant de passer à la suivant
     
    DSociete.MoveNext
     
    wend
    'libere la mémoire
    Set res = Nothing
    Set DSociete = Nothing
    End Function

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 3 PremièrePremière 123 DernièreDernière

Discussions similaires

  1. [VB6]Joindre deux recordsets en un seul
    Par elifqaoui dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 11/06/2003, 21h06
  2. [VB6] générer un recordset qui n'est pas lier à un bdd
    Par damyrid dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 05/06/2003, 17h48
  3. [VB6] Sauvegarder la position dans un Recordset
    Par inotna2099 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 29/04/2003, 17h35
  4. [VB6] [BDD] Recordset et champ égal à Null
    Par Gr|ppen dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 07/03/2003, 10h00
  5. [ADO] Sauvegarde / lecture de recordset
    Par SpaceFrog dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 20/09/2002, 16h54

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