Une base de données Access 97 (version imposée par le client)
Dans cette base, une table, contenant, entre autres la colonne "lot" dont
les caractéristiques sont les suivantes:
Lot Texte 10
AllowZeroLength: Vrai
Attributs: Longueur variable
ColumnHidden: Faux
ColumnOrder: Défaut
ColumnWidth: Défaut
DisplayControl: Zone de texte
N° d'ordre: 2
Required: Faux
Séquence: Général
Source enreg.: Lot
Table source: SuiviAmiante_national
Cette table est alimentée grace à un module VBA, qui analyse le contenu d'un
fichier CSV
Voici les extraits "significatifs" du module
Dim lot As String
...
pos_semicolon = InStr(1, str_read, search_char)
end_char = pos_semicolon - 1
' On récupère le lot
If end_char = 0 Then
lot = ""
Else
lot = Mid(str_read, 1, end_char)
End If
...
Dbs.Execute "INSERT INTO suiviamiante_national VALUES (" & region & ","
& lot & _
",'" & libelle_ut & "','" & UT & "'," & batiment
& ",'" & type_batiment & _
"','" & logement_collectif & "','" &
emploi_batiment & "','" & categorie_surface & _
"'," & surface & ",'" & proprietaire & "'," &
ajout_batiment & "," & retrait_batiment & _
",'" & observations & "','" & date_maj & "'," &
avancement & "," & fr_transmise_occupants & _
"," & amiante & ",'" & commentaire_repereur &
"','" & commentaire_cra & "','"& commentaire_assistant & _
"'," & visite_partielle & ")"
Mon problème est le suivant:
La colonne "lot" contient, en général, des données numériques à 4 chiffres
Elle est cependant prévue, comme décrit ci-dessus, pour traiter des données
alphanumériques.
Cependant, dans le fichier ci-dessous
le traitement de la ligne part en erreur '3061' (trop peu de paramètres, 1
attendu) lors de l'insert sur la ligne contenant comme lot "XXXX"
Si je remplace dans le fichier CSV "XXXX" par un nombre, tout se passe
correctement
NB La ligne contenant "XXXX" est la dernière d'un fichier en contenant
environ 2000. Si je crée un fichier avec simplement la ligne d'en-têtes et la
ligne en cause, le pb est le même.
Il semblerait que celà ressemble à "l'interprétation" que fait certaines
fois Access lors d'importation de fichiers Excel.
Le seul pb est que, dans mon cas, le type de données à traiter est
clairement (du moins je le pense) explicité
Quelqu'un aurait il une explication logique à ce phénomène, et
éventuellement des idées pour le corriger?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
3stone
Bonjour aussi,
"Twitzig" | Une base de données Access 97 (version imposée par le client) | Dans cette base, une table, contenant, entre autres la colonne "lot" dont | les caractéristiques sont les suivantes:
[...]
| ... | Dbs.Execute "INSERT INTO suiviamiante_national VALUES (" & region & "," & lot & ",'" & libelle_ut & "','" & UT & "'," & batiment | & ",'" & type_batiment & _
Assez touffu comme écriture... mais...
Si lot doit être traité comme alpha, il faut essyer en ajoutant les (') quotes (quillemets simples) autour de la variable...
Values (" & region & ",'" & lot & "','" & libelle_ut &
"Twitzig"
| Une base de données Access 97 (version imposée par le client)
| Dans cette base, une table, contenant, entre autres la colonne "lot" dont
| les caractéristiques sont les suivantes:
[...]
| ...
| Dbs.Execute "INSERT INTO suiviamiante_national VALUES (" & region & "," & lot & ",'" &
libelle_ut & "','" & UT & "'," & batiment
| & ",'" & type_batiment & _
Assez touffu comme écriture... mais...
Si lot doit être traité comme alpha, il faut essyer en ajoutant
les (') quotes (quillemets simples) autour de la variable...
Values (" & region & ",'" & lot & "','" & libelle_ut &
"Twitzig" | Une base de données Access 97 (version imposée par le client) | Dans cette base, une table, contenant, entre autres la colonne "lot" dont | les caractéristiques sont les suivantes:
[...]
| ... | Dbs.Execute "INSERT INTO suiviamiante_national VALUES (" & region & "," & lot & ",'" & libelle_ut & "','" & UT & "'," & batiment | & ",'" & type_batiment & _
Assez touffu comme écriture... mais...
Si lot doit être traité comme alpha, il faut essyer en ajoutant les (') quotes (quillemets simples) autour de la variable...
Values (" & region & ",'" & lot & "','" & libelle_ut &