Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Access > VBA Access
VBA Access Le forum pour les questions relatives au code VBA sous Access, et à son environnement de développement VBE.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/07/2011, 01h20   #1
Membre habitué
 
Inscription : août 2005
Messages : 365
Détails du profil
Informations personnelles :
Âge : 44
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Secteur : Santé

Informations forums :
Inscription : août 2005
Messages : 365
Points : 105
Points : 105
Par défaut supprimer un chariot en fin de chaine

Bonjour

Dans une fonction de concaténation de champs, je reviens à la ligne à chaque nouvel enregistrement.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
 
Public Function lachirurgie_resume(ID_Intervention As Long) As String
Dim res As DAO.Recordset
Dim SQL As String
 
 
 
SQL = "SELECT libelle as lachirurgie FROM T_Type_Chirurgie WHERE ID_intervention = " & ID_Intervention
Set res = CurrentDb.OpenRecordset(SQL)
'Concatene les différents enregistrement
 
    While Not res.EOF
 
        lachirurgie_resume = lachirurgie_resume & res.Fields(0).Value & Chr(13) & Chr(10)
 
        res.MoveNext
    Wend
 
 
'libere la mémoire
Set res = Nothing
End Function
J'aimerai retirer le retour chariot de la dernière ligne. J'ai essayé avec Rtrim mais pas de résultat. En fait, j'imagine une condition dans la boucle <while> quand je suis au dernier enregistrement. Mais je n'arrive pas à trouver la bonne syntaxe.
Merci d'avance pour vos suggestions.
docjo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2011, 08h48   #2
Membre actif
 
Inscription : décembre 2009
Messages : 204
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 204
Points : 186
Points : 186
Un petit truc du genre devrait faire l'affaire :

Code :
1
2
3
4
5
6
7
8
9
10
11
While Not res.EOF
 
        lachirurgie_resume = lachirurgie_resume & res.Fields(0).Value 
 
        res.MoveNext
 
        If Not res.EOF Then
               lachirurgie_resume = lachirurgie_resume &  Chr(13) & Chr(10)
        End If
 
Wend
tarnx est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/07/2011, 11h20   #3
Membre régulier
 
Homme Michaël
Développeur .NET
Inscription : avril 2008
Messages : 80
Détails du profil
Informations personnelles :
Nom : Homme Michaël
Âge : 30
Localisation : Belgique

Informations professionnelles :
Activité : Développeur .NET
Secteur : Transports

Informations forums :
Inscription : avril 2008
Messages : 80
Points : 84
Points : 84
ou alors, si tu veux vraiment supprimer la fin de ta chaine tu fais:

Code :
lachirurgie_resume = Left(lachirurgie_resume, Len(lachirurgie_resume) - 2)
mkl238 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 15/07/2011, 11h35   #4
Membre actif
 
Inscription : décembre 2009
Messages : 204
Détails du profil
Informations forums :
Inscription : décembre 2009
Messages : 204
Points : 186
Points : 186
En effet, la solution demkl238 est plus rapide.
tarnx est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h01.


 
 
 
 
Partenaires

Hébergement Web