|
**
Exemple : SQL avec Excel and endUser4gl
**
*****************************************************************************************
**
Cet exemple permet de fusionner plusieurs fichiers Excel
en 1 seul
**
+
**
crée un fichier Excel avec un critère
: regrouper tous les DUPONT trouvés dans 1 seul
fichier
**
+ envoi un mail du fichier DUPONT
**
**
This example makes it possible to only amalgamate several
Excel files into 1
**
+ creates an Excel file with a criterion: to gather
all DUPONT found in 1 only file
**
Send Mail Dupont file
#Include
"c:\EndUser4gl\4gl\hlp\IncludeSysEU\includesyseu.h"
char
: file1:255 := "C:\EndUser4gl\Excel\Appli3Fusion\Input1.xls"
;
char
: file2:255 := "C:\EndUser4gl\Excel\Appli3Fusion\Input2.xls"
;
char
: file3:255 := "C:\EndUser4gl\Excel\Appli3Fusion\Input3.xls"
;
INTEGER
: Msgsql,X,Messagsql,i;
CHAR
: Table1:255 := "C:\EndUser4gl\Excel\Appli3Fusion\OutputFusion.xls"
;
char
: Filewrite:255 := "C:\EndUser4gl\Excel\Appli3Fusion\OutPutDupont.xls"
;
STRUCT
: Ref
{
CHAR
fa:10, s1:2 :="\\t",** ou appuyer sur la touche
TAB
fb:
15 , s2:2 :="\\t",
fc:12
, s3:2 :="\\t",
fd:10,
s4:2 :="\\t",
fe
:20 , s5:2 :="\\t",
s10:2 :="\\n" ; ** ou appuyer
sur la touche return (entrée)
}
Tableexist(Table1)
returning (x) ;
DISPlay
"....." ; SetColorText(Hwdisplay:black,yellow)
;
display
"Fusion : Excel";
/*
2 return codes */
**
x = 0 : Ok , x = 1 Not ok */
if
(x void) then
Tabledelete
(Table1) ;
Display
" TableDelete Ok " ,Table1 Column 60;
ELSE
Display
"Table Delete Not find";
END_If
;
SetFileAttribute(Filewrite:FILE_ATTRIBUTE_NORMAL);
Fileopen(1,Filewrite,Write)
Returning (X) ;
SetColorText(Hwdisplay:red,blue)
;
Display
" Cet exemple permet de fusionner plusieurs fichiers
Excel en 1 seul";
Display
" + ";
Display
"crée un fichier Excel avec un critère
: regrouper tous les DUPONT trouvés dans 1 seul
fichier";
Display
"envoi un mail du fichier DUPONT";
skip_line
3;
SetColorText(Hwdisplay:green,black
) ;
Display
"This example makes it possible to only amalgamate
several Excel files into 1";
Display
" + ";
Display
"creates an Excel file with a criterion: to gather
all DUPONT found in 1 only file ";
Display
"Send a mail Dupont file";
**
****************************************************************************************
i:=0;
SetVerSQL{Xls}("Excel
97/2000");
SetVerDriverSQL{Xls}("790");
display"1
file :",file1 ;
setEnvDatabaseSQL{Xls}(file1);
ExecuteSQL{Xls}("
SELECT [Feuil1$].NOM as 'NAME1' ,[Feuil1$].Prenom as
'Prenom/surname' ,
[Feuil1$].VILLE
as 'Ville/town' ,[Feuil1$].PAYS as 'Pays/Contry'
into C:\EndUser4gl\Excel\Appli3Fusion\OutputFusion.Input1
from [Feuil1$] ")
returning(x);
ExecuteSQLFetch{Xls}("
SELECT * From [Feuil1$] WHERE [Feuil1$].NOM LIKE
'%DUPONT%' ")
ForEachRowFind
:
ref.fa
:= GetDataColumn: 8,CHAR;
ref.fb := GetDataColumn: 9,CHAR;
Ref.fc := GetDataColumn: 10,CHAR;
Ref.fd := GetDataColumn: 11,CHAR;
Ref.fe := "File INPut1";
i++;
Fileadd(1,Ref) Returning (X);
END_ForEachRow;
DestroyEnvSql();
**
****************************************************************************************
SetVerSQL{Xls}("Excel
97/2000");
SetVerDriverSQL{Xls}("790");
display"2
file :",file2 ;
setEnvDatabaseSQL{Xls}(file2);
ExecuteSQL{Xls}("
SELECT [Feuil1$].NOM as 'NAME1' ,[Feuil1$].Prenom as
'Prenom/surname' ,
[Feuil1$].VILLE
as 'Ville/town' ,[Feuil1$].PAYS as 'Pays/Contry'
into C:\EndUser4gl\Excel\Appli3Fusion\OutputFusion.Input2
from [Feuil1$] ")
returning(x);
ExecuteSQLFetch{Xls}("
SELECT * From [Feuil1$] WHERE [Feuil1$].NOM LIKE
'%DUPONT%' ")
ForEachRowFind
:
ref.fa
:= GetDataColumn: 8,CHAR;
ref.fb := GetDataColumn: 9,CHAR;
Ref.fc := GetDataColumn: 10,CHAR;
Ref.fd := GetDataColumn: 11,CHAR;
Ref.fe := "File INPut2";
i++;
Fileadd(1,Ref) Returning (X);
END_ForEachRow;
DestroyEnvSql();
**
****************************************************************************************
SetVerSQL{Xls}("Excel
97/2000");
SetVerDriverSQL{Xls}("790");
display"3
file :",file3 ;
setEnvDatabaseSQL{Xls}(file3);
ExecuteSQL{Xls}("
SELECT [Feuil1$].NOM as 'NAME1' ,[Feuil1$].Prenom as
'Prenom/surname' ,
[Feuil1$].VILLE
as 'Ville/town' ,[Feuil1$].PAYS as 'Pays/Contry'
into C:\EndUser4gl\Excel\Appli3Fusion\OutputFusion.Input3
from [Feuil1$] ")
returning(x);
ExecuteSQLFetch{Xls}("
SELECT * From [Feuil1$] WHERE [Feuil1$].NOM LIKE
'%DUPONT%' ")
ForEachRowFind
:
ref.fa
:= GetDataColumn: 8,CHAR;
ref.fb := GetDataColumn: 9,CHAR;
Ref.fc := GetDataColumn: 10,CHAR;
Ref.fd := GetDataColumn: 11,CHAR;
Ref.fe := "File INPut3";
i++;
Fileadd(1,Ref) Returning (X);
END_ForEachRow;
DestroyEnvSql();
Fileclose(1);
If (i >0) then
SetColorText(Hwdisplay:red,BLACK
) ;
display
"trouvé/find..DUPONT :",i ;
display
" appuyer sur une touche ENTREE..pour CONTINUER";
**
envoyer un mail pour KO
SendMailExt("bergoux@wanadoo.fr",
"bergoux@wanadoo.fr",
"bergoux@wanadoo.fr",Filewrite,
"Suivi
des DUPONT avec un automate..: Philippe.. ",
"Automate
Check DUPONT Nouveau fichier AUTOMATISE : check + Envoi
Mail
\\n
Philippe ",$DIALOGOUTLOOK:1);
enter;
end_if;
DISPLAY
"END.......... .";
Display
"appuyer sur entrée p/terminer";
enter;
MSEXCEL_Connect(table1:Visible);
MSEXCEL_Connect(Filewrite:Visible);
|