Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
| Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
#1
| |||
| |||
Επιλογή φόρμας
Καλησπέρα σας! Έχω το εξής: Θέλω να πατάω ένα κουμπί και να μου εμφανίζει ένα MsgBox από το οποίο θα έχω 4 επιλογές (το κείμενο και δίπλα σε κάθε κείμενο ένα checkbox). Κάθε επιλογή αντιστοιχεί σε και σε μία φόρμα. Με το που επιλέγω ένα checkbox τότε θέλω το όνομα της αντίστοιχης φόρμας να αποθηκεύεται σε ένα string για παράδειγμα και έπειτα, αυτό το string να το χρησιμοποιήσω για το άνοιγμα της φόρμας. Ένα στο περίπου παράδειγμα είναι το εξής: 'public strInput As String 'Καταχώρηση ονόματος Private button_name_Click() Dim strInput1 As CheckBox 'Επιλογή 1ης φόρμας Dim strInput2 As CheckBox 'Επιλογή 2ης φόρμας Dim strInput3 As CheckBox 'Επιλογή 3ης φόρμας Dim strInput4 As CheckBox 'Επιλογή 4ης φόρμας φόρμας Dim strMsg As String Beep strMsg = "Παρακαλώ, επιλέξτε την φόρμα που θέλετε να ανοίξετε" MsgBox "Φόρμα1" & vbCrLf & vbLf & strInput1 & _ "Φόρμα2" & vbCrLf & vbLf & strInput2 & _ "Φόρμα3" & vbCrLf & vbLf & strInput3 & _ "Φόρμα4" & vbCrLf & vbLf & strInput4 & _ "", _ vbInformation, "Επιλογή φόρμας" strInput = InputBox(Prompt:=strMsg, title:="Επιλογή φόρμας στοιχείων") if me.strInput1.value= true then strInput = "Φόρμα1 & "'" else if me.strInput2.value= true then strInput = "Φόρμα2 & "'" else if me.strInput3.value= true then strInput = "Φόρμα3 & "'" else if me.strInput4.value= true then strInput = "Φόρμα4 & "'" end if end if end if end if end sub Άρα στην μεταβλητή strInput θα αποθηκεύεται κάθε φορά το όνομα της φόρμας που θέλω. Έπειτα όταν θέλω να την ανοίξω θα γράφω: DoCmd.OpenForm "strInput", , , , , , Γίνεται κάτι τέτοιο? Αν ναι, η σύνταξη του κώδικα που έχω γράψει είναι σωστή? Ευχαριστώ εκ των προτέρων |
#2
| ||||
| ||||
Γεια σας! Αγαπητέ φίλε Παντελή, στο ζητούμενο σου θα σου πρότεινα μια διαφορετική προσέγγιση (βλ. συνημμένο). Με εκτίμηση Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#3
| |||
| |||
Καλησπέρα σε όλους. Φίλε Παντελή πιστεύω πως το συνημμένο αρχείο είναι αυτό που ψάχνεις. Υ.Γ. Θα πρέπει στον πίνακα Switchboard Items στην στήλη Argument να γράψεις το όνομα της φόρμας που θες να ανοίγει πατώντας την επιλογή αυτή. Φιλικά Μιχάλης. |
#4
| |||
| |||
Αυτό που θέλω είναι, να έχω για παράδειγμα 5 επιλογές. Όταν επιλέγω την πρώτη, να αποθηκεύεται σε ένα Public string η ονομασία της φόρμας που επέλεξα και να μην ανοίγει επιτόπου. Θα ανοίγει όταν την καλώ μέσα σε συνάρτηση με εντολή: DoCmd.OpenForm "strInput", , , , , , όπου strInput Θα είναι η ονομασία της φόρμας που επέλεξα. Ουσιαστικά χρησιμοποιώ το DoCmd.OpenForm "name_of_form", , , , , , Θέλω να μην ανοίγει σταθερά μία φόρμα αλλά να μπορώ να αλλάξω το όνομα της φόρμας ανάλογα με αυτό που θέλω να κάνω κάθε φορά. Πιστεύω ότι ο κώδικας που έχω στο πρώτο post αντιπροσωπεύει αυτό που θέλω να κάνω. |
#5
| |||
| |||
Δοκίμασα αυτό: Option Compare Database Dim strGeneralFormName As String Private Sub button_Click() On Error GoTo Err_button_Click Dim intFormNumber As Integer MsgBox "Για Δευτέρα πληκτρολογήστε το 1" & vbCrLf & vbLf & strInput1 & _ "Για Τρίτη πληκτρολογήστε το 2" & vbCrLf & vbLf & strInput2 & _ "Για Τετάρτη πληκτρολογήστε το 3" & vbCrLf & vbLf & strInput3 & _ "Για Πέμπτη πληκτρολογήστε το 4" & vbCrLf & vbLf & strInput4 & _ "", _ vbInformation, "Επιλογή φόρμας..." intFormNumber = InputBox("Παρακαλώ πληκτρολογήστε έγκυρο αριθμό από το 1-4") Select Case intFormNumber Case Is = 1 strGeneralFormName = "MON" Case Is = 2 strGeneralFormName = "TUS" Case Is = 3 strGeneralFormName = "WED" Case Is = 4 strGeneralFormName = "THU" End Select Exit_button_Click: Exit Sub Err_button_Click: MsgBox Err.Description Resume Exit_button_Click End Sub Επομένως πατώντας το κουμπί, θα αποθηκεύεται στην μεταβλητή strGeneralFormName το όνομα της φόρμας που επέλεξε ο χρήστης. Στη συνέχεια, θέλω η φόρμα που αποθηκεύτηκε σε αυτή τη μεταβλητή να ανοίγει στο after update του combobox από την εντολή: DoCMD.OpenForm strGeneralFormName, , , , , , Me.Name & ";" & Me.combobox αλλα μου βγάζει πρόβλημα ότι πρέπει να βάλω το όνομα κάποιας φόρμας στη θέση της μεταβλητής Σημείωση: Η σύνταξη της τελευταίας γραμμής κώδικα θέλω να παραμείνει. Δεν μπορώ δηλαδή να χρησιμοποιήσω απλά τον κώδικα: DoCmd.OpenForm strGeneralFormName Καμιά ιδέα? Ευχαριστώ εκ των προτέρων |
#6
| ||||
| ||||
Κατα την γνωμη μου με αυτο τον "δρομο" που εχεις διαλεξει πρεπει να δημιουργησεις ενα πινακα που να εχει μεσα ολες τις παραμετρους σου και απο εκει να ανοιγεις της φορμες σου αναλογως με αυτο που θελεις. Καλη συνεχεια.
__________________ http://www.facebook.com/home.php?ref...00000309992857 |
#7
| ||||
| ||||
Καλησπέρα σε όλους! Αγαπητέ Παντελή, Δες ακόμα μια πρόταση που κάνει αυτά που περιγράφεις. Με εκτίμηση Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#8
| |||
| |||
Μου εμφανίζει κάποιο πρόβλημα λάθους σε περαιτέρω κομμάτι κώδικα. Ο κώδικας είναι του στυλ forms!strFormName.combobox = me.textbox.value και μου βγάζει πρόβλημα ότι θέλει όνομα φόρμας στο forms!strFormName. Καμιά ιδέα? |
#9
| ||||
| ||||
Παντελή, ο κώδικας που περιγράφεις δεν έχει καμία σχέση με το παράδειγμα μου. Προφανώς η μεταβλητή strFormName χρειάζεται να είναι Public όπως στο παράδειγμα μου ή αναφέρεσαι σε υποφόρμα οπότε θα πρέπει να το χειριστείς διαφορετικά. Διαφώτισε μας στο σημείο αυτό. Φιλικά Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών |
#10
| |||
| |||
Ο τρόπος λειτουργίας είναι αυτός που περιγράφεται στο topic: http://www.ms-office.gr/forum/access...-se-forma.html μέχρι και το 5ο reply. Αυτό που προσπαθώ να κάνω είναι στο docmd.openform nameform κτλ αλλά και σε κώδικα του τύπου: Forms!frm2.text1 = Me.Name.Value να αναφέρομαι στην φόρμα ως μεταβλητή. Δηλαδή να επιλέγει ο χρήστης αρχικά το ποια φόρμα θα χρησιμοποιήσει και να χρησιμοποιείται πιο μετά σε σημεία τύπου: DoCMD.OpenForm "frm2" , , , , , , Me.Name & ";" & Me.cbox1 και Forms!frm2.text1 = Me.Name.Value έτσι ώστε εάν θέλω να επιλέξω άλλη φόρμα να ανοίξει να είναι ¨ευέλικτος¨ ο κώδικας και να προσαρμόζεται σε άλλη φόρμα. |
Ετικέτες |
events, openargs, raiseevent, withevents, ορίσματα, συμβάντα |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
Παρόμοια Θέματα | ||||
Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
[ Φόρμες ] Αντιγραφή αντικειμένου φόρμας σε αντικείμενο άλλης φόρμας | zinocrotale | Access - Ερωτήσεις / Απαντήσεις | 3 | 18-04-13 18:35 |
Ενημέρωση Πεδίου Δευτερεύουσας Φόρμας μέσω Βοηθητικής Φόρμας | Χρήστος | Access - Ερωτήσεις / Απαντήσεις | 1 | 17-04-12 19:18 |
Επιλογή "άκυρο" σε μήνυμα με το κλείσιμο της φόρμας Βackup | alex | Access - Ερωτήσεις / Απαντήσεις | 3 | 14-03-12 11:52 |
[Συναρτήσεις] Επιλογή αριθμών | gpentez | Excel - Ερωτήσεις / Απαντήσεις | 2 | 10-03-12 08:56 |
[ Active X Controls ] Επιλογή ημερομηνίας από Active X και αυτόματη ενημέρωση φόρμας | Χρήστος | Access - Ερωτήσεις / Απαντήσεις | 14 | 31-12-10 17:06 |
Η ώρα είναι 20:06.