Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Μετατροπή απο 32bit σε 64bit (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/6153-metatropi-apo-32bit-se-64bit.html)

Ρούλα 22-07-22 08:12

Μετατροπή απο 32bit σε 64bit
 
Καλημέρα και καλό καλοκαίρι σε όλα τα παιδιά
Έχει κατασκευαστή μια βάση για Αιμοκαθαρόμενους σε 32bit, μετα από κάποιο χρονικό
Διάστημα πήρα την απόφαση λόγου του όγκου της βάσης και για λόγους ασφάλειας στο να μην κρασάρη να γραφτή σε 64bit.
Πριν ξεκινήσω ξανά από την αρχή μήπως μπορεί κάποιος να μου πει τι κώδικα πρέπει να γράψω ώστε να μπορώ να εκμεταλλευτώ τα 24 GB μνήμη που έχω εγκαταστήσει, ώστε να μπορώ να διατηρώ όλες της εγγραφές εντός του προγράμματος.
Αυτή την στιγμή λειτουργεί ως εξής. Όταν ο ασθενής αποχωρήσει από την Μονάδα (Μεταφορά σε άλλη πόλι, μεταφορά σε άλλη μονάδα που μπορεί να επιστρέψει ξανά) καταχωρούσαμε όλα τα στοιχεία του ασθενούς σε ένα φάκελο σε PDF θα ήθελα να παραμένουν μέσα στο πρόγραμμα αλλά ο όγκος τους με τρομάζει.
Θα ήθελα να ευχαριστήσω όλους για κάθε απάντηση που θα δοθεί.
Με εκτίμηση Ρούλα. Ευχαριστώ.

tsgiannis 25-07-22 08:13

Επανεγγράφοντας την εφαρμογή απο 32bit σε 64bit επι της ουσίας θα δημιουργήσει πιο πολλά προβλήματα απ'οτι θα λύσει.
Το ότι υπάρχει 64bit Access είναι πιο πολύ marketing τρικ καθώς δεν πραγματοποιήθηκε καμμία επουσιώδης αλλαγή...απλώς πήραν το παλιό source κάναν τις ελάχιστες αλλαγές και απλώς το κάναν compile σε 64bit.
Θα είσαι σαφώς πιο "ασφαλής" αν παραμείνεις σε 32bit και επενδύσεις χρόνο ώστε να δεις που σου κρασάρει.
Ίσως θα πάρεις κάποια πιο χρήσιμη "βοήθεια" αν παρέθετες κάποιες πληροφορίες σχετικα με τα κρασαρίσματα που αντιμετωπίζεις
Όσο για τα 24GB μόνο εαν έγγραφες σε C++ native 64bit θα μπορούσες να πάρεις κάποια οφέλη...για την Access οτιδήποτε πάνω απο 2GB είναι ουσιαστικά αχρηστα (για την Access υποψιν 2Gb....οτι για το λειτουργικό -64bit- θες τουλάχιστον 4-6GB οπότε οτιδήποτε κάτω απο 8gb είναι "λειψό" είναι άλλη ιστορία)
Όσον αφορά το PDF (?) - νομίζω ότι μιλάμε για αναποτελεσματικό σχεδιασμό... το PDF σίγουρα δεν είναι το format το οποίο θα χρησιμοποιούσε κάποιος για αποθήκευση δεδομένων....σε μια βάση δεδομένων Less is best....προσπαθούμε να καταχωρούμε δεδομένα με τον ελάχιστο δυνατό όγκο οπότε....το PDF είναι αποκλειστικά και μόνο για θέαση καθώς το editing του είναι δύσκολο(by default)... υπόψιν δεν αναφέρομαι σε δεδομένα τα οποία δεν πρέπει να επεξεργάζονται (Medical Images)...αυτό είναι μια άλλη υπόθεση....αν όντως χρησιμοποίεις το PDF τότε αυτό είναι κατα πάσα πιθανότητα ο λόγος που έχεις προβλήματα.
Δυστυχώς οι πληροφορίες σου είναι λίγες αλλά όπως το αναφέρεις ίσως θα έπρεπε να "δουλέψεις" την χρήση άλλης Database Engine όπως MSSQL _MySQL ,,, FireBird (ειδικά αν μιλάμε για εικόνες) κτλ για BE....κάτι που θα σου δώσει την δυνατότητα για online διασύνδεση όλων των κέντρων και ουσιαστικά η καρτέλα κάθε ασθενούς θα είναι διαθέσιμο ανα πάση στιγμή απο οποιοδήποτε σημείο

Ρούλα 27-07-22 06:21

Γιάννη καλημέρα, καθώς και σε όλα τα παιδιά
Γιάννη ευχαριστώ για την απάντηση σου, η βάση που έχω κάνει δουλεύει εδώ και δέκα χρόνια απροβλημάτιστη. Τα PDF δημιουργούνται όταν ο ασθενής αποχωρήσει διαφορετικά παραμένουν μέσα στο πρόγραμμα. Εγώ ήθελα να κρατώ όλους και όλα τα στοιχεία τους μέσα στο πρόγραμμα Ανεξαιρέτος αν αποχωρούν ή όχι .
Πάντος θα ήθελα άλλη μια φορά να σε ευχαριστήσω για την προτροπή σου,
Οι γνώσεις μου είναι μέχρι εδώ οπότε δεν πρόκριτε να δω σε κάτι άλλο.
Φιλικά Ρούλα

pctechdr 31-08-22 10:54

Στην ουσία το μόνο που πρέπει να κάνεις είναι να καλέις τα σωστά declarations για 64 bit. Μπορείς να το "γράψεις" να τρέχει και σε 32 bit και σε 64 bit μόνο που για 64 Bit πρέπει να το κάνεις compile με την αντίστοιχη σε bit Access Version.
Παράδειγμα

#If VBA7 Then 'add PtrSafe
Private Declare PtrSafe Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Private Declare PtrSafe Function SetWindowPos Lib "user32" _
(ByVal handleW1 As Long, _
ByVal handleW1InsertWhere As Long, ByVal w As Long, _
ByVal X As Long, ByVal Y As Long, ByVal z As Long, _
ByVal wFlags As Long) As Long
#ElseIf Win64 Then 'need datatype LongPtr
Private Declare PtrSafe Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As LongPtr

Private Declare PtrSafe Function SetWindowPos Lib "user32" _
(ByVal handleW1 As LongPtr, _
ByVal handleW1InsertWhere As LongPtr, ByVal w As LongPtr, _
ByVal X As LongPtr, ByVal Y As LongPtr, ByVal z As LongPtr, _
ByVal wFlags As LongPtr) As LongPtr
#Else '32-bit Office
Private Declare Function FindWindowA Lib "user32" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long

Private Declare Function SetWindowPos Lib "user32" _
(ByVal handleW1 As Long, _
ByVal handleW1InsertWhere As Long, ByVal w As Long, _
ByVal X As Long, ByVal Y As Long, ByVal z As Long, _
ByVal wFlags As Long) As Long
#End If

Πληροφορίες εδώ --> https://codekabinett.com/rdumps.php?...ion-vba-64-bit
Αν θές να βρείς τι ακριβώς πρέπει να αλλάξεις και που δές εδώ -->https://www.utteraccess.com/topics/2029336?post=unread


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

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


Search Engine Optimization by vBSEO 3.3.2