Bienvenue! Identification Créer un nouveau profil

Recherche avancée

[AC10] Comment palier au problème d'insertion d'une chaine avec quote dans une table liée SqlServer ?

27/03/14 16:09
Bonjour,


Mon projet access contient un formulaire et des tables Sql Server liées.
J'utilise le formulaire et le vba pour importer des données provenant d'un fichier texte à destination des tables liées.
Pour tenter de palier au problème des quotes, j'utilise une fonction doublant les quotes dans les chaines contenant ce caractère.

Langage: Visual Basic
Dim db As DAO.Database Dim oRs As DAO.Recordset Dim sChamp As String   Set db = CurrentDb Set oRs = db.OpenRecordset("TbImport", dbOpenDynaset, dbSeeChanges)   sChamp = DoubleQuote(sMaChaine)   ' Ajout de la ligne oRs.AddNew oRs.Fields("sLib") = sChamp oRs.Update

Je pensais que le code suivant était suffisant, mais il subsite un problème :
En effet, si la taille de sMaChaine correspond à la taille maximum acceptée par le champ sLib dans la table, alors l'insertion dans la table provoque une erreur car la taille de la chaine est supérieure à la taille maximale.
Par exemple :
si sMaChaine = "TO'TO"
et si le champ sLib est un VARCHAR(5)
Alors oRs.Fields( "sLib" ) = sChamp provoquera une erreur car sChamp aura une taille de 6 caractères.

Y'a t-il un moyen de palier à ce problème de quote avec cette manière de coder en vba ? (c'est à dire en utilisant un recordset, un .addnew)

Merci par avance.
SujetAuteurEnvoyé le

[AC10] Comment palier au problème d'insertion d'une chaine avec quote dans une table liée SqlServer ?

JohnDoe27/03/14 16:09

Re: [AC10] Comment palier au problème d'insertion d'une chaine avec quote dans une table liée SqlServer ?

Hervé Inisan27/03/14 19:18

Re: [AC10] Comment palier au problème d'insertion d'une chaine avec quote dans une table liée SqlServer ?

JohnDoe28/03/14 11:55

Re: [AC10] Comment palier au problème d'insertion d'une chaine avec quote dans une table liée SqlServer ?

Hervé Inisan28/03/14 15:42

Seuls les utilisateurs enregistrés peuvent poster des messages dans ce forum.

Cliquez ici pour vous connecter