non toujours pareil!
non toujours pareil!
comment j'appelle ma fonction dans ma requète ?
???
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT DISTINCT TACHENEXT2.NomDuProspectHA,tache() FROM TACHENEXT2;
Non, ça ne marchera pas...
Cf ton 1er post.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 SELECT DISTINCT TACHENEXT2.NomDuProspectHA,tache(TACHENEXT2.NomDuProspectHA) As Taches FROM TACHENEXT2;
Les Cours et tutoriels pour apprendre Access, Les codes Sources Access, Le Forum Access, Offres d'emploi développeur Access et Les FAQs Office
Avant de poster : les choses importantes à lire pour la bonne tenue du forum.
Mais quand je lance ma requête j'ai un message d'erreur :
Nom ambigu dans l'expression 'Tache(NomDuProspectHA)'
Déjà il faut un autre champ dans cette tableEnvoyé par amel123456789
Temp (NomSociete, Resultat)
Ensuite pour cette ligne
tu peut la mettre en commentaire pour moment.Tache = Left(Resultat, Len(Resultat) - 1)
Pour le complément du code qui permet le remplissage de la table Temp
Ensuite tu ourvre la table Temp pour voir son contenu.
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) ...
Amicalement
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
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
Alors maintenant il me met :
erreur '424':Objet requis tjr sur cette ligne!
bonjour,
l'erreur vient certainement si la chaîne est nullResultat = Left(Resultat, Len(Resultat) - 1)
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)
ok pour l'espace
mais j'ai toujours le message 'objet requis' sur la ligne 'Do Until DSociete.EOF'
c'est l'erreur '424' si ca peut aider quelqu'un !!
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 !!
Pourquoi ma table Temp est vide !!!! ?
Montres nous le code complét.
Tu peut aussi mettre un point d'arrêt pour voir ce que se passe.
Amicalement
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
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à :
ou 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 & " "moi je mettre ça à la place :
Code : Sélectionner tout - Visualiser dans une fenêtre à part TblTemp("Resultat") = Resultat
et
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) & " "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
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 TblTemp("Resultat") = Cstr(Resultat)
tout le monde est différent sauf moi
J'ai modifié ma déclaration de résultat en string.
Quand je met la ligne :en non-commentaire, j'ai un message d'erreur : Argument ou appel de procédure incorrect.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Resultat = Left(CStr(Resultat), Len(CStr(Resultat)) - 1)
Si je la mets en commentaire, j'ai pas de message d'erreur, mais ma table ne se remplie toujours pas!
Je fais comment pour mettre un point d'arret?
Du moins comment on voit ce que peut faire un point d'arret?
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager