Le caractere _

Résolu
Omega15 Messages postés 55 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 7 septembre 2009 - 26 mai 2005 à 11:25
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 - 26 mai 2005 à 14:57
Bonjour,

Je voudrais savoir comment fonctionne le caractere _ qui permet de passer a la ligne et eviter d'en avoir une trop grande.
par exemple avec une requete tel que celle la :

Set adochantier = bdtrav.Execute _
(" SELECT Suivi.CodeChantier, Suivi.Date, Suivi.NBH0, Chantier.Libelle _
FROM SuiviMO Suivi, Chantierdef Chantier _
WHERE Suivi.CodeSalarie=" & salarie & " _
AND Suivi.Date >= #" & Format(DateDebut, "mm/dd/yyyy") & "# _
AND Suivi.Date <= #" & Format(DateFin, "mm/dd/yyyy") & "# _
ORDER BY Suivi.Date ;")

Cela ne fonctionne pas mais la suivante oui

Set adochantier = bdtrav.Execute _
(" SELECT Suivi.CodeChantier, Suivi.Date, Suivi.NBH0, Chantier.Libelle FROM SuiviMO Suivi, Chantierdef Chantier WHERE Suivi.CodeSalarie=" & salarie & " AND Suivi.Date >= #" & Format(DateDebut, "mm/dd/yyyy") & "# AND Suivi.Date <= #" & Format(DateFin, "mm/dd/yyyy") & "# ORDER BY Suivi.Date ;")

Quelqu'un peut me donner un petit cour SVP.

MERCI.

11 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
26 mai 2005 à 12:25
Set adochantier = bdtrav.Execute _

(" SELECT Suivi.CodeChantier, Suivi.Date, Suivi.NBH0, Chantier.Libelle" & _

" FROM SuiviMO Suivi, Chantierdef Chantier " & _

" WHERE Suivi.CodeSalarie=" & salarie & " & _

" AND Suivi.Date >=
#" & Format(DateDebut, "mm/dd/yyyy") & "# " & _

" AND Suivi.Date <=
#" & Format(DateFin, "mm/dd/yyyy") & "# " & _

" ORDER BY Suivi.Date ;")


Comme cela c'est pas trop mal non ?

Et pour alléger ta requête tu peux peut-être utilsier l'opérateur "Between ... And ... "


Set adochantier = bdtrav.Execute _


(" SELECT Suivi.CodeChantier, Suivi.Date, Suivi.NBH0, Chantier.Libelle" & _


" FROM SuiviMO Suivi, Chantierdef Chantier " & _


" WHERE Suivi.CodeSalarie=" & salarie & " & _

" AND Suivi.Date
BETWEEN #" & Format(DateDebut, "mm/dd/yyyy") & "# " &
_


" AND #" & Format(DateFin, "mm/dd/yyyy") & "# " & _


" ORDER BY Suivi.Date ;")







Christophe R
3
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
26 mai 2005 à 12:26
Bon, perso, je m'y connais rien en SQL mais tu peux essayer ça :




Dim Requete As String

Requete = " SELECT"

Requete = Requete & " Suivi.CodeChantier,"

Requete = Requete & " Suivi.Date,"

Requete = Requete & " Suivi.NBH0,"

Requete = Requete & " Chantier.Libelle"



Requete = Requete & " FROM"

Requete = Requete & " SuiviMO Suivi, "

Requete = Requete & " Chantierdef Chantier"



Requete = Requete & " WHERE"

Requete = Requete & " Suivi.CodeSalarie=" &
salarie

Requete = Requete & " AND Suivi.Date >= #" & Format(DateDebut,
"mm/dd/yyyy") & "#"

Requete = Requete & " AND Suivi.Date <= #" & Format(DateFin,
"mm/dd/yyyy") & "#"

Requete = Requete & " ORDER BY"

Requete = Requete & " Suivi.Date ;"



Set adochantier = bdtrav.Execute (Requete)



Là, bien sûr, on a mis la requête dans une variable String (chaine de
caractères). Mais sinon, pour reprendre ton exemple, on peut faire ceci
:





Set adochantier = bdtrav.Execute _

(" Suivi.CodeChantier, Suivi.Date, Suivi.NBH0, Chantier.Libelle" & _

" FROM SuiviMO Suivi, Chantierdef Chantier" & _


" WHERE" & _

" Suivi.CodeSalarie=" &
salarie & _

" AND Suivi.Date >= #" & Format(DateDebut,
"mm/dd/yyyy") & "#" & _

" AND Suivi.Date <= #" & Format(DateFin,
"mm/dd/yyyy") & "#" & _

" ORDER BY Suivi.Date ;" _

)



Mais attention car les lignes VB ne peuvent pas dépasser 256 caractères...



ENJOY




Si la réponse te convient, clique sur le bouton "Accepter la
réponse" dans la barre de titre de ce cadre afin d'indiquer aux membres
que ton post à trouvé solution à son pied!



(Je sais pas ce que vous avez tous avec vos mamga mais un jour faudrait
peut-être évoluer et comprendre le vide intellectuel qu'ils
représentent [surtout au niveau des dialogues!!!] )
3
Slyders Messages postés 300 Date d'inscription mardi 12 octobre 2004 Statut Membre Dernière intervention 8 janvier 2010 2
26 mai 2005 à 11:31
j'ai jamais vu qu'on pouvait couper une requete SQL comme sa, je sais pas si tu peu :/
0
Omega15 Messages postés 55 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 7 septembre 2009
26 mai 2005 à 11:33
Ha c'est peut etre pour ca alors.

je pensais que c'etait possible.

Bon bin alors tant pis.

Merci d'avoir repondu.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BasicInstinct Messages postés 1470 Date d'inscription mardi 5 février 2002 Statut Membre Dernière intervention 20 octobre 2014 12
26 mai 2005 à 11:46
tu ne peux pas faire:
"aaa _
bbb"

il faut faire
"aaa" _
& "bbb"

ou

"aaa" & _
"bbb"

BasicInstinct
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
26 mai 2005 à 12:00
En effet, BasicInstinct a raison!!! Tu ne peux pas couper au beau milieu d'une string!!! C'est un peu comme si tu faisais :



MaVariable = 12 _

36

au lieu de :

MaVariable = 1236



!!!
0
Omega15 Messages postés 55 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 7 septembre 2009
26 mai 2005 à 12:06
Dans ce cas comment faire pour aerer au maximum ma requete du debut en ayant le maximum de ligne?

Vous pouvez me la faire que je regarde.
0
Omega15 Messages postés 55 Date d'inscription vendredi 27 août 2004 Statut Membre Dernière intervention 7 septembre 2009
26 mai 2005 à 12:29
Ok c'est parfait j'ai compris, je vais me reservir de ton exemple assez souvent.

Merci encore et à la prochaine.
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
26 mai 2005 à 12:34
Excuse moi Crenaud76...
Nos réponses se sont croisées!!! J'avais pas vu que t'avais déjà répondu!



Mais dit moi, je dis pas de conneries, les lignes, même avec " _" sont
bien limités à 256 caratères non??? (je me souvient plus mais je crois
en effet avoir eu ce problème!!!).



Sinon, la technique de la variable fonctionne-t-elle ou pas pour les
requêtes ??? (oui parce que je m'y connais encore rien en SQL mais
j'assaie de m'y mettre ;-)



Omega, tu peux aussi valider la réponse de Crenaud76!!! Elle est quand même meilleurs ;-)



Enjoy
0
crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
26 mai 2005 à 14:49
A ma connaissance, tu n'es plus limité à 256 car avec le "_" ... mais tu me mets le doute, alors je teste ...

...

...

Bon voila je viens de tester et ce code .



Dim S As String



S = S &
"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
& _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" & _

"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"

MsgBox S

... qui donne une ligne totale de bien plus de 256 car ne plante pas !!!

Il me semblait bien ! Ce n'est pas l'interpréteur VB mais le parser de code qui limite la taille des lignes à 256 car ..



CQFD


Christophe R
0
ScSami Messages postés 1488 Date d'inscription mercredi 5 février 2003 Statut Membre Dernière intervention 3 décembre 2007 24
26 mai 2005 à 14:57
Ok, merci
0
Rejoignez-nous