Je tente avec C++ builder 6 de transférer le résultat d'une requete
quelconque dans une feuille de calcul Excel (j'ai déjà réalisé ça avec
Delphi 6 sans problème). Lorsque j'envoie des valeurs "numériques", le
transfert se passe sans problème par contre dés qu'il s'agit de transferer
du texte, j'obtient le message suivant : "Le projet xxxxxxx a provoqué une
classe d'exception EOleSysError avec le message 'Type de variable
incorrect'. Processus stoppé, etc......".
Forum C++Builder : http://www.developpez.net/forums/viewforum.php?f
Patrick D
On Wed, 26 Nov 2003 21:37:22 +0100, Bidule wrote:
Salut,
Je tente avec C++ builder 6 de transférer le résultat d'une requete quelconque dans une feuille de calcul Excel (j'ai déjà réalisé ça avec Delphi 6 sans problème). Lorsque j'envoie des valeurs "numériques", le transfert se passe sans problème par contre dés qu'il s'agit de transferer du texte, j'obtient le message suivant : "Le projet xxxxxxx a provoqué une classe d'exception EOleSysError avec le message 'Type de variable incorrect'. Processus stoppé, etc......".
enlever le zéro terminal des variables de type chaîne ? juste une suggestion, parce le C et moi, ça fait un moment qu'on ne s'est pas fréquenté ...
-- * remove '.don't.spam' and '.invalid' from my eMail address if you want to write me * * enlevez '.don't.spam' et '.invalid' de mon adresse eMail si vous voulez m'écrire *
On Wed, 26 Nov 2003 21:37:22 +0100, Bidule <lomduparc@club-internet.fr>
wrote:
Salut,
Je tente avec C++ builder 6 de transférer le résultat d'une requete
quelconque dans une feuille de calcul Excel (j'ai déjà réalisé ça avec
Delphi 6 sans problème). Lorsque j'envoie des valeurs "numériques", le
transfert se passe sans problème par contre dés qu'il s'agit de
transferer
du texte, j'obtient le message suivant : "Le projet xxxxxxx a provoqué
une
classe d'exception EOleSysError avec le message 'Type de variable
incorrect'. Processus stoppé, etc......".
enlever le zéro terminal des variables de type chaîne ?
juste une suggestion, parce le C et moi, ça fait un moment qu'on ne s'est
pas fréquenté ...
--
* remove '.don't.spam' and '.invalid' from my eMail address if you want to
write me *
* enlevez '.don't.spam' et '.invalid' de mon adresse eMail si vous voulez
m'écrire *
Je tente avec C++ builder 6 de transférer le résultat d'une requete quelconque dans une feuille de calcul Excel (j'ai déjà réalisé ça avec Delphi 6 sans problème). Lorsque j'envoie des valeurs "numériques", le transfert se passe sans problème par contre dés qu'il s'agit de transferer du texte, j'obtient le message suivant : "Le projet xxxxxxx a provoqué une classe d'exception EOleSysError avec le message 'Type de variable incorrect'. Processus stoppé, etc......".
enlever le zéro terminal des variables de type chaîne ? juste une suggestion, parce le C et moi, ça fait un moment qu'on ne s'est pas fréquenté ...
-- * remove '.don't.spam' and '.invalid' from my eMail address if you want to write me * * enlevez '.don't.spam' et '.invalid' de mon adresse eMail si vous voulez m'écrire *
Bidule
J'ai résolu le problème. COM ne supporte pas les AnsiString, Il faut passer les paramètres en WideString.
Merci quand même.
"Patrick D" <patrickr.dubois.don' a écrit dans le message de news:
On Wed, 26 Nov 2003 21:37:22 +0100, Bidule wrote:
> Salut, > > Je tente avec C++ builder 6 de transférer le résultat d'une requete > quelconque dans une feuille de calcul Excel (j'ai déjà réalisé ça avec > Delphi 6 sans problème). Lorsque j'envoie des valeurs "numériques", le > transfert se passe sans problème par contre dés qu'il s'agit de > transferer > du texte, j'obtient le message suivant : "Le projet xxxxxxx a provoqué > une > classe d'exception EOleSysError avec le message 'Type de variable > incorrect'. Processus stoppé, etc......". > > void __fastcall TFormReq::ToolButton4Click(TObject *Sender) > { > Variant Excel = Variant::CreateObject("Excel.Application"); > Excel.OlePropertySet("Visible", true); > Variant WorkBooks = Excel.OlePropertyGet("WorkBooks"); > Variant WorkBook = WorkBooks.OleFunction("Add"); > Variant WorkSheet = WorkBook.OlePropertyGet("ActiveSheet"); > > Query->First(); > int Ligne = 1; > > Variant Cell, Valeur; > while (!(Query->Eof)) > { > for (int Colonne = 0; Colonne < Query->FieldCount; Colonne++) > { > Cell = WorkSheet.OlePropertyGet("Cells", Ligne, Colonne+1); > Valeur = Query->Fields->Fields[Colonne]->AsVariant; > Cell.OlePropertySet("Value", Valeur); > } > Ligne++; > Query->Next(); > } > > Excel = Unassigned; > } > > L'un de vous peut il m'aider? > > Merci d'avance. > > >
enlever le zéro terminal des variables de type chaîne ? juste une suggestion, parce le C et moi, ça fait un moment qu'on ne s'est pas fréquenté ...
-- * remove '.don't.spam' and '.invalid' from my eMail address if you want to write me * * enlevez '.don't.spam' et '.invalid' de mon adresse eMail si vous voulez m'écrire *
J'ai résolu le problème.
COM ne supporte pas les AnsiString, Il faut passer les paramètres en
WideString.
Merci quand même.
"Patrick D" <patrickr.dubois.don't.spam@free.fr> a écrit dans le message de
news: opry990he9ax1z64@news.free.fr...
On Wed, 26 Nov 2003 21:37:22 +0100, Bidule <lomduparc@club-internet.fr>
wrote:
> Salut,
>
> Je tente avec C++ builder 6 de transférer le résultat d'une requete
> quelconque dans une feuille de calcul Excel (j'ai déjà réalisé ça avec
> Delphi 6 sans problème). Lorsque j'envoie des valeurs "numériques", le
> transfert se passe sans problème par contre dés qu'il s'agit de
> transferer
> du texte, j'obtient le message suivant : "Le projet xxxxxxx a provoqué
> une
> classe d'exception EOleSysError avec le message 'Type de variable
> incorrect'. Processus stoppé, etc......".
>
> void __fastcall TFormReq::ToolButton4Click(TObject *Sender)
> {
> Variant Excel = Variant::CreateObject("Excel.Application");
> Excel.OlePropertySet("Visible", true);
> Variant WorkBooks = Excel.OlePropertyGet("WorkBooks");
> Variant WorkBook = WorkBooks.OleFunction("Add");
> Variant WorkSheet = WorkBook.OlePropertyGet("ActiveSheet");
>
> Query->First();
> int Ligne = 1;
>
> Variant Cell, Valeur;
> while (!(Query->Eof))
> {
> for (int Colonne = 0; Colonne < Query->FieldCount; Colonne++)
> {
> Cell = WorkSheet.OlePropertyGet("Cells", Ligne, Colonne+1);
> Valeur = Query->Fields->Fields[Colonne]->AsVariant;
> Cell.OlePropertySet("Value", Valeur);
> }
> Ligne++;
> Query->Next();
> }
>
> Excel = Unassigned;
> }
>
> L'un de vous peut il m'aider?
>
> Merci d'avance.
>
>
>
enlever le zéro terminal des variables de type chaîne ?
juste une suggestion, parce le C et moi, ça fait un moment qu'on ne s'est
pas fréquenté ...
--
* remove '.don't.spam' and '.invalid' from my eMail address if you want to
write me *
* enlevez '.don't.spam' et '.invalid' de mon adresse eMail si vous voulez
m'écrire *
J'ai résolu le problème. COM ne supporte pas les AnsiString, Il faut passer les paramètres en WideString.
Merci quand même.
"Patrick D" <patrickr.dubois.don' a écrit dans le message de news:
On Wed, 26 Nov 2003 21:37:22 +0100, Bidule wrote:
> Salut, > > Je tente avec C++ builder 6 de transférer le résultat d'une requete > quelconque dans une feuille de calcul Excel (j'ai déjà réalisé ça avec > Delphi 6 sans problème). Lorsque j'envoie des valeurs "numériques", le > transfert se passe sans problème par contre dés qu'il s'agit de > transferer > du texte, j'obtient le message suivant : "Le projet xxxxxxx a provoqué > une > classe d'exception EOleSysError avec le message 'Type de variable > incorrect'. Processus stoppé, etc......". > > void __fastcall TFormReq::ToolButton4Click(TObject *Sender) > { > Variant Excel = Variant::CreateObject("Excel.Application"); > Excel.OlePropertySet("Visible", true); > Variant WorkBooks = Excel.OlePropertyGet("WorkBooks"); > Variant WorkBook = WorkBooks.OleFunction("Add"); > Variant WorkSheet = WorkBook.OlePropertyGet("ActiveSheet"); > > Query->First(); > int Ligne = 1; > > Variant Cell, Valeur; > while (!(Query->Eof)) > { > for (int Colonne = 0; Colonne < Query->FieldCount; Colonne++) > { > Cell = WorkSheet.OlePropertyGet("Cells", Ligne, Colonne+1); > Valeur = Query->Fields->Fields[Colonne]->AsVariant; > Cell.OlePropertySet("Value", Valeur); > } > Ligne++; > Query->Next(); > } > > Excel = Unassigned; > } > > L'un de vous peut il m'aider? > > Merci d'avance. > > >
enlever le zéro terminal des variables de type chaîne ? juste une suggestion, parce le C et moi, ça fait un moment qu'on ne s'est pas fréquenté ...
-- * remove '.don't.spam' and '.invalid' from my eMail address if you want to write me * * enlevez '.don't.spam' et '.invalid' de mon adresse eMail si vous voulez m'écrire *