Περιεχόμενα
Δείκτης 🔎︎

# Δεδομένα

Η σελίδα καρτέλας επιλογών Δεδομένα καθορίζει τις ιδιότητες φόρμας που αναφέρονται στη βάση δεδομένων που είναι συνδεδεμένη με τη φόρμα.

Ορίζει την προέλευση δεδομένων στην οποία βασίζεται η φόρμα, ή καθορίζει αν τα δεδομένα μπορούν να τροποποιηθούν από τον χρήστη. Εκτός από τις λειτουργίες ταξινόμησης και φίλτρου, θα βρείτε επίσης όλες τις ιδιότητες που είναι απαραίτητες για τη δημιουργία μιας δευτερεύουσας φόρμας.

Για να έχετε πρόσβαση σε αυτήν τη λειτουργία...

Ανοίξτε το μενού περιβάλλοντος ενός επιλεγμένου στοιχείου φόρμας - επιλέξτε την καρτέλα Φόρμα - Δεδομένα.

Ανοίξτε τη γραμμή εργαλείων Στοιχεία ελέγχου φόρμας ή τη γραμμή εργαλείων Σχεδίαση φόρμας, πατήστε στο εικονίδιο Φόρμα - στην καρτέλα Δεδομένα.

## Ανάλυση εντολής SQL

Καθορίζει αν η SQL δήλωση είναι για ανάλυση από το LibreOffice. Αν ρυθμίστηκε στο Ναι, μπορείτε να πατήσετε το ... κουμπί δίπλα στο Περιεχόμενο πεδίο λίστας. Αυτό θα ανοίξει ένα παράθυρο όπου μπορείτε γραφικά να δημιουργήσετε μια βάση δεδομένων για ερωτήματα. Όταν κλείσετε αυτό το παράθυρο, η SQL δήλωση για το δημιουργημένο ερώτημα θα εισαχθεί στο Περιεχόμενο πεδίο λίστας.

## Γραμμή περιήγησης

Καθορίζει αν οι λειτουργίες πλοήγησης της παρακάτω ράβδου της φόρμας μπορούν να χρησιμοποιηθούν.

Η επιλογή "Γονική φόρμα" χρησιμοποιείται για δευτερεύουσες φόρμες. Αν επιλέξετε αυτήν τη δυνατότητα για μια υποφόρμα, μπορείτε να πραγματοποιήσετε περιήγηση χρησιμοποιώντας τις εγγραφές της κύριας φόρμας όταν ο δρομέας τοποθετηθεί στη υποφόρμα. Η υποφόρμα είναι συνδεδεμένη με την γονική φόρμα σε αναλογία 1:1, επομένως η περιήγηση ολοκληρώνεται πάντοτε στη γονική φόρμα.

## Κύκλος

Καθορίζει πως η πλοήγηση θα πρέπει να γίνεται χρησιμοποιώντας το πλήκτρο tab. Χρησιμοποιώντας το πλήκτρο tab, μπορείτε να προωθηθείτε μέσα στη φόρμα. Αν ταυτόχρονα πιέσετε το πλήκτρο Shift, η Περιήγηση θα ακολουθήσει την αντίθετη κατεύθυνση. Όταν φτάσετε στο τελευταίο (ή το πρώτο) πεδίο και πιέσετε ξανά το πλήκτρο tab, ενδέχεται να συμβούν διάφορα αποτελέσματα. Καθορίστε το πεδίο ελέγχου πλήκτρου, μέσω των παρακάτω επιλογών:

Επιλογή | Έννοια
Προεπιλογή | Η επιλογή αυτή καθορίζει αυτόματα έναν κύκλο, ο οποίος ακολουθεί μία υπάρχουσα σύνδεση βάσης δεδομένων: Aν η φόρμα περιέχει ένα σύνδεσμο βάσης δεδομένων, το πλήκτρο Tab, από προεπιλογή, θα ξεκινήσει μια αλλαγή προς την επόμενη ή την προηγούμενη εγγραφή, κατά την έξοδο από το τελευταίο πεδίο (βλέπε Όλες οι εγγραφές). Όταν δεν υπάρχει σύνδεσμος βάσης δεδομένων, εμφανίζεται η φόρμα επόμενο/προηγούμενο (βλέπε Τρέχουσα σελίδα).
Όλες οι εγγραφές | Η επιλογή αυτή ισχύει μόνο για φόρμες βάσεων δεδομένων και χρησιμοποιείται για περιήγηση ανάμεσα σε όλες τις εγγραφές. Η τρέχουσα εγγραφή αλλάζει κατά την έξοδο από το τελευταίο πεδίο μιας φόρμας, μέσω του πλήκτρου Tab.
Ενεργή εγγραφή | Η επιλογή αυτή ισχύει μόνο για φόρμες βάσεων δεδομένων και χρησιμοποιείται για περιήγηση μέσα στην τρέχουσα εγγραφή. Η τρέχουσα εγγραφή αλλάζει κατά την έξοδο από το τελευταίο πεδίο μιας φόρμας, μέσω του πλήκτρου Tab.
Τρέχουσα σελίδα | Κατά την έξοδο από το τελευταίο πεδίο μιας φόρμας, ο δρομέας μετακινείται στο πρώτο πεδίο της επόμενης φόρμας. Η ενέργεια αυτή είναι τυπική για φόρμες HTML, επομένως, η επιλογή αυτή αφορά κυρίως φόρμες HTML.

## Μόνο προσθήκη δεδομένων

Καθορίζει αν η φόρμα πρέπει να επιτρέπει την προσθήκη μόνο νέων δεδομένων (Ναι) ή αν πρέπει να επιτρέπει και άλλες ιδιότητες (Όχι).

Αν ηΜόνο προσθήκη δεδομένων έχει ρυθμιστεί στο "Ναι", η αλλαγή ή η διαγραφή δεδομένων δεν είναι δυνατή.

## Να επιτρέπεται διαγραφή δεδομένων

Καθορίζει αν είναι δυνατή η διαγραφή δεδομένων.

## Να επιτρέπεται προσθήκη δεδομένων

Καθορίζει το αν είναι δυνατή η προσθήκη δεδομένων.

## Να επιτρέπεται τροποποίηση δεδομένων

Καθορίζει αν είναι δυνατή η τροποποίηση δεδομένων.

## Περιεχόμενο

Καθορίζει το περιεχόμενο που πρόκειται να χρησιμοποιηθεί στη φόρμα. Το περιεχόμενο μπορεί να είναι ένας υπάρχον πίνακας ή ένα ερώτημα (που δημιουργήθηκε πριν στη βάση δεδομένων), ή μπορεί να είναι να προσδιοριστεί από μια δήλωση SQL. Πριν εισάγετε ένα περιεχόμενο πρέπει να καθορίσετε τον ακριβή τύπο σε Τύπος περιεχόμενου.

Αν έχετε επιλέξει το "Πίνακας" ή το "Ερώτημα" σε Τύπο περιεχομένων, το πλαίσιο βάζει σε κατάλογο όλους τους πίνακες και τα ερωτήματα που έχουν οργανωθεί στην επιλεγμένη βάση δεδομένων.

## Προέλευση δεδομένων

Καθορίζει την προέλευση, δηλαδή, σε ποια δεδομένα πρέπει να αναφέρεται η φόρμα. Αν επιλέξετε το κουμπί ..., καλείτε το Άνοιγμα διαλόγου, όπου μπορείτε να επιλέξετε μια προέλευση δεδομένων.

## Σύνδεση κύριων πεδίων

Αν δημιουργήσετε μία υποφόρμα,εισάγετε τα δεδομένα πεδίου από την γονική φόρμα η οποία είναι υπεύθυνη για τον συγχρονισμό μεταξύ κύριας και δευτερεύουσας φόρμας. Για να εισάγετε πολλαπλές τιμές, πατήστε Shift + Enter μετά από κάθε γραμμή εισόδου.

Η υποφόρμα βασίζεται σε ένα ερώτημα SQL, πιο συγκεκριμένα, σε ένα Ερώτημα Παραμέτρου. Αν ένα όνομα πεδίου εισαχθεί στο κουτί Σύνδεση κύριων πεδίων, τα δεδομένα που περιέχονται στο πεδίο μέσα στην κύρια φόρμα διαβάζονται σε μία μεταβλητή την οποία πρέπει να εισάγετε στο Σύνδεση δευτερευόντων πεδίων. Σε μία κατάλληλη πρόταση σε SQL, αυτή η μεταβλητή συγκρίνεται με τον πίνακα δεδομένων στον οποίο αναφέρεται η υποφόρμα. Εναλλακτικά, μπορείτε να εισάγετε το όνομα στήλης στο κουτί Σύνδεση κύριων πεδίων.

Προσέξτε το παρακάτω παράδειγμα:

Ο πίνακας της βάσης δεδομένων στον οποίο βασίζεται η φόρμα είναι, για παράδειγμα, μια βάση δεδομένων πελατών ("Πελάτης"), όπου σε κάθε πελάτη έχει δοθεί ένας μοναδικός αριθμός σε ένα πεδίο δεδομένων που ονομάζεται "Cust_ID". Οι παραγγελίες του πελάτη διατηρούνται σε άλλον πίνακα βάσης δεδομένων. Τώρα θέλετε να δείτε τις παραγγελίες κάθε πελάτη μετά την εισαγωγή τους στη φόρμα. Για να το κάνετε αυτό, πρέπει να δημιουργήσετε μια υποφόρμα.Κάτω απο τον Σύνδεσμο κύριου πεδίου εισάγετε τα δεδομένα πεδίου από την βάση δεδομένων του πελάτη, η οποία αναγνωρίζει πλήρως τον πελάτη, δηλαδή, Cust_ID. Κάτω από τον Σύνδεσμο δευτερεύοντος πεδίου εισάγετε το όνομα μιας μεταβλήτής, η οποία θα δεχθεί τα δεδομένα του πεδίου Cust_ID, για παράδειγμα, χ.

Η υποφόρμα πρέπει να εμφανίζει τα κατάλληλα δεδομένα από τον πίνακα παραγγελιών ("Παραγγελίες") για κάθε αναγνωριστικό πελάτη (Customer_ID -> x). Αυτό είναι δυνατό μόνο στην περίπτωση που κάθε παραγγελία αντιστοιχίζεται αποκλειστικά σε έναν πελάτη του πίνακα παραγγελιών. Εναλλακτικά, μπορείτε να χρησιμοποιήσετε ένα άλλο πεδίο που ονομάζεται Customer_ID,όμως, για να βεβαιωθείτε ότι αυτό το πεδίο δεν συγχέεται με το πεδίο της κύριας φόρμας το πεδίο αυτό ονομάζεται Customer_Number.

Tώρα συγκρίνετε το Customer_Number στον πίνακα "Orders"με το Customer_ID από τον πίνακα "Customers" ,το οποίο μπορεί να γίνει, για παράδειγμα, με τη χρήση της μεταβλητής χ με την ακόλουθη πρόταση σε SQL:

SELECT * FROM Order WHERE Cust_ID =: x (εάν θέλετε η υποφόρμα να εμφανίζει όλα τα δεδομένα του πίνακα παραγγελιών)

ή:

SELECT Item FROM Orders WHERE Customer_Number =: x (αν θέλετε η υποφόρμα του πίνακα εντολών να εμφανίζει μόνο τα δεδομένα που περιέχονται στο πεδίο "Item")

Η πρόταση SQL μπορεί είτε να εισαχθεί κατευθείαν στο πεδίο Προέλευσης Δεδομένων, ή μπορείτε να δημιουργήσετε ένα κατάλληλο ερώτημα παραμέτρου, το οποίο να μπορεί να χρησιμοποιηθεί για τη δημιουργία δευτερεύουσας φόρμας.

## Σύνδεση με δευτερεύοντα πεδία

Αν δημιουργήσετε μία υποφόρμα, εισάγετε την μεταβλητή όπου πιθανές τιμές από την γονική φόρμα πεδίου μπορούν να φυλαχθούν. Αν η υποφόρμα βασίζεται σε ένα ερώτημα, εισάγετε τη μεταβλητή που καθορίσατε στο ερώτημα. Αν δημιουργήσετε μία φόρμα χρησιμοποιώντας μία πρόταση SQL που έχει εισαχθεί στο πεδίο Προέλευση δεδομένων, εισάγετε την μεταβλητή που χρησιμοποιήσατε στην πρόταση. Μπορείτε να επιλέξετε ένα οποιοδήποτε όνομα μεταβλητής. Αν θέλετε να εισάγετε πολλαπλές μεταβλητές, πατήστε Shift + Enter.

Αν, για παράδειγμα, καθορίσατε το πεδίο βάσης δεδομένων Customer_ID ως το γονικό πεδίο υπό τον Σύνδεσμο κύριου πεδίου, μπορείτε στη συνέχεια να καθορίσετε υπό τον Σύνδεσμο δευτερεύοντος πεδίου το όνομα της μεταβλητής στην οποία πρόκειται να αποθηκευτούν οι τιμές του πεδίου βάσης δεδομένων Customer_ID. Αν τώρα καθορίσετε μια πρόταση SQL στο πεδίο Προέλευση Δεδομένων χρησιμοποιώντας αυτήν τη μεταβλητή, οι σχετικές τιμές εμφανίζονται στη υποφόρμα.

## Ταξινόμηση

Καθορίζει τις συνθήκες για να ταξινομηθούν τα δεδομένα στη φόρμα. Ο ορισμός των συνθηκών ταξινόμησης ακολουθεί κανόνες SQL χωρίς την χρήση της κατά σειρά πρότασης. Για παράδειγμα, αν θέλετε όλες οι εγγραφές μιας βάσης δεδομένων να ταξινομηθούν σε ένα πεδίο σε αύξουσα σειρά και ένα άλλο πεδίο σε φθίνουσα σειρά, εισάγετε αρχικό όνομα ASC, όνομα DESC (προδικάζοντας ότι αρχικό όνομα και όνομα είναι ονόματα πεδίων δεδομένων).

Τα κατάλληλα εικονίδια στη γραμμή περιήγηση φόρμας μπορούν να χρησιμοποιηθούν στην κατάσταση λειτουργίας χρήστη για ταξινόμηση: Αύξουσα ταξινόμηση, Φθίνουσα ταξινόμηση, Ταξινόμηση.

## Τύπος περιεχομένων

Ορίζει αν η προέλευση αρχείων είναι σε υπάρχον πίνακα δεδομένων ή ερώτημα, ή αν η φόρμα θα δημιουργηθεί βασισμένη σε δήλωση SQL.

Αν επιλέξετε "Πίνακας" ή "Ερώτημα", η φόρμα θα αναφέρεται στον πίνακα ή στο ερώτημα που καθορίσατε στο Περιεχόμενο. Αν θέλετε να δημιουργήσετε ένα νέο ερώτημα ή μία υποφόρμα, τότε θα πρέπει να επιλέξετε την "SQL" επιλογή. Μπορείτε να εισάγετε την δήλωση για το SQL ερώτημα ή την υποφόρμα απευθείας στο πλαίσιο Περιεχόμενο καταλόγου στην καρτέλα των ιδιοτήτων πεδίου ελέγχου δεδομένων.

## Φίλτρο

Εισάγετε τις απαιτούμενες συνθήκες για φιλτράρισμα των δεδομένων στη φόρμα. Οι καθορισμοί φίλτρων ακολουθούν κανόνες SQL χωρίς να χρησιμοποιούν προτάσεις τύπου WHERE. Για παράδειγμα, αν θέλετε να εμφανίσετε όλες τις εγγραφές με το "Mike" αρχικό όνομα, πληκτρολογήστε μέσα στο πεδίο δεδομένων: Forename = 'Mike'. Μπορείτε επίσης να συνδυάσετε συνθήκες: Forename = 'Mike' ή Forename = 'Peter'. Όλες οι εγγραφές που ταιριάζουν σε κάποια εκ των δύο συνθηκών θα εμφανιστεί.

Η λειτουργία φίλτρου είναι διαθέσιμη στην κατάσταση λειτουργίας χρήστη από τα εικονίδια Αυτόματο Φίλτρο και προεπιλεγμένο φίλτρο στη γραμμή Περιήγηση φόρμας.

## Τι είναι μια υποφόρμα;

Οι φόρμες δημιουργούνται με βάση έναν πίνακα βάσης δεδομένων ή ένα ερώτημα βάσης δεδομένων. Αυτές εμφανίζουν τα δεδομένα με γραφική απεικόνιση και είναι δυνατόν να χρησιμοποιηθούν για την εισαγωγή νέων δεδομένων ή για την επεξεργασία δεδομένων.

Στην περίπτωση που χρειάζεστε μια φόρμα, η οποία μπορεί να αναφέρεται στα δεδομένα ενός πίνακα ή ερωτήματος και μπορεί επίσης να εμφανίζει δεδομένα από άλλον πίνακα, τότε θα έπρεπε να δημιουργήσετε μια υποφόρμα μέσα στη φόρμα σας. Για παράδειγμα, αυτή η υποφόρμα μπορεί να είναι ένα πλαίσιο κειμένου που προβάλλει τα δεδομένα ενός άλλου πίνακα βάσης δεδομένων.

Μια υποφόρμα δεν είναι τίποτα περισσότερο από ένα πρόσθετο στοιχείο της κύριας φόρμας. Η κύρια φόρμα ονομάζεται "γονική φόρμα" ή "κύρια". Οι υποφόρμες χρειάζονται αν θέλετε να έχετε πρόσβαση σε περισσότερους από έναν πίνακες από μία φόρμα. Κάθε επιπλέον πίνακας απαιτεί τη δική του υποφόρμα.

Αφού δημιουργηθεί μία φόρμα, μπορεί να αλλάξει σε υποφόρμα. Για να το κάνετε αυτό, μεταβείτε στην Λειτουργία Σχεδιασμού, και ανοίξτε την περιήγηση Φόρμας. Στην Περιήγηση Φόρμας, σύρετε μία φόρμα (η οποία θα γίνει υποφόρμα) πάνω από οποιαδήποτε άλλη φόρμα (η οποία θα γίνει κύρια).

Ο χρήστης του εγγράφου σας δεν βλέπει ότι μια φόρμα έχει υποφόρμες. Ο χρήστης βλέπει μόνο ένα έγγραφο στο οποίο εισάγονται δεδομένα ή προβάλλονται υπάρχοντα δεδομένα.

Ορίστε τον σύνδεσμο κύριου πεδίου από τα πεδία δεδομένων της κύριας φόρμας. Στην υποφόρμα, ο σύνδεσμος δευτερεύοντος πεδίου μπορεί να ρυθμιστεί ως πεδίο που θα αντιστοιχηθεί στα περιεχόμενα του Συνδέσμου κύριου πεδίου.

Όταν ο χρήστης περιηγείται στα δεδομένα, η φόρμα πάντα προβάλλει την τρέχουσα εγγραφή δεδομένων. Αν υπάρχουν ορισμένες υποφόρμες, τα περιεχόμενα τους θα προβάλλονται μετά από μια μικρή καθυστέρηση των 200 ms. Αυτή η καθυστέρηση σας επιτρέπει να εξερευνήσετε γρήγορα τις εγγραφές δεδομένων της κύριας φόρμας. Αν περιηγηθείτε στην επόμενη κύρια εγγραφή δεδομένων μέσα στο χρονικό περιθώριο, τα δευτερεύοντα δεδομένα δεν θα ανακτηθούν ή προβληθούν.