Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Πρόβλημα με συνεχή φόρμα (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/448-problima-me-synexi-forma.html)

pm4698 24-02-10 21:09

Πρόβλημα με συνεχή φόρμα
 
Καλησπέρα.

Έχω μία φόρμα που ως πρώτη στήλη ένα πεδίο που τραβάει τιμή από το πεδίο Επώνυμο ενός πίνακα και οι διπλανές στήλες είναι σύνθετα πλαίσια από τα οποία ο χρήστης επιλέγει μία τιμή. Έχω ορίσει την φόρμα ως συνεχή.
Κατά συνέπεια, παίρνω μία λίστα με όλα τα επώνυμα και δίπλα στο καθένα επιλέγω κάτι σε κάθε σύνθετο πλαίσιο.
Έφτιαξα ένα κουμπί, με το οποίο θέλω να "καθαρίζω" τις τιμές που επιλέχθηκαν σε όλα τα σύνθετα πλαίσια.
Επόμενως στο on click event βάζω κώδικα του τύπου
Me.combobox_name.Value = "" για όλα τα σύνθετα πλαίσια, αλλά δεν πιάνει.
Συνήθως μου διαγράφει μόνο την πρώτη σειρά, και καμιά φορά κολλάει και μου διαγράφει μόνο την τελευταία επιλογή που έκανα σε ένα σύνθετο πλαίσιο.

Γενικότερα πως μπορώ να καθαρίσω το περιεχόμενο σύνθετων πλαισίων που επαναλαμβάνονται σε μία συνεχή φόρμα?

editolis 24-02-10 22:26

Δοκιμασε αυτο και ενημερωσε..

Me.FilterOn = False
Me.combobox_name.Value = Null

κλπ...

pm4698 24-02-10 22:44

Μου καθαρίζει μόνο το τελευταίο σύνθετο πλαίσιο που συμπλήρωσα.
Δεν ξέρω αν παίζει ρόλο, αλλά σημειώνω ότι τα σύνθετα πλαίσια βρίσκονται στην λεπτομέρεια και τα κουμπιά βρίσκονται στο υποσέλιδο.

kon73 24-02-10 23:07

Παντελή Καλησπέρα,

Τα σύνθετα πλαίσια έχουν το καθένα ένα RowSource το οποίο απλά είτε το θέτεις null η διαγράφεις τις εγγραφές του πίνακα στον οποίο βασίζεται το σύνθετο πλαίσιο.

editolis 24-02-10 23:11

OK. Καταλαβα.

Χρησιμοποιησε αυτο τον κωδικα με το κλικ του κουμπιου
εντολης:

==========================================
Dim ctl As Control

For Each ctl In Me.Detail.Controls
Select Case ctl.ControlType
Case acComboBox
ctl.Value = Null
End Select
Next
Me.FilterOn = False
=========================================

Ενημερωσε σε παρακαλω εαν ειναι ενταξει τωρα...

pm4698 02-03-10 20:44

Δοκίμασα την πρώτη πρότασή σου editolis αλλά πρόσθεσα και το:
DoCmd.GoToRecord , , acFirst
Do While Me.CurrentRecord - 1 < Me.RecordsetClone.RecordCount

'Αρχικός κώδικας από editolis
Me.FilterOn = False
Me.combobox_name.Value = Null

DoCmd.GoToRecord , , acNext
Loop

και δουλεύει μια χαρά.

Ευχαριστώ πολύ για την βοήθεια και το ενδιαφέρον σας!
Εις το επανιδείν!


Η ώρα είναι 14:16.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2