Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Συμπύκνωση βάσης κατά την μετατροπή της σε MDE (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/1812-sympiknosi-basis-kata-tin-metatropi-tis-se-mde.html)

alex 21-04-12 20:57

Συμπύκνωση βάσης κατά την μετατροπή της σε MDE
 
1 Συνημμένο(α)
Καλησπέρα σε όλη την παρέα

Έχω φτιάξει μια μικρή βάση ώστε να συμπυκνώνω κάποια άλλη αλλά και την ίδια με αυτοματισμό αλλά και manual με το κουμπί Βutton1.
Όταν είναι η βάση σε mdb δουλεύει κανονικά.Όταν την μετατρέπω σε mde τότε με το πάτημα του κομβίου Button1 βγάζει το εξής σφάλμα:
Η εντολή ή η ενέργεια "Μεταγλώττιση και αποθήκευση όλων των λειτ.μον" δεν είναι διαθέσιμες τώρα. Θέλω να την ενσωματώσω σε κάποια άλλη βάση που να συμπυκνώνεται είτε χειροκίνητα είτε αυτόματα η οποία θα είναι κλειδωμένη σε MDE μήπως υπάρχει κάποιος τρόπος ώστε να μη βγάζει το μήνυμα αυτό;
Ανεβάζω την βάση σε mdb

Φιλικά /Αλέξανδρος

Meteora 22-04-12 08:09

Καλημέρα

Οι εφαρμογές access διαιρούνται σε δύο τμήματα. Το ένα περιέχει τον κώδικα και την δομή ερωτημάτων και αναφορών. Το άλλο ΜΟΝΟ τους πίνακες. Το τμήμα με τους πίνακες μπορείς -αν θες να το συμπυκνώνεις.
Κουμπί Office - επιλογές Access - τρέχουσα βάση δεδομένων - τσεκ στο "Συμπύκνωση κατά το κλείσιμο".
Είναι κάτι άλλο αυτό που ψάχνεις;

Με εκτίμηση
Νίκος Δ.

alex 22-04-12 09:55

Kαλημέρα Νίκο και χρόνια πολλά

Γνωρίζω όλα αυτά που μου γράφεις και όντως υπάρχουν αυτές οι επιλογές.Η επεξήγηση της περίπτωσης που ζητάω είναι ότι όταν είναι η βάση σε mdb δουλεύει το Button1, όταν όμως μετατρέπω την βάση σε σε mde βγάζει το συγκεκριμένο σφάλμα.
Δεν ξέρω μήπως είναι κάποια άλλη επιλογή τσεκαρισμένη από την βάση και ζητάω το ίδιο προγραμματιστικά και γίνεται αυτό.
Ίσως έχει σχέση το "quit" που έχω βάλει στον τερματισμό της εφαρμογής με αυτό που είναι στο κώδικα του Βutton1.
Σ'ευχαριστώ πάντως για το ενδιαφέρον.Θα το προσπαθήσω με κάποιες εναλλαγές να δώ ίσως και το βρώ.
Εκτός εάν γνωρίζει κάποιο άλλο μέλος γιατί συμβαίνει αυτό ΄μετά την μετατροπή της βάσης σε Mde. .

Με εκτίμηση

Αλέξανδρος

Meteora 22-04-12 10:16

Καλημέρα

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

Καλή συνέχεια στις αναζητήσεις σου...

Με εκτίμηση
Νίκος Δ.

dimmag 22-04-12 10:32

Καλημέρα

Έκανες compile πριν τη μετατροπή;
Αν όχι κάνε compile μήπως υπάρχει κάτι στον κώδικα.
Από τα λίγα που ξέρω αν κάτι από τον κώδικα δεν αναγνωρίζετε σωστά κατά τη μετατροπή το πετάει έξω.

Φιλικά Δημήτρης

alex 22-04-12 11:59

Kαλημέρα Δημήτρη

Χριστός Ανέστη και Χρόνια Πολλά
Σαφώς και έχω κάνει αποσφαλμάτωση.Η βάση γίνεται MDE. Eάν υπήρχε σφάλμα τότε δεν θα γινόνταν η μετατροπή σε mde.
Aφού την μετατρέπω σε mde και πατάω το κουμπί Button1 τότε δεν λειτουργεί και βγάζει σφάλμα.
Παλαιότερα πού έκανα μιά βάση διαχείρισης ασφαλειών αντιμετώπιζα τέτοιο πρόβλημα ενώ έκανε Deggug σωστά χωρίς σφάλμα και την μετατροπή κανονικά σε mde με την φόρτωση της βάσης μου έβγαζε μήνυμα και αυτό οφείλονταν σε διπλό γράψιμο κώδικα.Πχ είχα σε δύο μεριές κώδικα το close.Tο πρόβλημα λύθηκε με την τοποθέτηση ενός απόστροφου στην μία από τις δύο εντολές.
Θέλω να πιστεύω ότι κάτι παρόμοιο θα είναι και δεν το δέχεται στη τελική φάση το σύστημα.

Φιλικά
Αλέξανδρος

alex 22-04-12 14:37

Καλησπέρα σε όλη την παρέα του forum

Εν τέλη το πρόβλημα λύθηκε.Πώς;

Στο παρακάτω κώδικα

Κώδικας:

Option Compare Database
Option Explicit

Private Sub Button_Click()
    CompactDB "C:\Users\alex\Desktop\ErmisInbox.mde", 75    'Προσάρμοσε την διαδρομή και το ποσοστό συμπύκνωσης
                                         
End Sub
---------------------------------------------------------------------------------------------------------------------------------------------
Private Sub Button1_Click()
Dim vStatusBar

Application.SetOption ("Auto Compact"), 1
Application.SetOption "Show Status Bar", True
vStatusBar = SysCmd(acSysCmdSetStatus, "Compact Database...")
'DoCmd.RunCommand acCmdCompile 'AndSaveAllModules
DoCmd.Quit
End Sub
---------------------------------------------------------------------------------------------------------
Private Sub Form_Load()
SetMDIBackGround (10674418)
Application.SetOption ("Auto Compact"), True
End Sub
-----------------------------------------------------------------------------------------------------------
Private Sub Εντολή3_Click()
On Error GoTo Err_Εντολή3_Click


    DoCmd.Quit

Exit_Εντολή3_Click:
    Exit Sub

Err_Εντολή3_Click:
    MsgBox Err.Description
    Resume Exit_Εντολή3_Click
   
End Sub

Στα σημεία που είναι σημειωμένος με κόκκινο ο κώδικας εκεί έγιναν και οι διορθώσεις.
1.Βασικά έλειπε το Option Explicit απο την φόρμα.
2Έβαλα ένα απόστροφο και απενεργοποίησα την εντολή της αποσφαλμάτωσης(acCmdCompile )και την εντολή της αποθήκευσης των modules(SaveAllModules).
Πράγμα το οποίο όταν ήταν mdb η βάση δούλευε τέλεια η εντολή.
Όταν όμως κλειδώσαμε την βάση και την κάναμε mde τότε:
Θα πρέπει να ξέρουμε ότι δεν μπορούμε να επέμβουμε στο κώδικα ούτε να τον αποσφαλματώσουμε ούτε να αποθηκεύσουμε τα Modules αφού και manual να επιχειρήσουμε θα (ασπρίζουν) και θα είναι απενεργοποιημένα στα σημεία επέμβασης.
Αυτά τα λίγα για όσους θέλουν να διορθώσουν την εφαρμογή.

Φιλικά
Αλέξανδρος


Η ώρα είναι 12:50.

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


Search Engine Optimization by vBSEO 3.3.2