Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Λήψη εξωτερικών δεδομένων (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/1138-lipsi-eksoterikon-dedomenon.html)

Xristos 15-05-11 08:50

Λήψη εξωτερικών δεδομένων
 
Καλημέρα σας. Κυριακή σήμερα και εγώ το μυαλό μου στην access.
Λοιπόν έχω ένα πρόβλημα.
Θέλω στην access να φτιάξω ένα πίνακα ο οποίος θα παίρνει εξωτερικά δεδομένα από excel, και επιλέγω την 3η περίπτωση (σύνδεση με το αρχείο προέλευσης δεδομένων μέσω της δημιουργίας ένος συνδεδεμένου πίνακα). Το πρόβλημά μου είναι ότι σε μια στήλη (που έχω πολλά ονόματα) η δημιουργία του πίνακα από την Access το βλέπει ως κείμενο (μέχρι 255 χαρακτήρες), αλλά εγώ λόγω του όγκου θέλω Υπόμνημα. Πάνω στις ιδιότητες και δεν με αφήνει να το διορθώσω. Υπάρχει τρόπος να γίνει αυτό ή τι άλλο μου προτείνετε;;;. Σας ευχαριστώ και καλό Σαββατοκύριακο.

Tasos 15-05-11 18:23

Καλησπέρα Χρήστο!
Επειδή στο προφίλ σου αναφέρεις τις εκδόσεις 2003 και 2007, βοηθά να αναφέρεις την έκδοση στην οποία
παρουσιάζεται το πρόβλημα για να προσανατολιστούν και οι οι υπόλοιποι που σε διαβάζουν.
Υπάρχουν σημαντικές διαφορές ανάμεσα σε αυτές τις δύο εκδόσεις.

Σε εκδόσεις < 2007, όταν συνδέομε πίνακα της Access με υπολογιστικό φύλλο της Excel που τα
κελιά κάποιας στήλης περιέχουν πάνω από 255 χαρακτήρες, η Access αναγνωρίζει το μέγεθος
και ορίζει τον τύπο δεδομένων του αντίστοιχου πεδίου στον νέο πίνακα σε υπόμνημα.

Παράλληλα όμως μορφοποιεί το πεδίο αυτό σε κείμενο (@) δηλαδή 255 χαρακτήρες με αποτέλεσμα να εισάγει από την Excel μόνο τους πρώτους 255!!

Τι μπορείς να κάνεις:

1) Να εισάγεις το υπολογιστικό φύλλο.
Έτσι, κατά την εισαγωγή του θα μπορέσεις να ορίσεις τον τύπο δεδομένων των
πεδίων
(αυτών που αντιστοιχούν στις στήλες υπολογιστικού φύλλου που έχουν πάνω από 255 χαρακτήρες/κελί) σε υπόμνημα.

2) Αν είναι εφικτό, συνέχισε την εργασία σου σε Access 2007.
Σε αυτή την έκδοση όπως και στην 2010 δεν θα αντιμετωπίσεις πρόβλημα.

Φιλικά

Τάσος

Xristos 16-05-11 15:03

Ευχαριστώ για την απάντηση. Απλά το πρόβλημά μου είναι ότι στο σπίτι έχω offices 2007 και στην δουλειά 2003. ¨Ετσι όταν φτιάχνω κάτι στο σπίτι στο 2007 στην δουλειά δεν το διαβάζει. ΤΙ να κάνω;;;

Tasos 16-05-11 15:33

Καλησπέρα Χρήστο!
Δεν μπορείς παρά να εισάγεις το υπολογιστικό φύλλο είτε εκτελώντας μακροεντολή που θα δημιουργήσεις, είτε χρησιμοποιώντας κώδικα VBA.

Ενδεικτικά:
DoCmd.TransferSpreadsheet acImport, 8, "Sheet1", "C:\Book1.xls", True, ""

Κάθε φορά που θα χρειαστεί να ανανεωθούν τα δεδομένα, θα πρέπει να εισάγεις εκ νέου το υπολογιστικό φύλλο με ένα τρόπο από τους παραπάνω.

Τάσος

Xristos 16-05-11 19:49

Τάσο σε ευχαριστώ και εσένα αλλά και όλους που βοηθάνε εμάς που δεν γνωρίζουμε και πολλά. Ένας από αυτούς είμαι και εγώ. Μου γράφεις για VBA αλλά δεν γνωρίζω καλά-καλά την ACCESS θα γνωρίζω την VBA; Σε ένα excel που μου την έγραψες (ανάπτυξη στήλης) την χρησιμοποίησα και δουλεύει και ΣΕ ΕΥΧΑΡΙΣΤΩ, αλλά όταν μου γράφεις έτσι απλά VBA δεν καταλαβαίνω τίποτα. Θα ήταν καλό να σου στείλω συνημμένο ή υπάρχει άλλη λύση;;;; Περιμένω απάντησή σου. Και πάλι σε ευχαριστώ!!!!

Tasos 16-05-11 21:21

1 Συνημμένο(α)
Χρήστο κάνε την εισαγωγή με χρήση μακροεντολής.

Περισσότερες λεπτομέρειες θα βρεις στην πολύ καλή βοήθεια της ίδιας της Εφαρμογής
αλλά και στους παρακάτω συνδέσμους:

Πληροφορίες σχετικά με τις μακροεντολές και τις ομάδες μακροεντολών - Access - Microsoft Office


Δημιουργία μακροεντολής - Access - Microsoft Office


Η εντολή που θα σου εισάγει το υπολογιστικό φύλλο είναι αυτή που φαίνεται στην εικόνα παρακάτω.

Συνημμένο Αρχείο 1577

Καλή συνέχεια!

Τάσος


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

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2