13-05-10, 10:38
|
Όνομα: Παντελής Έκδοση λογισμικού Office: Ms-Office 2007 Γλώσσα λογισμικού Office: Ελληνική | | Εγγραφή: 18-02-2010 Περιοχή: Καβάλα
Μηνύματα: 54
| |
Καλημέρα στην κοινότητα! Έχω μία απορία - προέκταση του συγκεκριμένου θέματος.
Θέλω όταν η φόρμα της ημέρας είναι κλειστή, να πατάω ένα κουμπί και να πηγαίνει σε όλες τις εγγραφές του πεδίου Υπηρεσία1 της συνεχούς φόρμας και να κάνει ουσιαστικά requery τον παρακάτω κώδικα.
DoCmd.GoToRecord , , acFirst
Dim FormOpemArgs$, TargetTextBoxName$
If IsNull(Me.OptWeekDays) And Not IsNull(Me.Υπηρεσία1) Then Exit Sub
Select Case Me.Υπηρεσία1
Case "ΤΑΜ1"
TargetTextBoxName = "k1"
Case "ΤΑΜ2"
TargetTextBoxName = "k2"
Case "ΤΑΜ3"
TargetTextBoxName = "k3"
End Select
strForname = Choose(Me.OptWeekDays, "ΥΠ_ΚΑΘ", "ΥΠ_ΣΑΒ")
' Προυπόθεση είναι ότι η φόρμα είναι κλειστή
Forms(strForname).Controls(TargetTextBoxName) = Me.Επώνυμο
'Η φόρμα έχει ήδη ανοίξει από την προηγούμενη γραμμή κώδικα
Do While Me.CurrentRecord - 1 < Me.RecordsetClone.RecordCount
FormOpemArgs = TargetTextBoxName & ";" & Me.Επώνυμο
DoCmd.OpenForm strForname, , , , , , FormOpemArgs
End If
DoCmd.GoToRecord , , acNext
Loop
Επειδή οι εγγραφές που περνούν στην φόρμα που ανοίγει δεν αποθηκεύονται κάπου όταν αυτή κλείνει, σε περίπτωση λάθους που πρέπει να αλλάξει κάτι θέλω με το πάτημα ενός κουμπιού να περνιούνται όλα τα combo boxes Υπηρεσία1 και να εκτελείται ο κώδικας από πίσω τους έτσι ώστε να ανοίγει πρώτα η φόρμα για να περνάει η πρώτη εγγραφή και μετά εφόσον έχει ανοίξει να περνούν και οι υπόλοιπες.
Το πρόβλημα είναι ότι μου βγάζει λάθος στο ότι δεν μπορεί να προχωρήσει στην επόμενη εγγραφή και περνά μόνο την πρώτη εγγραφή. Το πρόβλημα εμφανίζεται στην τελευταία γραμμή:
DoCmd.GoToRecord , , acNext
Καμιά ιδέα?
Ευχαριστώ
|