Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Φόρμες ] Απότομο κλείσιμο εφαρμογής (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/6614-apotomo-kleisimo-efarmogis.html)

smasak 11-02-25 12:25

Απότομο κλείσιμο εφαρμογής
 
Καλησπέρα, μέσα στην εφαρμογή έχω δημιουργήσει μια φόρμα(frmPRINTER) για επιλογή εκτύπωτή πριν την εκτύπωση έκθεσης και πατώντας το εικονίδιο για εκτύπωση με το που πάει να ανοίξει την φόρμα frmPRINTER με πετάει έξω από την εφαρμογή.
Nα αναφέρω ότι ξεκίνησε να μου το κάνει από τη στιγμή που εγκατέστησα ένα νέο εκτυπωτή.
Καμία ιδέα για το τι μπορώ να κάνω; Σε άλλους 2 υπολογιστές που το δοκίμασα δουλεύει κανονικά.

Η φόρμα στηρίζετε στον παρακάτω κώδικα όπου επιλέγει τον default printer.
Private Sub Form_Load()
Dim i As Integer
Dim strDefaultPrinter As String
' List all available printers
For i = 0 To Printers.Count - 1
List1.AddItem Printers(i).DeviceName
Next i
strDefaultPrinter = Application.Printer.DeviceName
Me.List1 = strDefaultPrinter
'======================
Me.Move 0, 0
End Sub

Άλλαξα και τον προεπιλεγμένο εκτυπωτή αλλά δεν λύθηκε.

Ευχαριστώ εκ των προτέρων.

Tasos 11-02-25 16:32

Καλησπέρα Σάκη.
Το πρόβλημα φαίνεται να σχετίζεται με τον νέο εκτυπωτή που εγκατέστησες.
Ενδέχεται να μην είναι σωστά ρυθμισμένος ή να προκαλεί κάποιο conflict στην εφαρμογή σου.
Ακολουθούν μερικές ιδέες για να εντοπίσεις και να διορθώσεις το πρόβλημα:
  1. Έλεγχος Διαθεσιμότητας Εκτυπωτών
    Βεβαιώσου ότι το Printers.Count επιστρέφει σωστή τιμή. Αν το Printers.Count = 0, ίσως η λίστα εκτυπωτών δεν είναι διαθέσιμη ή υπάρχει πρόβλημα με τα drivers.
  2. Διαχείριση Σφαλμάτων (Error Handling)
    Πρόσθεσε κώδικα για να πιάσεις τυχόν σφάλματα:

    Κώδικας:

    Private Sub Form_Load()
        On Error GoTo ErrorHandler
        Dim i As Integer
        Dim strDefaultPrinter As String

        ' List all available printers
        For i = 0 To Printers.Count - 1
            List1.AddItem Printers(i).DeviceName
        Next i

        strDefaultPrinter = Application.Printer.DeviceName
        Me.List1 = strDefaultPrinter

        '======================
        Me.Move 0, 0
        Exit Sub

    ErrorHandler:
        MsgBox "Σφάλμα κατά την φόρτωση εκτυπωτών: " & Err.Description, vbCritical
    End Sub

  3. Έλεγχος Driver Εκτυπωτή
    Βεβαιώσου ότι έχεις εγκαταστήσει τον σωστό και ενημερωμένο driver για τον νέο εκτυπωτή.
    Δοκίμασε να απεγκαταστήσεις προσωρινά τον νέο εκτυπωτή για να δεις αν το πρόβλημα επιμένει.
  4. Ρύθμιση Προεπιλεγμένου Εκτυπωτή
    Δοκίμασε να αλλάξεις προεπιλεγμένο εκτυπωτή μέσα από το λειτουργικό σύστημα και επανεκκίνησε την εφαρμογή.
  5. Debugging με MsgBox
    Πρόσθεσε ενδιάμεσες εντολές για να δεις πού συμβαίνει η διακοπή:

    Κώδικας:

    MsgBox "Default Printer: " & Application.Printer.DeviceName

Δοκίμασε αυτά και πες μου αν σου έδωσε κάποιο αποτέλεσμα!

smasak 11-02-25 19:58

Tάσο ευχαριστώ για την απάντηση. Έκανα όλα τα βήματα αλλά επιμένει το πρόβλημα. Ο εκτυπωτής είναι δικτυακός. Τον έκανα απεγκατάσταση, δοκίμασα το πρόγραμμα αλλά δεν....τον ξαναέκανα εγκατάσταση και πάλι με "πετάει" έξω.

Tasos 11-02-25 21:24

Είναι ο συγκεκριμένος εκτυπωτής ορατός από την Access ή από άλλα προγράμματα του Microsoft Office αν το επιλέξεις χειροκίνητα;

Αν ναι:
1. Μπορείς να εκτυπώσεις (χειροκίνητα);
2. Πως εμφανίζεται το όνομα του εκτυπωτή στη λίστα εκτυπωτών της Access;

smasak 12-02-25 19:56

Μπορώ να εκτυπώσω την έκθεση με δεξί κλικ και επιλογή εκτυπωτή.
Ο εκτυπωτής εμφανίζεται όπως και στο σύστημα.

Tasos 12-02-25 22:51

Πως είναι το όνομα του εκτυπωτή; Είναι ίδιο με το όνομα που χρησιμοποιείται στις ιδιότητες της κοινής χρήσης;

smasak 13-02-25 17:46

Ναι, είναι το ίδιο. Ο εκτυπωτής είναι ένας ink tank EPSON ET-3850.

smasak 15-02-25 10:23

Eυχαριστώ πολύ τον Τάσο που ασχολήθηκε με το θέμα.
Το πρόβλημα είναι καθαρά στην αναζήτηση των εκτυπωτών του συστήματος.

Θα ήταν ωραίο να υπάρχει η δυνατότητα επιλογής εκτυπωτή αλλά δυστυχώς δεν μπορώ να βρώ λύση.
Το παρέκαμψα και δίνω εκτύπωση απευθείας στον default printer.


Η ώρα είναι 14:17.

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


Search Engine Optimization by vBSEO 3.3.2