Εμφάνιση ενός μόνο μηνύματος
  #8  
Παλιά 29-08-14, 16:21
γιώργοςΚ Ο χρήστης γιώργοςΚ δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2007, Ms-Office 2013
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 02-04-2013
Περιοχή: Κύπρος
Μηνύματα: 738
Προεπιλογή

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

Αναφορικά με την χρήση που σκοπεύω να κάνω την συγκεκριμένη βάση πιστεύω ότι τελικά ίσως φανεί απολύτως χρήσιμη και για άλλους φίλους μας στο φόρουμ εφόσον πιστεύω ότι μπορεί να αποτελεί μια καινοτόμα λύση για σκοπούς update των αρχείων που είτε έχουν ολοκληρωθεί και είναι live σε χρήση δηλαδή απο χρήστες, είτε είναι ακόμη προς ανάπτυξη αλλά συνταυτοχρόνος είναι και live.

Εξηγώ τον σκοπό και κάθε ιδέα ευπρόσδεκτη:

1. Όπως μάλλον θα έχεις αντιληφθεί απο τα post που κάνω στο φόρουμ μας, έχω σχεδόν ολοκληρώσει μια βάση δεδομένων η οποία ήδη χρησιμοποιείται απο έναν μικρό αριθμό χρηστών. (σε διαφορετικό δίκτυο). Δηλαδή ο κάθε χρήστης έχει την ουσιαστικά την δική του βάση εγκατεστημένη στον υπολογιστή του η οποία είναι βέβαια η ίδια σε όλους. Αντιλαμβάνεσαι τότε πώς έκ πραγμάτων κάθε χρήστης έχει ήδη εισάγει τα δικά του δεδομένα στην βάση.

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

Με βάση λοιπόν τα πιο πάνω έψαχνα ένα εύκολο τρόπο έτσι ώστε πρωτίστος να μπορώ εγώ να προχωρώ σε καθημερινή βάση με τον σχεδιασμό της βάσης μου, αλλά να μπορώ εύκολα να κάνω update τις βάσεις που έχω ήδη δώσει στους χρήστες και χρησιμοποιούνται ήδη. Στο σημείο αυτό να αναφέρω ότι έχω σκεφτεί και έχω δοκιμάσει διάφορες λύσεις μεταξύ των οποίων το split database και να ενημερών το front end και άλλα συναφή αλλά εξαιτίας ότι όπως είπα γίνονται και διαμορφώσεις σε πίνακες δεν μπορεί να δουλέψει αυτό το σκεπτικό.

Έτσι λοιπόν μελετώντας το όλο θέμα για εξεύρεση κάποιας λειτουργικής λύσεις μέσω της οποίας όλοι θα μπορούμε να κάνουμε την δουλειά μας χωρίς προβλήματα αλλά να ενημερώνω κιόλας και την βάση του κάθε χρήστη ξεχωριστά με τα updates που γίνονται, κατέληξη να επεξεργαστώ και να μπώ στην διαδικασία να δοκιμάσω την εξής ιδέα:

Η ιδέα για auto updates

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

2. Ανοίγω μια νέα access και κάνω εισαγωγή μόνο των αντικειμένων που έχουν τροποποιηθεί (πχ πίνακες, φόρμες , ερωτήματα κλπ) Η διαδικασία αυτή δεν με ενοχλεί να γίνεται με τον παραδοσιακό τρόπο και όχι με κώδικα.

3. Μετονομάζω τα αντικείμενα που έχουν τροποποιηθεί, με άλλο όνομα (όχι άσχετο όμως πχ tblCustomers γίνεται tblCustomers1)

4. Στην νέα βάση στην οποία έχουν εισαχθεί τα τροποποιημένα αντικείμενα θα έχω μια φόρμα με 3 ενσωματωμένα κουμπιά. Τα Step1 , Step2 και Finish

5. Ετοιμάζω το αρχείο μου έτσι ώστε να μετονομασθεί σχετικώς, (πχ Update1) και το αποστέλνω με email στους διάφορους χρήστες ζητώντας απο αυτούς να το αποθηκεύσουν στο ίδιο path που βρίσκεται η βάση τους (η υφιστάμενη που χρησιμοποιούν)

Αναφορικά με την διαδικασία εφόσον λάβουν το email μου και αποθηκεύσουν το νέο αρχείο που τους έχει αποσταλεί

Όπως έχω αναφέρει πιο πάνω, στο νέο αρχείο εφόσον ανοίξει θα εμφανιστεί η κεντρική φόρμα η οποία περιλαμβάνει όπως είπα, 3 commands buttons.

Το Step1 : Εφόσον επιλεγεί θα πρέπει να ξεκινά η αυτόματη διαδικασία εισαγωγής αντικειμένων στην νέα βάση (πχ Update1.accdb) απο το αρχείο που ήδη υπήρχε στο path στο οποίο βρίσκεται η βάση που θα ενημερωθεί. Δηλαδή, να εισαχθούν όλα τα αντικείμενα της παλαιάς βάσης στην νέα βάση που έχει σταλεί με email στον χρήστη και η οποία έχει αποθηκευτεί στον ίδιο φάκελο - χώρο - path που βρίσκεται και η παλαιά.

Όταν ολοκληρωθεί η πιο πάνω διαδικασία θα ενσωματωθούν τελικά στην νέα βάση όλα τα αντικείμενα που υπήρχαν στην παλαιά βάση του χρήστη, και επιπλέον θα υπάρχουν και τα νέα αντικείμενα που ήδη έχω βάλει εγώ στην νέα βάση τα οποία έχουν τροποποιηθεί. Ακριβώς για αυτό τον λόγο θα πρέπει να γίνεται το rename των αρχείων αυτών έτσι ώστε κατά την διαδικασία της εισαγωγής των παλαιών αντικειμένων στην νέα βάση να μήν υπάρχει θέμα confict. Και βεβαίως μέχρι αυτό το στάδιο θέλουμε να υπάρχουν και τα παλαιά και τα νέα τροποποιημένα αντικείμενα στην νέα βάση διότι:

Step2 : Ακολούθως εφόσον ολοκληρωθεί η διαδικασία της εισαγωγής των αντικειμένων της παλαιάς βάσης στην νέα, τότε ο χρήστης θα επιλέγει το command button "Step2" το οποίο, θα εντοπίζει τα αντικείμενα που δεν έχουν τροποποιηθεί άρα θα έχουν το παλιό όνομα (πχ tblCustomers) και θα τα διαγράφει απο την βάση, αφήνωντας τελικώς τα τροποποιημένα που έχουν την νέα σχετική ονομασία (πχ tblCustomers1).

Τέλος, θα επιλέγουν το command button "Finish" το οποίο θα εντοπίει τα αντικείμενα που έχουν τροποποιηθεί και θα έχουν την νέα σχετική ονομασία (tblCustomers1 κλπ) και θα τα μετονομάζει όπως ήταν η αρχική ονομασία των αντικειμένων αυτών (πχ tblCustomers).

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

Σε ευχαριστώ
Απάντηση με παράθεση