Εμφάνιση ενός μόνο μηνύματος
  #9  
Παλιά 10-02-12, 15:36
kapetang Ο χρήστης kapetang δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού 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.

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

Φιλικά/Γιώργος
Απάντηση με παράθεση