web-dev-qa-db-fra.com

Comment rompre une longue chaîne en plusieurs lignes

J'utilise cette instruction insert dans mon code sous vba Excel mais je ne parviens pas à la décomposer en plusieurs lignes

SqlQueryString = "Insert into Employee values(" & txtEmployeeNo.Value & " _
,'" & txtContractStartDate.Value & "' _
,'" & txtSeatNo.Value & "' _
,'" & txtFloor.Value & "','" & txtLeaves.Value & "')"

Il donne l'erreur "Fin de déclaration attendue". Plz aide.

26
user2396829

Vous ne pouvez pas utiliser le caractère de continuation de ligne VB à l'intérieur d'une chaîne.

SqlQueryString = "Insert into Employee values(" & txtEmployeeNo.Value & _
"','" & txtContractStartDate.Value &  _
"','" & txtSeatNo.Value & _
"','" & txtFloor.Value & "','" & txtLeaves.Value & "')"
36
DougM

vous pouvez simplement créer votre chaîne en plusieurs étapes, un peu redondant, mais cela permet de garder le code lisible et de préserver son intégrité pendant le débogage ou l'édition

SqlQueryString = "Insert into Employee values(" 
SqlQueryString = SqlQueryString & txtEmployeeNo.Value & " ,"
SqlQueryString = SqlQueryString & " '" & txtEmployeeNo.Value & "',"
SqlQueryString = SqlQueryString & " '" & txtContractStartDate.Value & "',"
SqlQueryString = SqlQueryString & " '" & txtSeatNo.Value & "',"
SqlQueryString = SqlQueryString & " '" & txtContractStartDate.Value & "',"
SqlQueryString = SqlQueryString & " '" & txtSeatNo.Value & "',"
SqlQueryString = SqlQueryString & " '" & txtFloor.Value & "',"
SqlQueryString = SqlQueryString & " '" & txtLeaves.Value & "' )"
10
Georges Brisset

Si la longue chaîne à plusieurs lignes vous confond. Ensuite, vous pouvez installer le complément mz-tools qui est un freeware et l’utilitaire qui divise la ligne pour vous.

Télécharger Mz-tools

Si votre chaîne ressemble à celle ci-dessous

SqlQueryString = "Insert into Employee values(" & txtEmployeeNo.Value & "','" & txtContractStartDate.Value & "','" & txtSeatNo.Value & "','" & txtFloor.Value & "','" & txtLeaves.Value & "')"

Sélectionnez simplement la chaîne> faites un clic droit sur VBA IDE> Sélectionnez MZ-tools> Lignes de fractionnement

enter image description here

5
Santosh

Je sais que c’est très vieux, mais si quelqu'un cherche à le savoir, à partir de Visual Basic 14, Vb prend en charge l'interpolation. Tellement cool!

Exemple:

SQLQueryString = $"
   Insert into Employee values( 
       {txtEmployeeNo}, 
       {txtContractsStartDate},
       {txtSeatNo},
       {txtFloor},
       {txtLeaves}
)"

Ça marche. Documentation ici

0
dgo