Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Concaténation "spéciale"

7 réponses
Avatar
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'

7 réponses

Avatar
Le meruvien
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" a écrit dans le message de news:
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'



Avatar
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" a écrit dans le message de news:
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'



Avatar
Goupil
Merci Blaise pour ce tuyau.
Ca marche impec !

Goup'

"Blaise Cacramp" a écrit dans le message de news:

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" a écrit dans le message de news:
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'







Avatar
Goupil
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" a écrit dans le message de news:

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" a écrit dans le message de news:
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'







Avatar
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" a écrit dans le message de news:

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" a écrit dans le message de news:
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
Avatar
Blaise Cacramp
GRRR
PAS "autant" pour moi, mais "au temps" pour moi !


"Blaise Cacramp" <pré a écrit dans le message de news:
%
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" a écrit dans le message de news:

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" a écrit dans le message de news:
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




Avatar
Goupil
C'était tout simple !

Merci ! ;-))

Goup'


"Blaise Cacramp" a écrit dans le message de news:

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


"Blaise Cacramp" <pré a écrit dans le message de news:
%
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" a écrit dans le message de news:

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" a écrit dans le message de news:
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