Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > [ Ερωτήματα ] Ερώτημα για concatenate τιμών

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #11  
Παλιά 21-06-14, 21:49
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα

Δημήτρη, αφού κοίταξα τα σχετικά αρχεία θα πρότεινα:

1) Το ερώτημα 00_01_qryItemsForEANS να διαμορφωθεί ως εξής:
Κώδικας:
SELECT Val(Left([Item Nr],7)) AS ArtikelNr, Val(Right([Item Nr],4)) AS KolliInhalt, ITEMS.[Item Nr], ITEMS.DescrGR, ITEMS.listdescr
FROM ITEMS
WHERE (((ITEMS.listdescr) Not Like "Ausgelistet EM*"));
Χρησιμοποιεί απλούστερους τύπους και βάζοντας εδώ τα κριτήρια επιστρέφει λιγότερες εγγραφές.

2) Τα ερωτήματα 00_02_qryEANSForItems και 00_03_qryEANS δε χρειάζονται.

3) το ερώτημα 00_04_qryEANS να αλλάξει στο:

Κώδικας:
SELECT DISTINCT [00_01_qryItemsForEANS].ArtikelNr, EANS.EANCODE, EANS.EANCODEBESCHR
FROM EANS INNER JOIN 00_01_qryItemsForEANS ON EANS.ARTIKELNR = [00_01_qryItemsForEANS].[Item Nr]
ORDER BY [00_01_qryItemsForEANS].ArtikelNr, EANS.EANCODE;
Με τα παραπάνω ελπίζω να βελτιωθεί η ταχύτητα εκτέλεσης του τελικού ερωτήματος.

Σχετικά με τη μπάρα προόδου θα πρότεινα να την καταργήσεις.

Κάθε φορά που ενημερώνεται καταναλώνει χρόνο.

Εξάλλου υπάρχουν και περιπτώσεις που είναι δύσκολο να ενημερώσουμε τη μπάρα (πχ όταν γίνεται η εισαγωγή των δεδομένων, όταν ξαναγράφονται τα στοιχεία)

Θα μπορούσες να γράψεις σε κάποιο κελί «ότι γίνονται υπολογισμοί» και όταν ολοκληρωθούν να γράψεις ότι ολοκληρώθηκαν ή να το σβήσεις και να εμφανίσεις μήνυμα.

Ο χρόνος μπορεί να υπολογιστεί με τη συνάρτηση Timer, που δείχνει σε δευτερόλεπτα το χρόνο που πέρασε από την αρχή της μέρας ( πχ Dim x as Single -> x=Timer -> MsgBox " Ολοκληρώθηκε σε " & RounD(Timer-x, 2) & " δευτερόλεπτα").

Τα κολλήματα συμβαίνουν και σε μένα.

Φαίνεται ότι όταν αργεί να ολοκληρωθεί η εκτέλεση του κώδικα το σύστημα πιστεύει ότι το πρόγραμμα δεν ανταποκρίνεται κα βγάζει σχετικό μήνυμα.

Ένας ακόμα λόγος για την κατάργηση της μπάρας.

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #12  
Παλιά 22-06-14, 11:40
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλησπέρα Δημήτρη

1) Όπως διαπίστωσα το ύψος των κελιών του Excel δεν μπορεί να υπερβεί τα 409 Points.

Μπορούν να παρουσιαστούν περιπτώσεις που να μη φαίνονται όλα τα περιεχόμενα σε ένα κελί.

2) Ο περισσότερος χρόνος (και το κόλλημα) οφείλεται στη μορφοποίηση.

Αυτό φαίνεται στο αρχείο UpdateEANS2.xlsm, που περιέχεται στο φάκελο που δημιουργείται όταν αποσυμπιεστεί το συνημμένο αρχείο.

Η αποσυμπίεση πρέπει να γίνει στο φάκελο c:\.

Φιλικά/Γιώργος
Συνημμένα Αρχεία
Τύπος Αρχείου: zip Datasource.zip (4,58 MB, 13 εμφανίσεις)
Απάντηση με παράθεση
  #13  
Παλιά 22-06-14, 20:19
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 24-03-2012
Περιοχή: Θεσσαλονίκη
Μηνύματα: 70
Προεπιλογή

Καλησπέρα Γιώργο.

Πραγματικά μεγάλη βελτίωση στο χρόνο.
Θα το υιοθετήσω έτσι όπως ακριβώς το έχεις τροποποιήσει, εννοώ για να βλέπει και ο χρήστης ότι κάτι γίνεται, να βλέπει την ενημέρωση σχετικά με την ενέργεια που εκτελείται και εγκαταλείπω την σκέψη περί μπάρας προόδου.
Θα το δοκιμάσω αύριο και στη δουλειά με τα εκεί μηχανήματα και δεδομένου ότι όλα τρέχουν μέσω server για να δω εάν θα επιρεάσει καθόλου το χρόνο εκτέλεσης.
Τέλος αυτό που μένει να πειραματιστώ είναι εάν το τελικό αποτέλεσμα δηλαδή το φύλλο “UsedData” μπορεί να βρίσκεται σε ένα μόνο αρχείο στο οποίο θα πάνε να κοιτάνε όλα τα υπόλοιπα έντυπα που δημιουργούνται ή εάν το κάθε ένα από αυτά πρέπει να «κουβαλάει» τον κώδικα και να δημιουργεί / ανανεώνει εντός του αρχείου του.
Αυτό το λέω επειδή δοκίμασα να διαβάζω το φύλλο σαν εξωτερικά δεδομένα, αλλά διαπίστωσα ότι κόβει στους 255 χαρακτήρες και έτσι ανατρέπεται το σκεπτικό μου, ότι το τελικό αποτέλεσμα θα βρίσκεται σε ένα σημείο στο οποίο θα πάνε να «διαβάζουν» τα υπόλοιπα διάσπαρτα αρχεία.
Σε ευχαριστώ για το χρόνο σου και τη βοήθεια.
Τα λέμε.

Φιλικά
Δημήτρης
Απάντηση με παράθεση
  #14  
Παλιά 23-06-14, 18:38
Όνομα: Δημήτρης
Έκδοση λογισμικού Office: Ms-Office 2013
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 24-03-2012
Περιοχή: Θεσσαλονίκη
Μηνύματα: 70
Προεπιλογή

Πληροφοριακά ο χρόνος που χρειάζεται είναι ο ίδιος ακόμα και μέσα από το δίκτυο.
Αυτό που σκέφτομαι είναι να τοποθετήσω αυτό το αρχείο σε κοινό φάκελο και σε κάθε έντυπο (μέσα στο πρώτυπο πάντα) που χρειάζεται αυτή την πληροφορία να δίνω τη δυνατότητα δημιουργίας ενός κλώνου (με open, copy, close) του φύλλου "UsedData". Το δοκίμασα και είναι μία ικανοποιητική εναλλακτική αντί της λήψης ως εξωτερικά δεδομένα.
Και πάλι σε ευχαριστώ για τη βοήθεια σου. Να είσαι καλά.

Φιλικά
Δημήτρης
Απάντηση με παράθεση
  #15  
Παλιά 23-06-14, 20:03
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Δημήτρη να είσαι επίσης καλά.
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Εκθέσεις ] Concatenate devcon Access - Ερωτήσεις / Απαντήσεις 0 15-05-14 11:56
Ευρετήριο θετικών αρνητικών και μηδενικών τιμών σε ερώτημα louk14 Access - Ερωτήσεις / Απαντήσεις 4 12-11-13 11:10
[Συναρτήσεις] CONCATENATE If Left Or devcon Excel - Ερωτήσεις / Απαντήσεις 17 24-05-12 05:45
[VBA] If, move and concatenate devcon Excel - Ερωτήσεις / Απαντήσεις 4 05-07-11 05:29


Η ώρα είναι 16:02.