XL 2019 Problème de connexion SQL avec UPDATE

leviarango

XLDnaute Nouveau
Bonjour à tous,

Voila je suis en train de développer une macro permettant de transférer le contenu d'un fichier excel vers un autre fichier qui doit rester fermé.
Pour cela j'utilise les commandes SQL pour lire et écrire. Mon problème survient lorsque dans une colonne (champ = Run) contenant que des valeurs numériques se trouve un caractère (la lettre P dans mon cas). Evidement je dois conserver ce caractère dans mon tableau cas.

Je sens que je vais craquer et me dirige vers vous si jamais une bourde de ma part vous sautait aux yeux

Merci par avance
 

Pièces jointes

  • Data_Base.xlsx
    53.5 KB · Affichages: 13
  • Main file A.xlsb
    33.1 KB · Affichages: 12

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Le driver "Microsoft Excel Driver " utilise par défaut les 8 premières valeurs de la colonne pour déterminer le type des colonnes. Le type majoritaire rencontré, l'emporte. Je pense que votre problème vient de là. Comme solution vous pouvez utiliser une chaîne de connexion du genre
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1"; (source : https://www.connectionstrings.com/excel/) Où IMEX=1 demande au driver de traiter toutes les données comme du texte, vous aurez alors à les convertir d'un côté et de l'autre de la connexion.

De façon plus général, il n'est jamais très heureux de mélanger les types de données dans un même champ de table.

Cordialement
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour le fil,

IMEX=1 rend implicitement la requête en lecture seule hors le demandeur parle de requête Update !

Au temps pour moi. C'est le genre de chose que j'ai tendance à oublier, ne l'utilisant pas souvent.

ça marche mais par expérience je sais que c'est pas toujours le cas!

Entièrement d'accord. Et ça va dans le sens d'un typage fort des colonnes.

Cordialement
 

leviarango

XLDnaute Nouveau
Bonjour à tous et merci d'avoir pris le temps de vous pencher sur mon problème.
J'ai tenté l'option IMEX=1 mais sans succès avec UPDATE, dommage car çà me paressait bien élégant...

La solution de Pierre me semble intéressante mais si j'ajoute une ligne sous le menu avec les infos au format souhaité quelle est la différence par rapport à mettre une lettre "P" comme dans mon exemple?

En fait mon but est simplement de copier/collier mon tableau d'un fichier A (ouvert) vers un fichier B (fermé). Si vous connaissez une autre solution que celle que j'essaye désespérément de développer sans succès je suis aussi preneur.

Vous remerciant encore par avance.

Levi.
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Au vu de ce qui vous a été dit dans les divers posts, il vous faut repenser vos tableaux de façon à ce qu'ils ne comportent que des colonnes d'un seul type de donnée chacune, en rajoutant peut-être une autre colonne pour les 'Run' textuels.

Cordialement
 

Statistiques des forums

Discussions
312 104
Messages
2 085 349
Membres
102 869
dernier inscrit
radyreth