Forum

Αναζήτηση στο ms-office.gr

Πάμε!
ms-office.gr > Forum > Microsoft Office > Visual Basic for Applications (VBA) > [Access - VBA] vba Εκτυπωση

Visual Basic for Applications (VBA) Ερωτήσεις / Απαντήσεις σε σχέση με τη χρήση της VBA.

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 30-11-09, 18:40
Όνομα: Γιώργος Καψάλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 18-11-2009
Μηνύματα: 126
Προεπιλογή vba Εκτυπωση

Καλησπέρα σε όλους

Επανερχομαι με δύο ίσος λίγο δύσκολα ερωτήματα..

λοιπόν...

π.χ
dim Pedio1 as string , pedio2 as string κλπ

Κανω μια εκτύπωση απο κώδικα με τον εξής παρακάτω κώδικα

open (ΟνομαΕκτυπωτή) for output as # 1

print #1 , " " & pedio1 & " " & pedio2 & vbcr
print #1 , " " & vbcr
print #1 , " " & vbcr

close #1

Το πρώτο ερώτημα είναι το εξής..
Εγώ για να μπορέσω να εκυπώσω σε προτυπομένο χαρτι αναγκάζομε και του δινω κενά
δλδ
Εστω οτι το pedio1 στον κώδικα το έχω όρισει να καταλαμβάνει το μέγιστο 7 χαρακτήρες
και το πεδιο αυτό δεν έχει χαρακτήρες καταχωρημένους σε κάποια εγγραφή, τότε εγώ προσθέτο κενούς χαρακτήρες προκειμένου να μην μου ξεφήγουν οι εκτυπωτικές γραμμές..
Υπάρχει κάποια εντολή προκειμένου ο εκτυπωτής να το προσπερνά ότα είναι εντελοσ κενό το πεδίο αλλά χωρίς να χάνει τις εκτυπωτικές γραμμές.. ?

Ερώτημα Δεύτερο..
Πώς μπορώ σε ένα ερώτημα SQL να του ορίσω ότι..! Εάν το πεδίο έχει 4 χαρακτήρες και εγω το έχω ορίσει για 7 να μου συπληρώσει τα υπόλοιπα έως τους 7 με κενά? πχ.

κωδικός πελάτη (7 χαρακτ θέλω να πάρω εγώ..!) αλλα μου φέρνει 5 δλδ 10500 γιατι ετσι ειναι καταχωρημένο.
Τώρα κάνω το εξής IsNull(left(kodikos;7) ' ') έτσι ομως συμπληρώνει με 7 κενούς χαρακτήρες μόνο όταν ειναι η τιμή null
Εαν το πεδίο έχει δεδομένα και ειναι λιγότερα του 7 υπάρχει τρόπος να τα συπμληρώνει ?

Γιώργος..

Τελευταία επεξεργασία από το χρήστη gr8styl : 08-01-10 στις 22:38. Αιτία: Πρόσθεση προθέματος
Απάντηση με παράθεση
  #2  
Παλιά 01-12-09, 09:14
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 1.328
Προεπιλογή

Γιώργο καλημέρα!

Μ αυτό τον τρόπο, μπορείς να προσθέσεις τα κενά στα πεδία σου έτσι που το σύνολο των
χαραχτήρων τους να είναι πάντα 7:

Κώδικας:
Option Compare Database
Option Explicit
Const FieldLen% = 7    ' Μήκος πεδίου - προσάρμοσε το κατάλληλα.

Sub PrintTest()
    Open "LPT.txt" For Output As #1    '"LPT.txt"
    Print #1, Chr(vbKeySpace) & PrintWithSpaces(Nz(Pedio1, vbNullString)) & _
            Chr(vbKeySpace) & PrintWithSpaces(Nz(Pedio2, vbNullString)) & vbCr
    Print #1, Chr(vbKeySpace) & vbCr
    '.......
    '.......
    Close #1
End Sub


Private Function PrintWithSpaces(s$) As String

    PrintWithSpaces = s & _
            IIf(Len(s) > FieldLen, _
            vbNullString, _
            String(FieldLen - Len(s), Chr(vbKeySpace)))    '

    'Debug.Print Len(PrintWithSpaces)

    'PrintWithSpaces = s & _
     IIf(Len(s) > FieldLen, _
     Left(s, FieldLen), _
     String(FieldLen - Len(s), Chr(vbKeySpace)))   
 ' Περιορίζει τους χαραχτήρες στους 7. Xρησιμοποίησε το αν το μήκος των χαραχτήρων υπερβαίνει το 7.

End Function

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

Εκτός αυτού, η μορφοποίηση της στήλης αυτής θα πρέπει να επιτρέπει την προσθήκη
χαραχτήρων κειμένου.

Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών σε VB.Net, Access, Excel, Outlook, Word

Τελευταία επεξεργασία από το χρήστη Tasos : 02-12-09 στις 06:23.
Απάντηση με παράθεση
  #3  
Παλιά 01-12-09, 20:55
Όνομα: Γιώργος Καψάλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 18-11-2009
Μηνύματα: 126
Προεπιλογή

Καλησπέρα Τασσο..

την κρυάδα με την SQL την έφαγα.. αστα...!! μου έβγαζε στον κώδικα περιθώρια γειά σου εντελός

ο κώδικας που έστειλες δουλεύει μια χαρά..!!

να σε ρωτήσω κάτι..? vbKeySpace γιατι το βάζεις αφού ουσιαστικά επιστρέφει το νουμερο 32 και όχι κενά..

ή έχω καταλάβει κάτι λάθος?
Απάντηση με παράθεση
  #4  
Παλιά 02-12-09, 06:27
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 2003, Ms-Office 2007, Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 1.328
Προεπιλογή

Έχεις δίκιο!
Παρέλειψα να γράψω το Chr() !!!

Δες το διορθωμένο στο προηγούμενο μήνυμα.
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών σε VB.Net, Access, Excel, Outlook, Word
Απάντηση με παράθεση
  #5  
Παλιά 02-12-09, 15:25
Όνομα: Γιώργος Καψάλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 18-11-2009
Μηνύματα: 126
Προεπιλογή

Καλημέρα Τάσσο..!

Yep... τώρα πέζει πολύυυυυυ καλήτερα..!! :grin::grin::grin:

Αλάξα και το txt του εκτυπωτή σε uni και πάει σφαίρα...!! Αφού στην δουλειά νομίζανε οτι χάλασε ο εκτυπωτής.. χα χα χα..

μέχρι τώρα τύπωνα απο report.. και καταλαβένεις την διαφορα σε ταχύτητα..!! :grin:
Απάντηση με παράθεση
  #6  
Παλιά 03-12-09, 02:51
Όνομα: Γιώργος Καψάλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 18-11-2009
Μηνύματα: 126
Προεπιλογή

Παιδεια Sosssss...!!!

Εκτυπώνω σε ενα εκτυπωτη panasonik Α3 Κ\Χ 3696
με την μεθοδο

open (Ονομα Εκτυπωτη) for output # 1
prind # 1 .....
....
close #1

Εκτυπώνει απιστευτα γρήγορα.. !!!!

Αλλά..........!!!!!!

τα περιθώρια του εκτυπωτή ειναι 136 χαρακτήρες μήκος... οριζόντια
ολα τα print #1...... δεν ξεπερνας τους 134 χαρακτήρες (μετρημένο γραμμή γραμμή με Len() )

Ομωςςςςς....!!!! μετα απο κάποιες σελίδες μου πηδά απο 1 εως 3 εκτυπωτικές γραμμές...
Δεν το κάνει σε συγκεκριμένο σειμείο.. ούτε κάπου σταθερά..!

Οταν τύπωνα μέσα απο report access δεν το έκανε..!!

τωρα ποy τυπώνω με τον παραπάνω κώδικα με έχει πεθανει..!!

driver που έχει ειναι (στο setup) ο εκτυπωτής είναι A ibm B epson

και απο τον υπολογιστή
α) IBM XL |||
B) Epson (fx 1170 - fx 1000 - ex 1000) και αρκετούς άλλους

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

1ο Ερώτημα
Το έχει αντιμετωπίσει κανεις απο εσάς..?
Και εάν ναι τη έκανε..?

2ο Ερωτημα
Υπάρχει τρόπος πριν εκτυπώσω να ελέγχω των το μέγεθος των (σελίδων) εκτυπώσεων σε kB που βρίσκονται ήδη στον εκτυπωτή σε αναμονή..? μήπως και γεμίζει η μνήμη του..

Η πανασονικ μου είπε ότι έχει μνήμη 13 kb..


Γιώργος
Απάντηση με παράθεση
  #7  
Παλιά 05-12-09, 15:21
Όνομα: Γιώργος Καψάλης
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 18-11-2009
Μηνύματα: 126
Προεπιλογή

καλησπερα...

Λοιπον το παραπάνω προβλημα με τις εκτυπωτηκες ληθηκε με τον εξής τρόπο

αλλαγή γραμματοσειρά απο draft..! σε οποιαδήποτε άλλη στο setup του εκτυπωτή
και στο setup το print mode σε by και οχι uni

driver στον εκτυπωτή epson FX -1170 (οχι στο setup του εκτυπωτή αλλά στο pc)


καλο απογευμα
Απάντηση με παράθεση
Απάντηση στο θέμα

Εργαλεία Θεμάτων
Τρόποι εμφάνισης

Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Ερωτήματα ] Οριζόντια Εκτύπωση mdragon Access - Ερωτήσεις / Απαντήσεις 9 04-12-10 09:36
[ Εκθέσεις ] Επιλεκτική εκτύπωση alatis Access - Ερωτήσεις / Απαντήσεις 7 26-10-10 08:38
vba εκτύπωση με Laser Giorgos Visual Basic for Applications (VBA) 9 28-03-10 21:58
Εκτύπωση πίνακα με VBA Giorgos Access - Ερωτήσεις / Απαντήσεις 19 25-11-09 10:51


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