Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

décimales publipostage + database

2 réponses
Avatar
Christophe
Bonjour,

dans un document de publipostage se trouve un tableau issu d'une database.

Un champ numérique de ce tableau fait apparaître des tonnes de décimales
alors que la source de données n'en contient pas.

C'est un pb récurrent ici, je l'ai bien compris, mais je ne sais pas comment
appliquer le commutateur \# "# ###,00", étant donné que je ne suis pas dans
le cadre d'un MERGEFIELD mais d'une requête, celle-ci :
{ DATABASE \d "C:\\Documents and Settings\\CCE\\Mes
documents\\Classeur2.xlsx" \c "Provider=Microsoft.ACE.OLEDB.12.0;User
ID=Admin;Data Source=C:\\Documents and Settings\\CCE\\Mes
documents\\Classeur2.xlsx;Mode=Read;Extended
Properties=\"HDR=YES;IMEX=1;\";Jet OLEDB:System database=\"\";Jet
OLEDB:Registry Path=\"\";Jet OLEDB:Engine Type=37;Jet OLEDB:Database Locking
Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk
Transactions=1;Jet OLEDB:New Database Password=\"\";Jet OLEDB:Create System
Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale
on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet
OLEDB:SFP=False;Jet OLEDB:Support Complex Data=False" \s "SELECT distinct
`numech`, `montant` FROM `Feuil1$` WHERE ((`client` = 555 and `numech` is not
null))" \l "1" \b "191" \h }

J'ai essayé d'ajouter le commutateur dans cet ensembble : rien
J'ai essayé de mettre un ROUND(MONTANT,2) dans la clause SELECT : rien

Merci pour votre aide !

2 réponses

Avatar
Circé
Bonjour Christophe,

Il s'agit encore d'un coup du protocole OLE. Essaie plutôt avec le DDE.

Explications ici (même si l'explication porte sur le publipostage, le
problème est le même avec le champ DATABASE) :
http://faqword.free.fr/articles.php?lng=fr&pgW2

Circé
http://faqword.free.fr

Christophe a formulé la demande :
Bonjour,

dans un document de publipostage se trouve un tableau issu d'une database.

Un champ numérique de ce tableau fait apparaître des tonnes de décimales
alors que la source de données n'en contient pas.

C'est un pb récurrent ici, je l'ai bien compris, mais je ne sais pas comment
appliquer le commutateur # "# ###,00", étant donné que je ne suis pas dans
le cadre d'un MERGEFIELD mais d'une requête, celle-ci :
{ DATABASE d "C:Documents and SettingsCCEMes
documentsClasseur2.xlsx" c "Provider=Microsoft.ACE.OLEDB.12.0;User
ID­min;Data Source=C:Documents and SettingsCCEMes
documentsClasseur2.xlsx;Mode=Read;Extended
Properties="HDR=YES;IMEX=1;";Jet OLEDB:System database="";Jet
OLEDB:Registry Path="";Jet OLEDB:Engine Type7;Jet OLEDB:Database Locking
Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk
Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create System
Databaseúlse;Jet OLEDB:Encrypt Databaseúlse;Jet OLEDB:Don't Copy Locale
on Compactúlse;Jet OLEDB:Compact Without Replica Repairúlse;Jet
OLEDB:SFPúlse;Jet OLEDB:Support Complex Dataúlse" s "SELECT distinct
`numech`, `montant` FROM `Feuil1$` WHERE ((`client` = 555 and `numech` is not
null))" l "1" b "191" h }

J'ai essayé d'ajouter le commutateur dans cet ensembble : rien
J'ai essayé de mettre un ROUND(MONTANT,2) dans la clause SELECT : rien

Merci pour votre aide !


Avatar
Christophe
J'ai essayé, ça ne change rien... Peut-être faut-il redémarrer l'ordi ?
Je crois que je vais essayer autre chose, convertir en alphanumérique ou je
ne sais quoi..

Merci quand même !

"Circé" a écrit dans le message de news:

Bonjour Christophe,

Il s'agit encore d'un coup du protocole OLE. Essaie plutôt avec le DDE.

Explications ici (même si l'explication porte sur le publipostage, le
problème est le même avec le champ DATABASE) :
http://faqword.free.fr/articles.php?lng=fr&pgW2

Circé
http://faqword.free.fr

Christophe a formulé la demande :
Bonjour,

dans un document de publipostage se trouve un tableau issu d'une
database.



Un champ numérique de ce tableau fait apparaître des tonnes de décimales
alors que la source de données n'en contient pas.

C'est un pb récurrent ici, je l'ai bien compris, mais je ne sais pas
comment


appliquer le commutateur # "# ###,00", étant donné que je ne suis pas
dans


le cadre d'un MERGEFIELD mais d'une requête, celle-ci :
{ DATABASE d "C:Documents and SettingsCCEMes
documentsClasseur2.xlsx" c "Provider=Microsoft.ACE.OLEDB.12.0;User
ID­min;Data Source=C:Documents and SettingsCCEMes
documentsClasseur2.xlsx;Mode=Read;Extended
Properties="HDR=YES;IMEX=1;";Jet OLEDB:System database="";Jet
OLEDB:Registry Path="";Jet OLEDB:Engine Type7;Jet OLEDB:Database
Locking


Mode=0;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk
Transactions=1;Jet OLEDB:New Database Password="";Jet OLEDB:Create
System


Databaseúlse;Jet OLEDB:Encrypt Databaseúlse;Jet OLEDB:Don't Copy
Locale


on Compactúlse;Jet OLEDB:Compact Without Replica Repairúlse;Jet
OLEDB:SFPúlse;Jet OLEDB:Support Complex Dataúlse" s "SELECT
distinct


`numech`, `montant` FROM `Feuil1$` WHERE ((`client` = 555 and `numech`
is not


null))" l "1" b "191" h }

J'ai essayé d'ajouter le commutateur dans cet ensembble : rien
J'ai essayé de mettre un ROUND(MONTANT,2) dans la clause SELECT : rien

Merci pour votre aide !