Ανανέωση ιστοσελίδας
ms-office.gr > Forum > Microsoft Access > Access - Ερωτήσεις / Απαντήσεις > Φόρμα ημερολογίου (τύπου Outlook - scheduler)

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

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

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 26-06-10, 06:01
Όνομα: Μάριος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 07-07-2009
Μηνύματα: 18
Προεπιλογή Φόρμα ημερολογίου (τύπου Outlook - scheduler)

Γεια σας.
Μιας και, όπως αναφέρει και ο υπότιτλος του πίνακα, "Εδώ δεν υπάρχουν όρια" παρακαλώ για τις προτάσεις σας στα παρακάτω:
Προσπαθώ να φτιάξω ένα σύστημα διαχείρισης ραντεβού. Είναι σημαντικό να έχω πλήρη εικόνα των ραντεβού της εβδομάδας καθώς και τις διαθέσιμες ώρες, κάτι δηλαδή σαν την προβολή εβδομάδας στο ημερολόγιο του Outlook. Προσπάθησα να βρω έτοιμα controls αλλά δεν κατάφερα και πολλά πράγματα (αν φυσικά ξέρετε κάτι καλό -από προσωπική εμπειρία- θα σας ήμουν υπόχρεος). Οφείλω να ομολογήσω ότι δεν μπήκα στη διαδικασία να αγοράσω κάποιο commercial control (που υποθέτω ότι υπάρχει αν και δεν το έψαξα) μιας και το κάνω μόνο για διασκέδαση.
Έφτιαξα λοιπόν εξ' αρχής κάτι, το οποίο "δείχνει" να δουλεύει, είναι όμως σαφώς αργό και σίγουρα κακοφτιαγμένο. Υποθέτω πως υπάρχει κάποιος πιο αποδοτικός τρόπος παρουσίασης (π.χ. δεν ξέρω αν υπάρχει κάτι σαν array of controls ώστε να έχω μια μοναδική function και να περνάω με παραμέτρους στήλη και γραμμή -ημέρα και ώρα-) αλλά δεν ξέρω πώς να φτιάξω κάτι τέτοιο. Ένα μικρό δείγμα για το πώς να το δημιουργήσω θα ήταν αρκετό -και υπέροχο-. Προς το παρόν χρησιμοποιώ τα tags των πλαισίων κειμένου (για το κάθε ένα ξεχωριστά).
Έχω σκοπό όταν κάνω διπλό κλικ πάνω σε κάποιο κελί να ανοίγει η φόρμα frmRdv για επεξεργασία ή για προσθήκη. Έχω ξεκινήσει κάτι δοκιμαστικό στο πρώτο κελί πάνω αριστερά (αν και ο κώδικας είναι σε εμβυικό στάδιο). Και εδώ θα ήταν χρήσιμη η λογική του πίνακα ώστε να κάνω πράξεις με τις συντεταγμένες από μία κεντρική ρουτίνα.
Επόμενο θέμα είναι η διάρκεια του ραντεβού. Η κύρια σκέψη μου εδώ είναι να αλλάζω αυτόματα το ύψος του πλαισίου που έχει ραντεβού έτσι ώστε να επικαλύπτει τα από κάτω του εφ' όσον χρειάζεται. Καμμιά καλύτερη ιδέα;
Ευχαριστώ (εκ των προτέρων) για το χρόνο, την υπομονή και τις πολύτιμες ιδέες/απόψεις σας.
Συνημμένα Αρχεία
Τύπος Αρχείου: mdb accRdv.mdb (420,0 KB, 51 εμφανίσεις)
Απάντηση με παράθεση
  #2  
Παλιά 26-06-10, 12:37
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

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

Αγαπητέ φίλε/φίλη (δεν ξέρω το όνομα σου) ,

θέλω στο σημείο αυτό να σου πω το ταπεινό μου μπράβο στην προσπάθεια που κάνεις
πάνω στην Access αλλά και για την ενεργή συμμετοχή σου στο φόρουμ!

Ας ξεκινήσουμε λοιπόν

Για να ελέγξεις τα συμβάντα των 168 TextBox της φόρμας σου θα χρειαστείς ένα
Class Module (Insert > Class Module) με το όνομα: clsTextBoxes που θα περιέχει τον παρακάτω κώδικα:
Κώδικας:
Option Compare Database
Option Explicit

Private WithEvents AccTextBox As Access.TextBox

Public Property Set TheTextBox(ByVal TheTextBox As Access.TextBox)
    Set AccTextBox = TheTextBox
    AccTextBox.OnDblClick = "[Event Procedure]"
    'AccTextBox.AfterUpdate = "[Event Procedure]"
    'και όποιο άλλο συμβάν χρειαστείς
End Property

Public Property Get TheTextBox() As Access.TextBox
    Set TheTextBox = AccTextBox
End Property

'Private Sub AccTextBox_AfterUpdate()
'    'Ο κώδικας σου
'End Sub

Private Sub AccTextBox_DblClick(Cancel As Integer)
Cancel = True
DoCmd.OpenForm FormName:="frmRdv", WindowMode:=acDialog ', OpenArgs:= πχ. AccTextBox.Tag...
'Προσάρμοσε το έτσι που να ανοίγει η φόρμα με την επιθυμητή εγγραφή.
End Sub
Κατόπιν, στο Module1 ή σε κάποιο άλλο κοινό Module πέρασε μια public μεταβλητή με το όνομα "frm"

δηλ.:
Κώδικας:
Option Compare Database
Option Explicit
Public frm As Access.Form

' κώδικας ....................
'.................................. 
Στην κορυφή του κώδικα της φόρμας"frmPlan", δήλωσε μια μεταβλητή πίνακα (Array)
που θα αναφέρεται στο Class Module "clsTextBoxes" όπως φαίνεται παρακάτω:
Κώδικας:
Option Compare Database
Option Explicit
Dim TextBoxes(0 To 168) As New clsTextBoxes
και στο OnLoad() της φόρμας:

Κώδικας:
Private Sub Form_Load()
    Dim i%, ctl As Access.Control
    Set frm = Me.Form
    For Each ctl In Me.Section(0).Controls
        If TypeOf ctl Is Access.TextBox Then
            If ctl.Tag <> vbNullString Then
                Set TextBoxes(i).TheTextBox = ctl
                i = i + 1
            End If
        End If
    Next
    Call FillWeeklyPlan(Me)
End Sub
Αφου κάνεις τα παραπάνω, θα μπορείς με διπλό κλικ σε οποιοδήποτε πλαίσιο κείμενου στη λεπτομέρεια της φόρμας "frmPlan" να ανοίγεις τη φόρμα "frmRDV"

Ξεκίνα μ αυτά και φυσικά αν χρειαστείς κάτι εδώ είμαστε




Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 26-06-10 στις 12:48.
Απάντηση με παράθεση
  #3  
Παλιά 27-06-10, 17:41
Όνομα: Μάριος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Αγγλική
 
Εγγραφή: 07-07-2009
Μηνύματα: 18
Προεπιλογή

Ευχαριστώ. Μου λύνεις τα χέρια σε πολλά πράγματα. Μόλις φτιάξω κάτι καλύτερο θα το ανεβάσω.
Απάντηση με παράθεση
  #4  
Παλιά 27-06-10, 20:03
Όνομα: Χρήστος Ελευθερίου
Έκδοση λογισμικού Office: Ms-Office 2016
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 26-11-2009
Περιοχή: Άρτεμις
Μηνύματα: 100
Προεπιλογή

Καλησπέρα φίλε/φιλή (δεν ξέρουμε και το όνομα σου)
Καλό θα ήταν να ξέρουμε σε ποιον απευθυνόμαστε.
Eίναι τακτική και ένας από τους κανόνες του φόρουμ, να γράφουμε το όνομα μας.
Θα σε παρακαλούσα λοιπόν να συμπληρώσεις το πεδίο όνομα προσφώνησης στο User Profile. Aπ΄ ότι θα είδες όλοι μας γράφουμε το όνομα μας, για να μπορούμε να μιλάμε με αυτά και όχι με τα username (προσωπικά θα δεις ότι γράφω όνομα & επίθετο χωρίς να έχω κανένα απολύτως πρόβλημα).
__________________
Φιλικά

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


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

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


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

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[ Φόρμες ] Φόρμα τύπου πίνακα Δημήτρης Access - Ερωτήσεις / Απαντήσεις 2 10-01-12 09:29
Access σε μορφή επιτραπέζιου ημερολογίου balex Access - Ερωτήσεις / Απαντήσεις 3 21-07-10 23:13
Εφαρμογή Ημερολογίου σε Access Ms-Office-Development Team Access samples - Χρήσιμα αρχεία & παραδείγματα 0 11-11-09 10:33
webbrowser και outlook σε φόρμα atlasgr Access - Ερωτήσεις / Απαντήσεις 3 29-06-09 21:02
Εφαρμογή Ημερολογίου σε Access kon73 Access - Ερωτήσεις / Απαντήσεις 0 15-01-09 13:18


Η ώρα είναι 06:44.