Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > Ενημέρωση Πινάκων από Πίνακα Excel

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

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 09-02-12, 13:27
Όνομα: Στέλιος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 08-07-2011
Περιοχή: Αθήνα
Μηνύματα: 81
Προεπιλογή Ενημέρωση Πινάκων από Πίνακα Excel

Αγαπητοί Φίλοι....

Στο αρχείο που ανέβασα υπάρχουν 2 αρχεια... Ενα Αρχείο Excel, και ένα Access

H ΒΔ εχει 4 πίνακες...

α. Τον Πίνακα Persons (Προσωπικα στοιχεία. PK agm)
β. Τον Πινακα Katastasi (Περιγραφη Καταστασεων. PK katastasi_code)
γ. Τον Πίνακα Days (περιεχει ενα πεδίο ΜΟΝΟ. Date)
δ. Toν Πίνακα Programmatismos (3 Πεδία. AGM, Katastasi_code, Date)

To excel ουσιαστικα ειναι ενα ΣΤΑΥΡΟΛΕΞΟ που παρουσιαζει την κατασταση καθε ανθρωπου, καθε ημερα.

Αυτο που θα ηθελα ειναι το εξης....

Αλλαζωντας την κατασταση ενος ανθρωπου σε μια ημερομηνια στο excel, να ενημερωνεται ο πινακας programmatismos της access. Οχι αυτοματα φυσικά. Ας γινεται με ενα command button το οποιο θα εκτελει κάποια σειρά εντολών.

Βλεποντας και τα αρχεια, ισως να καταλαβετε περισσοτερα στο τι εννοώ.

Ευχαριστω εκ τον προτερων
Συνημμένα Αρχεία
Τύπος Αρχείου: zip TEST.zip (165,2 KB, 37 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 09-02-12, 18:13
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλησπέρα

Στέλιο,
1. Ανέβασε το δείγμα της βάση σου σε *.mdb , ώστε περισσότερα μέλη να μπορούν να δουν και να βοηθήσουν. Ελάχιστοι έχουν Access 2010!
2. Τα περιεχόμενα στο αρχείο *.xls βρίσκονται σε κάποιο συγκεκριμένο φύλλο και καταλαμβάνουν -καθε φορά- συγκεκριμένη περιοχή ;

Περιμένουμε ...

Με εκτίμηση
ΝΙκος Δ.
Απάντηση με παράθεση
  #3  
Παλιά 09-02-12, 18:25
Όνομα: Στέλιος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 08-07-2011
Περιοχή: Αθήνα
Μηνύματα: 81
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από Meteora Εμφάνιση μηνυμάτων
Καλησπέρα

Στέλιο,
1. Ανέβασε το δείγμα της βάση σου σε *.mdb , ώστε περισσότερα μέλη να μπορούν να δουν και να βοηθήσουν. Ελάχιστοι έχουν Access 2010!
2. Τα περιεχόμενα στο αρχείο *.xls βρίσκονται σε κάποιο συγκεκριμένο φύλλο και καταλαμβάνουν -καθε φορά- συγκεκριμένη περιοχή ;

Περιμένουμε ...

Με εκτίμηση
ΝΙκος Δ.
Αγαπητε Νικο...

Μετετρεψα τα αρχεια οπως με προετρεψες, κ τα την ανεβασα.

Οσον αφορα την αλλη ερωτηση, ας πουμε, οτι θα ειναι παντα το ΦΥΛΛΟ 1, θα ειναι 366 οι στηλες (θα αφορα ενα χρονο δηλ) και οι γραμμες 60...

Υποθετω πως αυτο, θα μπορει να αλλαξει, αν προστεθουν και αλλοι ανθρωποι στον πινακα persons.

Εννοειτε οτι θα τους προσθεσω και στον πινακα του excel

Ευχαριστω για την ανταποκριση
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb Database1.mdb (352,0 KB, 57 εμφανίσεις)
Τύπος Αρχείου: xls Βιβλίο1.xls (26,5 KB, 59 εμφανίσεις)

Τελευταία επεξεργασία από το χρήστη stelianta : 09-02-12 στις 19:27. Αιτία: Eπισύναψη Αρχείων
Απάντηση με παράθεση
  #4  
Παλιά 09-02-12, 22:38
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλησπέρα Στέλιο

Ρίξε μια ματιά εδώ. Παρουσιάζεται η βασική λογική του περάσματος δεδομένων από Excel σε πίνακα Access. Αν δεν μπορέσεις να βρείς άκρη ...Σαββατοκύριακο έχουμε μπροστά μας!
Τα ξαναλέμε αν χρειστεί.

Με εκτίμηση
Νίκος Δ.
Απάντηση με παράθεση
  #5  
Παλιά 09-02-12, 22:54
Όνομα: Στέλιος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 08-07-2011
Περιοχή: Αθήνα
Μηνύματα: 81
Προεπιλογή

Ευχαριστω πολυ Νικο..

Πραγματικα το forum με εχει κανει ΜΑΓΚΑ...

Θα το κοιταξω αυτο το οποιο μου λες και... We will Be in touch !!!

καλο Βραδυ
Απάντηση με παράθεση
  #6  
Παλιά 09-02-12, 23:01
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Δεν γνωρίζω Αγγλικά! Στην ηλικία που έπρεπε να τα μάθω κυνηγούσα κοτσύφια,,,
Απάντηση με παράθεση
  #7  
Παλιά 09-02-12, 23:21
Όνομα: Στέλιος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 08-07-2011
Περιοχή: Αθήνα
Μηνύματα: 81
Προεπιλογή

Παράθεση:
Αρχική Δημοσίευση από Meteora Εμφάνιση μηνυμάτων
Δεν γνωρίζω Αγγλικά! Στην ηλικία που έπρεπε να τα μάθω κυνηγούσα κοτσύφια,,,
Χαχαχαχα

Θα ειμαστε σε επαφη, σημαινει !!!
Απάντηση με παράθεση
  #8  
Παλιά 10-02-12, 10:31
Όνομα: Στέλιος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 08-07-2011
Περιοχή: Αθήνα
Μηνύματα: 81
Προεπιλογή

Νικο Καλημερα...

Κοιταξα το αρθρο που μου προτεινες, εχω ομως καποιες σημαντικες αποριες.

1. Για να απλοποιησω οσο μπορω την διαδικασία, ας υποθεσουμε οτι ο Πινακας που θελω να ενημερωνεται θα ειναι ΑΡΧΙΚΑ γεματος με το καρτεσιανο γινομενο (AGM * Days) και θα ορισω να εχουν σαν κατασταση μια default τιμη (ας υποθεσουμε "Π").

Αυτο θα το πραγματοποιησω με 2 εντολές SQL

INSERT INTO tbl_Programmatismos ( [day], agm )
SELECT Ref_Day.Day, tbl_Persons.agm
FROM tbl_Persons, Ref_day;

ΚΑΙ

UPDATE tbl_Programmatismos
SET tbl_Programmatismos.Katastasi = "Π";

Αντιστοιχο θα ειναι και το excel "ΣΤΑΥΡΟΛΕΞΟ" (Δηλ. Γεματο "Π")

Τωρα....

Εκτιμω οτι πρεπει να δημιουργησω μια UPDATE εντολη SQL η οποια θα αλλαζει το πεδιο Katastasi_Code στον Πίνακα Ref_Katstasi της ACCESS, ανάλογα με τις αλλαγες που εχουν γινει στο excel, ΓΙΑ ημερομηνια 1 ημερα πριν απο σήμερα και μεχρι 40 ημερες μετα.(Δεν υπαρχει λογος να κανω update συνεχως ολο τον πινακα. Οτι περασε δεν αλλαζει, ενω δεν χρειαζεται προγραμματισμος για χρονικο διαστημα > 40 ημερων)

Οποτε έχουμε

UPDATE tbl_Programmatismos p
SET katastasi = "KELI EXCEL"
WHERE "GRAMI EXCEL" = p.agm
AND "STILI EXCEL" < = p.day
AND p.day >= (date() -1)
AND p.day < (date() -40)

Εδω ειναι που χρειαζομαι και την βοηθεια σας.... Στην "GRAMMI EXCEL" και στην "STILI EXCEL"....

Ευχαριστω, και οπως πολυ σωστα έιπες έρχεται Σαββατοκυριακο !!!!!

Τελευταία επεξεργασία από το χρήστη stelianta : 10-02-12 στις 10:56. Αιτία: Διορθωση στον SQL κωδικα
Απάντηση με παράθεση
  #9  
Παλιά 10-02-12, 16:36
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα στην παρέα

Στέλιο, για τη λύση που επέλεξες (ορισμός της κατάστασης στο excel και ενημέρωση της ΒΔ) σε γενικές γραμμές βρίσκεσαι στο σωστό δρόμο.

Χρειάζεται όμως να λάβεις υπόψη σου τα εξής:

1. Είναι καλύτερα αρχικά στη ΒΔ να μη δώσεις τιμή στο πεδίο «Katastasi» του πίνακα «tbl_Programmatismos».

Δε χρειάζεται, αφού το πεδίο αυτό θα συμπληρωθεί από τα στοιχεία του excel.

Πάντως, αν αποφασίσεις να το συμπληρώσεις, δε χρειάζεται το ερώτημα ενημέρωσης, αρκεί να αλλάξεις το ερώτημα προσάρτησης στο:

INSERT INTO tbl_Programmatismos ( [day], agm,Katastasi )
SELECT Ref_Day.Day, tbl_Persons.agm, “Π”
FROM tbl_Persons, Ref_day

Θα έλεγα ότι δε χρειάζεται να προσθέσεις καμία εγγραφή στον πίνακα «tbl_Programmatismos». Αυτός θα συμπληρώνεται (Insert Into) και θα ενημερώνεται (Upadate) από το excel.

2. Γράφεις «Εκτιμω οτι πρεπει να δημιουργησω μια UPDATE εντολη SQL η οποια θα αλλαζει το πεδιο Katastasi_Code στον Πίνακα Ref_Katstasi της ACCESS».

Το σωστό είναι ότι θα αλλάζουν οι τιμές του πεδίου «Katastasi» του πίνακα «tbl_Programmatismos», όπως φαίνεται και στο σχετικό ερώτημά σου.

Το ερώτημα ενημέρωσης του πίνακα «tbl_Programmatismos»,δε λειτουργεί (δεν συμφωνεί με τη σύνταξη της SQL).

Απλά εκφράζει τη λογική που θα ακολουθεί η ενημέρωση.

Φυσικά θα πρέπει να αλλάξει στο:

UPDATE tbl_Programmatismos p
SET katastasi = "KELI EXCEL"
WHERE "GRAMI EXCEL" = p.agm
AND "STILI EXCEL" = p.day
AND "STILI EXCEL" >= (date() -1)
AND "STILI EXCEL" < (date() +40)

Πιστεύω ότι θα διευκόλυνες όποιον θα προσπαθούσε να γράψει τον κώδικα που απαιτείται για τη συμπλήρωση και ενημέρωση του πίνακα «tbl_Programmatismos», αν ανεβάσεις στο φόρουμ τα αρχεία του excel και της access συμπληρωμένα και κατάλληλα εναρμονισμένα.

Με τον όρο εναρμονισμένα εννοώ:

1. Τίτλος των γραμμών στο excel θα είναι ο κωδικός «agm».

2. Τίτλος των στηλών οι διάφορες ημερομηνίες σε μορφή d/m/yyyy.

3. Στη διασταύρωση θα μπαίνει η κατάσταση ή ο κωδικός της (αριθμός που έχει στον πίνακα «Katastasi», ανάλογα με το τι αποθηκεύεται στον πίνακα «tbl_Programmatismos».

Εκτός από τη μεικτή λύση, που φαίνεται ότι επέλεξες, υπάρχουν και οι λύσεις όλα να γίνονται στο excel ή την access.

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

Φιλικά/Γιώργος
Απάντηση με παράθεση
  #10  
Παλιά 10-02-12, 17:53
Όνομα: Στέλιος
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 08-07-2011
Περιοχή: Αθήνα
Μηνύματα: 81
Προεπιλογή

Γιωργο καλησπερα....

Φυσικα και προτιμω, ολη η δουλεια ν γινεται μεσα στην access. Ομως ειχα την εντυπωση οτι κατι τετοιο δεν ειναι εφικτο. Αλλωστε το ειχαμε συζητησει και εδω :
http://www.ms-office.gr/forum/access...merominia.html

Φυσικα αποκλειω την λυση του excel ΜΟΝΟ, διοτι αυτο το κομματι ειναι ενα μερος μιας αρκετα μεγαλης κ πολυπλοκης εφαρμογης.
Απλα την χτιζω κομματι κομματι και παντα με την πολυτιμη βοηθεια των μελων του φορουμ, οι οποιοι οπως ανεφερα και 2-3 ποστ παραπανω με χουν κανει "Μαγκα".

Θα ηθελα λοιπον ν μαθω τον τροπο με τον οποιο μπορω ν το κανω μεσα στην access απ ευθειας.

Στο post Νο 3 τα 2 αρχεια που εχω ανεβασει, νομιζω πως ειναι εναρμονισμενα οπως μου ζητησες. Τηρουνται οι κανονες , παρολο που τα στοιχεια ειναι εικονικα. Εκτος και αν δεν καταλαβα καλα εγω. Χρειαζεται ν βαλω πραγματικα στοιχεια ?

Υστερολογιο. Προφανως ηταν λαθος ο SQL "ψευοκώδικας" που χρησιμοποιησα. Ευχαριστω για την διορθωση
Απάντηση με παράθεση
Απάντηση στο θέμα


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Φόρμες ] Ενημέρωση πινάκων από Φόρμα pkelgr Access - Ερωτήσεις / Απαντήσεις 4 15-02-16 15:28
[ Φόρμες ] Ενημέρωση πινάκων από φόρμα pixelman Access - Ερωτήσεις / Απαντήσεις 4 03-11-15 11:27
Ενημέρωση πινάκων rmaria Access - Ερωτήσεις / Απαντήσεις 0 01-02-14 02:04
Ενημέρωση πινάκων από φόρμα pkelgr Access - Ερωτήσεις / Απαντήσεις 1 12-01-14 15:39
ενημερωση πινακων απο σκανερ sakis Access - Ερωτήσεις / Απαντήσεις 2 02-02-10 21:08


Η ώρα είναι 07:59.