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 :
- Private Sub Form_Current()
- Dim Cnn As New ADODB.Connection
- Set Cnn = CurrentProject.Connection
- Dim strSQL1 As String
- Dim RS1 As New ADODB.Recordset
- Dim strLen As Integer
- Dim adrTemp As String
- strSQL1 = "SELECT LienAudit FROM ID_BAT WHERE id=" & id_bat.Value
- RS1.Open strSQL1, Cnn
- adrTemp = Mid(RS1.Fields(0), 2)
- strLen = Len(adrTemp) - 1
- adrTemp = Mid(adrTemp, 1, strLen)
- adr.HyperlinkAddress = adrTemp
- Dim strSQL2 As String
- Dim RS2 As New ADODB.Recordset
- strSQL2 = "SELECT adr FROM ID_BAT WHERE id=" & id_bat.Value
- RS2.Open strSQL2, Cnn
- adr.Caption = RS2.Fields(0)
- Dim strSQL3 As String
- Dim RS3 As New ADODB.Recordset
- strSQL3 = "SELECT compl FROM ID_BAT WHERE id=" & id_bat.Value
- RS3.Open strSQL3, Cnn
- If RS3.Fields(0) <> "" Then
- compl.Caption = RS3.Fields(0)
- Else
- compl.Caption = ""
- End If
- RS1.Close
- RS2.Close
- 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