Concaténation "spéciale"

Le
Goupil
Du forum, bonjour,

J'essaye (sans y arriver) de faire une fonction qui me permettrait de
concaténer tous les enregistrements d'un champ.
Un peut comme la fonction DSum("[Montant]","MaTable") me permet d'avoir le
total de tous les enregistrements d'un champ.

Quelqu'un aurait-il un début de piste ?

Merci d'avance

Goup'
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Le meruvien
Le #20325671
salut goupil, oui, si c'est les enregistrement d(un champ, c'est facile, tu
ajoute un champ appelé par exemple "compil", et tu met apres validation du
dernier :
me!compil = champ1 & champ2 & champ3 etc.......
si en plus, il y a des espace dans ces champs et que tu veut les supprimer,
tu met:
me!compil = replace(compil," ","")


roger



"Goupil" 4acf649a$0$912$
Du forum, bonjour,

J'essaye (sans y arriver) de faire une fonction qui me permettrait de
concaténer tous les enregistrements d'un champ.
Un peut comme la fonction DSum("[Montant]","MaTable") me permet d'avoir le
total de tous les enregistrements d'un champ.

Quelqu'un aurait-il un début de piste ?

Merci d'avance

Goup'



Blaise Cacramp
Le #20327371
Selon : Bonjour ou bonsoir

En VBA :

Function Concatenation As String
Dim sSql, I As Integer, Catena As String
Dim Rst As New ADODB.Recordset
sSql = "SELECT Les Champs" _
& " FROM Les tables" _
& " WHERE Les critères;"

Rst.Open sSql, CurrentProject.Connection, adOpenStatic
If Rst.RecordCount = 0 Then
Concatenation = "Vide"
Else
For I = 1 To Rst.RecordCount
Catena = Catena & Rst("Nom de champ") & " "
If Not Rst.Eof Then Rst.MoveNext
Next
Catena = Trim(Catena)
Concatenation = Catena
End If

End Function



Cdt, Blaise
---- ---- ----


"Goupil" 4acf649a$0$912$
Du forum, bonjour,

J'essaye (sans y arriver) de faire une fonction qui me permettrait de
concaténer tous les enregistrements d'un champ.
Un peut comme la fonction DSum("[Montant]","MaTable") me permet d'avoir le
total de tous les enregistrements d'un champ.

Quelqu'un aurait-il un début de piste ?

Merci d'avance

Goup'



Goupil
Le #20329421
Merci Blaise pour ce tuyau.
Ca marche impec !

Goup'

"Blaise Cacramp"
Selon : Bonjour ou bonsoir

En VBA :

Function Concatenation As String
Dim sSql, I As Integer, Catena As String
Dim Rst As New ADODB.Recordset
sSql = "SELECT Les Champs" _
& " FROM Les tables" _
& " WHERE Les critères;"

Rst.Open sSql, CurrentProject.Connection, adOpenStatic
If Rst.RecordCount = 0 Then
Concatenation = "Vide"
Else
For I = 1 To Rst.RecordCount
Catena = Catena & Rst("Nom de champ") & " "
If Not Rst.Eof Then Rst.MoveNext
Next
Catena = Trim(Catena)
Concatenation = Catena
End If

End Function



Cdt, Blaise
---- ---- ----


"Goupil" 4acf649a$0$912$
Du forum, bonjour,

J'essaye (sans y arriver) de faire une fonction qui me permettrait de
concaténer tous les enregistrements d'un champ.
Un peut comme la fonction DSum("[Montant]","MaTable") me permet d'avoir
le total de tous les enregistrements d'un champ.

Quelqu'un aurait-il un début de piste ?

Merci d'avance

Goup'







Goupil
Le #20455561
Bonjour tout le monde, bonjour Blaise

Cette fonction marche très bien, par contre, si je la lance une seconde
fois, j'ai un vilain message: "Cette opération n'est pas autorisée si
l'objet est ouvert."
Je suppose qu'il existe une fonction pour fermer après avoir ouvert
"Rst.Open sSql, CurrentProject.Connection, adOpenStatic"

Merci à ceux qui peuvent m'apporter plus de précision...

Goup'

"Blaise Cacramp"
Selon : Bonjour ou bonsoir

En VBA :

Function Concatenation As String
Dim sSql, I As Integer, Catena As String
Dim Rst As New ADODB.Recordset
sSql = "SELECT Les Champs" _
& " FROM Les tables" _
& " WHERE Les critères;"

Rst.Open sSql, CurrentProject.Connection, adOpenStatic
If Rst.RecordCount = 0 Then
Concatenation = "Vide"
Else
For I = 1 To Rst.RecordCount
Catena = Catena & Rst("Nom de champ") & " "
If Not Rst.Eof Then Rst.MoveNext
Next
Catena = Trim(Catena)
Concatenation = Catena
End If

End Function



Cdt, Blaise
---- ---- ----


"Goupil" 4acf649a$0$912$
Du forum, bonjour,

J'essaye (sans y arriver) de faire une fonction qui me permettrait de
concaténer tous les enregistrements d'un champ.
Un peut comme la fonction DSum("[Montant]","MaTable") me permet d'avoir
le total de tous les enregistrements d'un champ.

Quelqu'un aurait-il un début de piste ?

Merci d'avance

Goup'







Blaise Cacramp
Le #20456421
Goupil a présenté l'énoncé suivant :
Bonjour tout le monde, bonjour Blaise

Cette fonction marche très bien, par contre, si je la lance une seconde fois,
j'ai un vilain message: "Cette opération n'est pas autorisée si l'objet est
ouvert."
Je suppose qu'il existe une fonction pour fermer après avoir ouvert "Rst.Open
sSql, CurrentProject.Connection, adOpenStatic"

Merci à ceux qui peuvent m'apporter plus de précision...

Goup'

"Blaise Cacramp"
Selon : Bonjour ou bonsoir

En VBA :

Function Concatenation As String
Dim sSql, I As Integer, Catena As String
Dim Rst As New ADODB.Recordset
sSql = "SELECT Les Champs" _
& " FROM Les tables" _
& " WHERE Les critères;"

Rst.Open sSql, CurrentProject.Connection, adOpenStatic
If Rst.RecordCount = 0 Then
Concatenation = "Vide"
Else
For I = 1 To Rst.RecordCount
Catena = Catena & Rst("Nom de champ") & " "
If Not Rst.Eof Then Rst.MoveNext
Next
Catena = Trim(Catena)
Concatenation = Catena
End If





rst.close

End Function



Cdt, Blaise
---- ---- ----


"Goupil" 4acf649a$0$912$
Du forum, bonjour,

J'essaye (sans y arriver) de faire une fonction qui me permettrait de
concaténer tous les enregistrements d'un champ.
Un peut comme la fonction DSum("[Montant]","MaTable") me permet d'avoir le
total de tous les enregistrements d'un champ.

Quelqu'un aurait-il un début de piste ?

Merci d'avance

Goup'










Autant pour moi !
rst.close
Blaise Cacramp
Le #20456561
GRRR
PAS "autant" pour moi, mais "au temps" pour moi !


"Blaise Cacramp" %
Goupil a présenté l'énoncé suivant :
Bonjour tout le monde, bonjour Blaise

Cette fonction marche très bien, par contre, si je la lance une seconde
fois, j'ai un vilain message: "Cette opération n'est pas autorisée si
l'objet est ouvert."
Je suppose qu'il existe une fonction pour fermer après avoir ouvert
"Rst.Open sSql, CurrentProject.Connection, adOpenStatic"

Merci à ceux qui peuvent m'apporter plus de précision...

Goup'

"Blaise Cacramp"
Selon : Bonjour ou bonsoir

En VBA :

Function Concatenation As String
Dim sSql, I As Integer, Catena As String
Dim Rst As New ADODB.Recordset
sSql = "SELECT Les Champs" _
& " FROM Les tables" _
& " WHERE Les critères;"

Rst.Open sSql, CurrentProject.Connection, adOpenStatic
If Rst.RecordCount = 0 Then
Concatenation = "Vide"
Else
For I = 1 To Rst.RecordCount
Catena = Catena & Rst("Nom de champ") & " "
If Not Rst.Eof Then Rst.MoveNext
Next
Catena = Trim(Catena)
Concatenation = Catena
End If





rst.close

End Function



Cdt, Blaise
---- ---- ----


"Goupil" 4acf649a$0$912$
Du forum, bonjour,

J'essaye (sans y arriver) de faire une fonction qui me permettrait de
concaténer tous les enregistrements d'un champ.
Un peut comme la fonction DSum("[Montant]","MaTable") me permet d'avoir
le total de tous les enregistrements d'un champ.

Quelqu'un aurait-il un début de piste ?

Merci d'avance

Goup'










Autant pour moi !
rst.close




Goupil
Le #20458651
C'était tout simple !

Merci ! ;-))

Goup'


"Blaise Cacramp"
GRRR
PAS "autant" pour moi, mais "au temps" pour moi !


"Blaise Cacramp" %
Goupil a présenté l'énoncé suivant :
Bonjour tout le monde, bonjour Blaise

Cette fonction marche très bien, par contre, si je la lance une seconde
fois, j'ai un vilain message: "Cette opération n'est pas autorisée si
l'objet est ouvert."
Je suppose qu'il existe une fonction pour fermer après avoir ouvert
"Rst.Open sSql, CurrentProject.Connection, adOpenStatic"

Merci à ceux qui peuvent m'apporter plus de précision...

Goup'

"Blaise Cacramp"
Selon : Bonjour ou bonsoir

En VBA :

Function Concatenation As String
Dim sSql, I As Integer, Catena As String
Dim Rst As New ADODB.Recordset
sSql = "SELECT Les Champs" _
& " FROM Les tables" _
& " WHERE Les critères;"

Rst.Open sSql, CurrentProject.Connection, adOpenStatic
If Rst.RecordCount = 0 Then
Concatenation = "Vide"
Else
For I = 1 To Rst.RecordCount
Catena = Catena & Rst("Nom de champ") & " "
If Not Rst.Eof Then Rst.MoveNext
Next
Catena = Trim(Catena)
Concatenation = Catena
End If





rst.close

End Function



Cdt, Blaise
---- ---- ----


"Goupil" 4acf649a$0$912$
Du forum, bonjour,

J'essaye (sans y arriver) de faire une fonction qui me permettrait de
concaténer tous les enregistrements d'un champ.
Un peut comme la fonction DSum("[Montant]","MaTable") me permet
d'avoir le total de tous les enregistrements d'un champ.

Quelqu'un aurait-il un début de piste ?

Merci d'avance

Goup'










Autant pour moi !
rst.close








Publicité
Poster une réponse
Anonyme