Access - limite 255 caractères

Fermé
Karine_69 Messages postés 6 Date d'inscription mardi 9 novembre 2010 Statut Membre Dernière intervention 7 juin 2011 - 7 juin 2011 à 11:00
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 7 juin 2011 à 13:48
Bonjour,

Je rencontre un problème sur Access.
A partir de fichiers texte, je dois mettre à jour une table de ma bd mais je suis bloquée, car les données du fichier texte sont parfois d'une taille supérieure à 255 caractères et mon code ne fonctionne pas dans ce cas de figure.

Voici mon code :
Sub ReadOption()
Dim filecode As Integer
Dim presentValue As Integer
Dim presentKey, text, maj As String
Dim bd As Database
Dim espace As QueryDef
Dim enreg As Recordset

Set bd = CurrentDb

Set espace = bd.CreateQueryDef("")
With espace
.sql = "SELECT Zpartner.bpcnum, Zpartner.ordtex FROM Zpartner WHERE (((Zpartner.ordtex) Is Not Null))"
Set enreg = .OpenRecordset()
If enreg.RecordCount <> 0 Then
enreg.MoveFirst

Do Until enreg.EOF
'lecture fichier texte
filecode = FreeFile()

Open "C:\***\msg_texte\" & enreg!ordtex & ".txt"

For Input As filecode

While Not EOF(filecode)
Input #1, text
maj = maj & text

Wend

Close filecode

'MAJ table Zpartner
Set espace = bd.QueryDefs("R_MAJ")
espace.Parameters![maj] = maj
espace.Parameters![code_client] = enreg!bpcnum
espace.Execute

enreg.MoveNext
maj = ""
Loop
End If
End With
End Sub

Je reçois le message Erreur exécution '3271' Valeur de propriété non valide. sur la ligne espace.Parameters![maj] = maj

La requête R_MAJ est :
PARAMETERS maj Text, code_client Text ( 255 );
UPDATE Zpartner SET Zpartner.ch_vide1 = [maj]
WHERE (((Zpartner.bpcnum)=[code_client]));

Sinon si le texte est moins long que 255 caractères, le code est bon.
Si vous voyez une solution à ce problème, merci de vos retours car là je ne vois pas la solution.

A voir également:

2 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
7 juin 2011 à 11:08
bonjour
dans ta table
Il faut passer ton champ en "mémo" et non en texte
0
Karine_69 Messages postés 6 Date d'inscription mardi 9 novembre 2010 Statut Membre Dernière intervention 7 juin 2011
7 juin 2011 à 11:12
Merci de ta réponse, mais oui justement le champ ch_vide1 de la table Zpartner est bien en mémo.
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
7 juin 2011 à 13:48
curieux, mais je ne vois pas :-/

tu as un forum sur ce site très compétent dédié à Access
http://www.self-access.com/cms/
0