Chaine de caractère entre dièse inattendu

Chaine de caractère entre dièse inattendu - SQL/NoSQL - Programmation

Marsh Posté le 20-03-2013 à 12:29:00    

Bonjour,
 
Je débute en SQL sous acces et j'ai un petit soucis. J'ai un attriubut qui contient des adresses relatives et lorsque j'exécute une requête SQL sous VBA pour les récupérer elles apparaissent entre dièses. Exemple :
 
#../dossier/sous dossier/encore un dossier/blablabla#
 
Au lieu de  
 
../dossier/sous dossier/encore un dossier/blablabla
 
Qui est rentré en base.
 
J'ai trouvé une solution pour les retirer (et les mettre en hyperlien dans un formulaire) mais quelques liens (rare mais gênant) n'ont pas de dièses d'autres n'en ont pas au début et d'autres n'en ont pas à la fin. Je vous mets le code :
 

Code :
  1. Private Sub Form_Current()
  2. Dim Cnn As New ADODB.Connection
  3. Set Cnn = CurrentProject.Connection
  4. Dim strSQL1 As String
  5. Dim RS1 As New ADODB.Recordset
  6. Dim strLen As Integer
  7. Dim adrTemp As String
  8. strSQL1 = "SELECT LienAudit FROM ID_BAT WHERE id=" & id_bat.Value
  9. RS1.Open strSQL1, Cnn
  10. adrTemp = Mid(RS1.Fields(0), 2)
  11. strLen = Len(adrTemp) - 1
  12. adrTemp = Mid(adrTemp, 1, strLen)
  13. adr.HyperlinkAddress = adrTemp
  14. Dim strSQL2 As String
  15. Dim RS2 As New ADODB.Recordset
  16. strSQL2 = "SELECT adr FROM ID_BAT WHERE id=" & id_bat.Value
  17. RS2.Open strSQL2, Cnn
  18. adr.Caption = RS2.Fields(0)
  19. Dim strSQL3 As String
  20. Dim RS3 As New ADODB.Recordset
  21. strSQL3 = "SELECT compl FROM ID_BAT WHERE id=" & id_bat.Value
  22. RS3.Open strSQL3, Cnn
  23. If RS3.Fields(0) <> "" Then
  24.     compl.Caption = RS3.Fields(0)
  25. Else
  26.     compl.Caption = ""
  27. End If
  28. RS1.Close
  29. RS2.Close
  30. RS3.Close


 
De la ligne 11 à 15, c'est le code pour retirer les dièses.
 
 
EDIT : Et la question (^^) : D'où viennent ses dièses ?
 
PS: Je sais pas si le problème viens de SQL ou de VBA mais vu que c'est Access je le mets dans cette catégorie.
PS2: le code est pas beau certe, mais il marche :)
PS3 : Ce n'est pas le problème mais je fais plusieurs recordset car je n'arrive pas à extraire deux attribut (j'ai pensé à RS.fields(0), RS.Fields(1) mais ça marche pas), si vous avez le temps de répondre à ce problème aussi je vous serez infiniment reconnaissant !


Message édité par grimreaper le 20-03-2013 à 13:53:22
Reply

Marsh Posté le 20-03-2013 à 12:29:00   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed