Παιδιά ευχαριστώ για τις συμβουλές.. το κυριότερο απ' όλα είναι ότι με κάνουν να σκεφτώ κι' αλλιώς...
Tα συμβάντα GotFocus και Click για το textbox φυσικά και υπάρχουν και στην Access... αυτό έλειπε! ....αλλά το συμβάν Mouse_Left_Button_Down δεν το βλέπω.
Σκέφτηκα λοιπόν να κάνω το εξής:
Private Sub txtChooce_GotFocus()
yTopPosition = 0
yTopPosition = lngCurrentRecord - 1 'σύνολο εγγραφών μείον της τρέχουσας
If yTopPosition > 0 Then
yTopPosition = yTopPosition * 1170 'επί το ύψος της λεπτομέρειας
yTopPosition = yTopPosition + 3215 '+ το ύψος της κεφαλίδας
yTopPosition = yTopPosition + 113 '+ το ύψος της λεπτομέρειας της τρέχουσας εγγραφής μέχρι το textbox
yTopPosition = yTopPosition + 330 '+ το ύψος του textbox
Else
yTopPosition = 3215 '+ το ύψος της κεφαλίδας
yTopPosition = yTopPosition + 113 '+ το ύψος της λεπτομέρειας της τρέχουσας εγγραφής μέχρι το textbox
yTopPosition = yTopPosition + 330 '+ το ύψος του textbox
End If
End Sub
Ε λοιπόν αυτό δεν λειτουργεί σωστά γιατί εμφανίζει τη δεύτερη φόρμα κάτω από το textbox με ένα τεράστιο διάστημα αλλά τουλάχιστον φαίνεται σαν να πρόκειται για ένα σταθερό σημείο.
Έστι χρειάζεται μία επιπλέον διόρθωση για να εμφανιστεί η δεύτερη φόρμα στο σημείο που θέλω.
yTopPosition = yTopPosition - 300 'διόρθωση
Τώρα γίνεται ικανοποιητικό αλλά ξανά όταν μετακινούμε μεταξύ των εγγραφών δημιουργείται μια πολύ μικρή διαφορά μεταξύ του textbox και του σημείου εμφάνισης της δεύτερης φόρμας. Η διαφορά αυτή ολοένα μειώνει το διάστημα μεταξύ του textbox και της δεύτερης φόρμας καθώς μεγαλώνει η lngCurrentRecord . Στην πέμπτη -έκτη εγγραφή αρχίζει να καβαλά το textbox.
Οπότε χρειάζεται μία επιπλέον διόρθωση στην περίπτωση που η lngCurrentRecord > 0.
yTopPosition = yTopPosition + (6 * lngCurrentRecord) 'επιπλέον διόρθωση
Λίγο μπακαλίστικο αλλά αφού λειτουργεί...
Όμως γιατί όλες αυτές οι διορθώσεις θα πρέπει να υπάρχει μία εξήγηση.....
Τέλος πάντων.. τί γίνεται τώρα όταν μετακινούμε σε μία εγγραφή αρκετά παρακάτω με το scrollbar; Υπάρχει κάποιος τρόπος να μετρήσω κατά πόσο και που μετακινήθηκα;