Excel και Import Script

969 προβολές
Παράβλεψη και μετάβαση στο πρώτο μη αναγνωσμένο μήνυμα

kko

μη αναγνωσμένη,
19 Μαρ 2013, 6:06:34 π.μ.19/3/13
ως so...@googlegroups.com
Καλημέρα,
 έχει κάνει κανείς excel import σε πίνακα sql από import script ;

Στο Black Book λέει στην σελίδα 214,
 "...
 2. Εισαγωγή Excel αρχείου από επιλεγμένο αρχείο παραμέτρων (vExcelFile) σε sql πίνακα με όνομα
CCCIMPORTEXCEL(Κλήση της συνάρτησης Evaluate από τη Library SysRequest).
x = CallPublished('SysRequest.Evaluate', VarArray(ImportModule('Imp'), 
'ExcelImport('+#39+:ImpTable.vExcelFile+#39+','+#39+'CCCIMPORTEXCEL'+#39+',1,2)', 2));
..."

Οπότε έφτιαξα κι εγώ ένα import script όπως από κάτω... αλλά τρώω access violation, το χει δοκιμάσει κάποιος και δουλεύει;

{
 if (:ImpTable.vImpOK=1) 
{
      x = SafeExecSql('SoftOne', 'DROP TABLE [TEMPGLDT]', Null);
      x = CallPublished('SysRequest.Evaluate', VarArray(ImportModule('Imp'),'ExcelImport('+#39+:ImpTable.vEXLFile+#39+','+#39+'TEMPGLDT'+#39+',1,2)', 2));
             UserResp=SendResponse('Ολοκλήρωση Εργασίας...  !', 'RESULTS.LABELTEXT');
}
else
{
UserResp=SendResponse('...πάτα ένα οκ, και ξανά...', 'RESULTS.LABELTEXT');
}
}

kko

μη αναγνωσμένη,
19 Μαρ 2013, 6:10:45 π.μ.19/3/13
ως so...@googlegroups.com

Κωνσταντίνος Βάππας

μη αναγνωσμένη,
19 Μαρ 2013, 6:11:31 π.μ.19/3/13
ως so...@googlegroups.com
Καλημέρα,
μία από τις παραμέτρους είναι ImportModule('Imp')
Υπάρχει το imp στο import script?

π.χ. Import Imp into 'SALDOC' {}

σαν να έκανες import δηλαδή σε κάποιο object.
Αν κάνεις import βάζεις το όνομά του, αν όχι βάζεις κάτι σαν το παραπάνω.


--
--
Softone Developers Network group.
To post to this group, send email to so...@googlegroups.com
---
Λάβατε αυτό το μήνυμα επειδή έχετε εγγραφεί στην ομάδα Softone Developers Network των Ομάδων Google.
 
Για να καταργήσετε την εγγραφή σας από αυτή την ομάδα και να σταματήσετε να λαμβάνετε μηνύματα ηλεκτρονικού ταχυδρομείου από αυτή, στείλτε ένα μήνυμα ηλεκτρονικού ταχυδρομείου στη διεύθυνση soft1+un...@googlegroups.com.
Για περισσότερες επιλογές, επισκεφτείτε τη διεύθυνση https://groups.google.com/groups/opt_out.
 
 

KONSTANTINOS KOURENTZES

μη αναγνωσμένη,
19 Μαρ 2013, 6:14:13 π.μ.19/3/13
ως so...@googlegroups.com
δηλαδή απλά κάνω ένα Import Imp χωρίς τίποτα μέσα...;

Λάβατε αυτό το μήνυμα επειδή έχετε εγγραφεί σε ένα θέμα στην ομάδα "Softone Developers Network" στις Ομάδες Google.
Για να καταργήσετε την εγγραφή σας από αυτό το θέμα, επισκεφτείτε τη διεύθυνση https://groups.google.com/d/topic/soft1/ddfZPe_a2-o/unsubscribe?hl=el. Για να καταργήσετε την εγγραφή σας από αυτή την ομάδα και όλα τα θέματα της, στείλτε ένα μήνυμα ηλεκτρονικού ταχυδρομείου στη διεύθυνση soft1+un...@googlegroups.com.

Για περισσότερες επιλογές, επισκεφτείτε τη διεύθυνση https://groups.google.com/groups/opt_out.
 
 



--
Konstantinos Kourentzes


kko

μη αναγνωσμένη,
19 Μαρ 2013, 6:18:38 π.μ.19/3/13
ως so...@googlegroups.com
Λοιπόν έπαιξε κανονικά, ευχαριστώ!

Παραθέτω το imp που δούλεψε για μελλοντική αναφορά...

form {
[TABLES]
ImpTable=;;;;Master;3

[ImpTable]
vImpOK=2;15;1;1;0;Επιβεβαίωση μεταφοράς;$Y;;0;1
vEXLFile=1;255;1;1;0;Διαδρομή αρχείου;$Filename;;;

[PANELS]
PANEL11=0;;0;055,000,000,000,G10;;

[PANEL11]
ImpTable.vImpOK
ImpTable.vEXLFile
}

var vModule, x, vRow, vRowCancel, UserResp;

Import Imp into 'SALDOC,IMPORT:1'
{        }

Connect Xplorer SoftOne {
   connect();
     s1data = select 1 as ena from company;

    }

{
 if (:ImpTable.vImpOK=1)
    {

         x = SafeExecSql('SoftOne', 'DROP TABLE [TEMPGLDT]', Null);
         x = CallPublished('SysRequest.Evaluate', VarArray(ImportModule('Imp'),'ExcelImport('+#39+:ImpTable.vEXLFile+#39+','+#39+'TEMPGLDT'+#39+',1,2)', 2));

             UserResp=SendResponse('Ολοκλήρωση Εργασίας...!', 'RESULTS.LABELTEXT');

Κωνσταντίνος Βάππας

μη αναγνωσμένη,
19 Μαρ 2013, 6:19:24 π.μ.19/3/13
ως so...@googlegroups.com
Ναι για να το χρησιμοποιήσεις στην Evaluate.

kko

μη αναγνωσμένη,
19 Μαρ 2013, 6:37:33 π.μ.19/3/13
ως so...@googlegroups.com
έτσι από περιέργεια, 
στο 
       x = CallPublished('SysRequest.Evaluate', VarArray(ImportModule('Imp'),'ExcelImport('+#39+:ImpTable.vEXLFile+#39+','+#39+'TEMPGLDT'+#39+',1,2)', 2));
το 1 σημαίνει αν έχει γραμμή τίτλων ή όχι για την ονομασία των πεδίων του πίνακα,
το 2 δεν βλέπω να κάνει διαφορά...

Κωνσταντίνος Βάππας

μη αναγνωσμένη,
19 Μαρ 2013, 7:02:18 π.μ.19/3/13
ως so...@googlegroups.com
Αν αντί για 2 δώσεις τιμή 1 δε θα διαγράψει τον πίνακα αν υπάρχει.



--

kko

μη αναγνωσμένη,
19 Μαρ 2013, 12:42:41 μ.μ.19/3/13
ως so...@googlegroups.com
Το βρίσκω καταπληκτικό,
Ευχαριστώ πολύ,
Απάντηση σε όλους
Απάντηση στον συντάκτη
Προώθηση
0 νέα μηνύματα