Access a-t-il un équivalent à la fonction T-SQL "replicate"
3 réponses
François Ligouy
Dans Transact SQL, la fonction "replicate" permet de dupliquer une chaine n
fois :
ainsi, la requête "SELECT REPLICATE('bye', 4) from table1" renvoie
"byebyebyebye" (autant de fois qu'il existe de lignes dans "table1").
Existe-t-il un équivalent dans Access?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Gafish
Bonjour aussi,
François Ligouy wrote:
Dans Transact SQL, la fonction "replicate" permet de dupliquer une chaine n fois : ainsi, la requête "SELECT REPLICATE('bye', 4) from table1" renvoie "byebyebyebye" (autant de fois qu'il existe de lignes dans "table1"). Existe-t-il un équivalent dans Access?
Il ne me semble pas, tu as bien la fonction String(n, c) avec n nombre et c un caractère, mais elle ne permet que de répéter n fois un caractère.
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Bonjour aussi,
François Ligouy wrote:
Dans Transact SQL, la fonction "replicate" permet de dupliquer une
chaine n fois :
ainsi, la requête "SELECT REPLICATE('bye', 4) from table1" renvoie
"byebyebyebye" (autant de fois qu'il existe de lignes dans "table1").
Existe-t-il un équivalent dans Access?
Il ne me semble pas, tu as bien la fonction String(n, c) avec n nombre et c
un caractère, mais elle ne permet que de répéter n fois un caractère.
Arnaud
--
Charte du forum : http://users.skynet.be/mpfa/
Recherche dans les archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Dans Transact SQL, la fonction "replicate" permet de dupliquer une chaine n fois : ainsi, la requête "SELECT REPLICATE('bye', 4) from table1" renvoie "byebyebyebye" (autant de fois qu'il existe de lignes dans "table1"). Existe-t-il un équivalent dans Access?
Il ne me semble pas, tu as bien la fonction String(n, c) avec n nombre et c un caractère, mais elle ne permet que de répéter n fois un caractère.
Arnaud -- Charte du forum : http://users.skynet.be/mpfa/ Recherche dans les archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Eric
Bonjour,
Je ne l'ai jamais rencontrée mais elle ne parait pas difficile à réaliser, si j'ai bien compris.
En faisant au plus simple, dans un module : Function fnReplicate(unMot As String, unNombre As Byte) As String Dim i As Byte, tmp As String For i = 1 To unNombre tmp = tmp & unMot Next i fnReplicate = tmp End Function
et après aucun probleme pour faire un truc du genre : SELECT fnReplicate('bye',4) AS EquivReplicate FROM Table1;
-- A+ Eric Un petit tour ici : http://users.skynet.be/mpfa/ Accès aux archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Dans Transact SQL, la fonction "replicate" permet de dupliquer une chaine n fois : ainsi, la requête "SELECT REPLICATE('bye', 4) from table1" renvoie "byebyebyebye" (autant de fois qu'il existe de lignes dans "table1"). Existe-t-il un équivalent dans Access?
Bonjour,
Je ne l'ai jamais rencontrée mais elle ne parait pas difficile à
réaliser, si j'ai bien compris.
En faisant au plus simple, dans un module :
Function fnReplicate(unMot As String, unNombre As Byte) As String
Dim i As Byte, tmp As String
For i = 1 To unNombre
tmp = tmp & unMot
Next i
fnReplicate = tmp
End Function
et après aucun probleme pour faire un truc du genre :
SELECT fnReplicate('bye',4) AS EquivReplicate
FROM Table1;
--
A+
Eric
Un petit tour ici : http://users.skynet.be/mpfa/
Accès aux archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Dans Transact SQL, la fonction "replicate" permet de dupliquer une chaine n
fois :
ainsi, la requête "SELECT REPLICATE('bye', 4) from table1" renvoie
"byebyebyebye" (autant de fois qu'il existe de lignes dans "table1").
Existe-t-il un équivalent dans Access?
Je ne l'ai jamais rencontrée mais elle ne parait pas difficile à réaliser, si j'ai bien compris.
En faisant au plus simple, dans un module : Function fnReplicate(unMot As String, unNombre As Byte) As String Dim i As Byte, tmp As String For i = 1 To unNombre tmp = tmp & unMot Next i fnReplicate = tmp End Function
et après aucun probleme pour faire un truc du genre : SELECT fnReplicate('bye',4) AS EquivReplicate FROM Table1;
-- A+ Eric Un petit tour ici : http://users.skynet.be/mpfa/ Accès aux archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Dans Transact SQL, la fonction "replicate" permet de dupliquer une chaine n fois : ainsi, la requête "SELECT REPLICATE('bye', 4) from table1" renvoie "byebyebyebye" (autant de fois qu'il existe de lignes dans "table1"). Existe-t-il un équivalent dans Access?
François Ligouy
Un grand merci à tous les deux. A Gafish d'abord parce que ma problématique réelle portait justement sur la recopie d'un seul et même caractère, à Eric ensuite parce que sa solution est plus générale et fonctionne également dans le cas d'une chaîne. Travaillant plus souvent avec SQL Server qu'avec Access, je n'ai pas toujours les bons réflexes avec ce dernier.
Bonjour,
Je ne l'ai jamais rencontrée mais elle ne parait pas difficile à réaliser, si j'ai bien compris.
En faisant au plus simple, dans un module : Function fnReplicate(unMot As String, unNombre As Byte) As String Dim i As Byte, tmp As String For i = 1 To unNombre tmp = tmp & unMot Next i fnReplicate = tmp End Function
et après aucun probleme pour faire un truc du genre : SELECT fnReplicate('bye',4) AS EquivReplicate FROM Table1;
-- A+ Eric Un petit tour ici : http://users.skynet.be/mpfa/ Accès aux archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Dans Transact SQL, la fonction "replicate" permet de dupliquer une chaine n fois : ainsi, la requête "SELECT REPLICATE('bye', 4) from table1" renvoie "byebyebyebye" (autant de fois qu'il existe de lignes dans "table1"). Existe-t-il un équivalent dans Access?
Un grand merci à tous les deux. A Gafish d'abord parce que ma problématique
réelle portait justement sur la recopie d'un seul et même caractère, à Eric
ensuite parce que sa solution est plus générale et fonctionne également dans
le cas d'une chaîne.
Travaillant plus souvent avec SQL Server qu'avec Access, je n'ai pas
toujours les bons réflexes avec ce dernier.
Bonjour,
Je ne l'ai jamais rencontrée mais elle ne parait pas difficile à
réaliser, si j'ai bien compris.
En faisant au plus simple, dans un module :
Function fnReplicate(unMot As String, unNombre As Byte) As String
Dim i As Byte, tmp As String
For i = 1 To unNombre
tmp = tmp & unMot
Next i
fnReplicate = tmp
End Function
et après aucun probleme pour faire un truc du genre :
SELECT fnReplicate('bye',4) AS EquivReplicate
FROM Table1;
--
A+
Eric
Un petit tour ici : http://users.skynet.be/mpfa/
Accès aux archives :
http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Dans Transact SQL, la fonction "replicate" permet de dupliquer une chaine n
fois :
ainsi, la requête "SELECT REPLICATE('bye', 4) from table1" renvoie
"byebyebyebye" (autant de fois qu'il existe de lignes dans "table1").
Existe-t-il un équivalent dans Access?
Un grand merci à tous les deux. A Gafish d'abord parce que ma problématique réelle portait justement sur la recopie d'un seul et même caractère, à Eric ensuite parce que sa solution est plus générale et fonctionne également dans le cas d'une chaîne. Travaillant plus souvent avec SQL Server qu'avec Access, je n'ai pas toujours les bons réflexes avec ce dernier.
Bonjour,
Je ne l'ai jamais rencontrée mais elle ne parait pas difficile à réaliser, si j'ai bien compris.
En faisant au plus simple, dans un module : Function fnReplicate(unMot As String, unNombre As Byte) As String Dim i As Byte, tmp As String For i = 1 To unNombre tmp = tmp & unMot Next i fnReplicate = tmp End Function
et après aucun probleme pour faire un truc du genre : SELECT fnReplicate('bye',4) AS EquivReplicate FROM Table1;
-- A+ Eric Un petit tour ici : http://users.skynet.be/mpfa/ Accès aux archives : http://groups.google.fr/group/microsoft.public.fr.access?hl=fr
Dans Transact SQL, la fonction "replicate" permet de dupliquer une chaine n fois : ainsi, la requête "SELECT REPLICATE('bye', 4) from table1" renvoie "byebyebyebye" (autant de fois qu'il existe de lignes dans "table1"). Existe-t-il un équivalent dans Access?