| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
| |
|
#1
| |||
| |||
|
Γεια σας. Μιας και, όπως αναφέρει και ο υπότιτλος του πίνακα, "Εδώ δεν υπάρχουν όρια" παρακαλώ για τις προτάσεις σας στα παρακάτω: Προσπαθώ να φτιάξω ένα σύστημα διαχείρισης ραντεβού. Είναι σημαντικό να έχω πλήρη εικόνα των ραντεβού της εβδομάδας καθώς και τις διαθέσιμες ώρες, κάτι δηλαδή σαν την προβολή εβδομάδας στο ημερολόγιο του Outlook. Προσπάθησα να βρω έτοιμα controls αλλά δεν κατάφερα και πολλά πράγματα (αν φυσικά ξέρετε κάτι καλό -από προσωπική εμπειρία- θα σας ήμουν υπόχρεος). Οφείλω να ομολογήσω ότι δεν μπήκα στη διαδικασία να αγοράσω κάποιο commercial control (που υποθέτω ότι υπάρχει αν και δεν το έψαξα) μιας και το κάνω μόνο για διασκέδαση. Έφτιαξα λοιπόν εξ' αρχής κάτι, το οποίο "δείχνει" να δουλεύει, είναι όμως σαφώς αργό και σίγουρα κακοφτιαγμένο. Υποθέτω πως υπάρχει κάποιος πιο αποδοτικός τρόπος παρουσίασης (π.χ. δεν ξέρω αν υπάρχει κάτι σαν array of controls ώστε να έχω μια μοναδική function και να περνάω με παραμέτρους στήλη και γραμμή -ημέρα και ώρα-) αλλά δεν ξέρω πώς να φτιάξω κάτι τέτοιο. Ένα μικρό δείγμα για το πώς να το δημιουργήσω θα ήταν αρκετό -και υπέροχο-. Προς το παρόν χρησιμοποιώ τα tags των πλαισίων κειμένου (για το κάθε ένα ξεχωριστά). Έχω σκοπό όταν κάνω διπλό κλικ πάνω σε κάποιο κελί να ανοίγει η φόρμα frmRdv για επεξεργασία ή για προσθήκη. Έχω ξεκινήσει κάτι δοκιμαστικό στο πρώτο κελί πάνω αριστερά (αν και ο κώδικας είναι σε εμβυικό στάδιο). Και εδώ θα ήταν χρήσιμη η λογική του πίνακα ώστε να κάνω πράξεις με τις συντεταγμένες από μία κεντρική ρουτίνα. Επόμενο θέμα είναι η διάρκεια του ραντεβού. Η κύρια σκέψη μου εδώ είναι να αλλάζω αυτόματα το ύψος του πλαισίου που έχει ραντεβού έτσι ώστε να επικαλύπτει τα από κάτω του εφ' όσον χρειάζεται. Καμμιά καλύτερη ιδέα; Ευχαριστώ (εκ των προτέρων) για το χρόνο, την υπομονή και τις πολύτιμες ιδέες/απόψεις σας. |
|
#2
| ||||
| ||||
|
Καλημέρα σε όλους! Αγαπητέ φίλε/φίλη (δεν ξέρω το όνομα σου) , θέλω στο σημείο αυτό να σου πω το ταπεινό μου μπράβο στην προσπάθεια που κάνεις πάνω στην 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
δηλ.: Κώδικας: Option Compare Database Option Explicit Public frm As Access.Form ' κώδικας .................... '.................................. που θα αναφέρεται στο Class Module "clsTextBoxes" όπως φαίνεται παρακάτω: Κώδικας: Option Compare Database Option Explicit Dim TextBoxes(0 To 168) As New clsTextBoxes Κώδικας: 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
Ξεκίνα μ αυτά και φυσικά αν χρειαστείς κάτι εδώ είμαστε Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 26-06-10 στις 12:48. |
|
#3
| |||
| |||
|
Ευχαριστώ. Μου λύνεις τα χέρια σε πολλά πράγματα. Μόλις φτιάξω κάτι καλύτερο θα το ανεβάσω.
|
|
#4
| |||
| |||
|
Καλησπέρα φίλε/φιλή (δεν ξέρουμε και το όνομα σου) Καλό θα ήταν να ξέρουμε σε ποιον απευθυνόμαστε. Eίναι τακτική και ένας από τους κανόνες του φόρουμ, να γράφουμε το όνομα μας. Θα σε παρακαλούσα λοιπόν να συμπληρώσεις το πεδίο όνομα προσφώνησης στο User Profile. Aπ΄ ότι θα είδες όλοι μας γράφουμε το όνομα μας, για να μπορούμε να μιλάμε με αυτά και όχι με τα username (προσωπικά θα δεις ότι γράφω όνομα & επίθετο χωρίς να έχω κανένα απολύτως πρόβλημα).
__________________ Φιλικά ![]() Χρήστος ___________________________ Αυτά που δεν ξέρεις φτιάχνουν μία βιβλιοθήκη που καθένας μας θα ήταν υπερήφανος να έχει. Αν η γνώση δημιουργεί προβλήματα,η άγνοια σίγουρα δεν μπορεί να τα λύσει. |
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | 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 |
Η ώρα είναι 11:46.



Υβριδικός τρόπος

