Περιεχόμενα

# Δεδομένα

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

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

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

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

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

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

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

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

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

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

## Κύκλος

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

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

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

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

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

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

Καθορίζει εάν τα δεδομένα μπορούν να διαγραφούν.

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

Καθορίζει εάν μπορούν να προστεθούν δεδομένα.

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

Καθορίζει εάν τα δεδομένα μπορούν να τροποποιηθούν.

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

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

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

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

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

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

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

Η υποφόρμα βασίζεται σε ένα ερώτημα SQL· πιο συγκεκριμένα, σε ένα ερώτημα παραμέτρου. Εάν ένα όνομα πεδίου εισάγεται στο πλαίσιο Σύνδεση κύριων πεδίων (Link master fields), τα περιεχόμενα δεδομένα σε αυτό το πεδίο στην κύρια φόρμα διαβάζονται σε μια μεταβλητή που πρέπει να εισάγετε στο Σύνδεση εξαρτώμενων πεδίων (Link slave fields). Σε μια κατάλληλη πρόταση SQL, αυτή η μεταβλητή συγκρίνεται με τα δεδομένα πίνακα στα οποία αναφέρεται η υποφόρμα. Εναλλακτικά, μπορείτε να εισάγετε το όνομα της στήλης στο πλαίσιο Σύνδεση κύριων πεδίων Link master fields().

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

Ο πίνακας της βάσης δεδομένων στον οποίο βασίζεται η φόρμα είναι, για παράδειγμα, μια βάση δεδομένων πελατών ("Πελάτης"), όπου σε κάθε πελάτη έχει δοθεί ένας μοναδικός αριθμός σε ένα πεδίο δεδομένων που ονομάζεται "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 χωρίς τη χρήση του όρου ORDER BY. Παραδείγματος χάρη, εάν θέλετε όλες οι εγγραφές βάσης δεδομένων να ταξινομηθούν σε ένα πεδίο σε αύξουσα σειρά και σε άλλο σε φθίνουσα σειρά, εισάγετε Forename ASC, Name DESC (υποθέτοντας ότι Forename and Name (όνομα και επώνυμο) είναι τα ονόματα των πεδίων δεδομένων).

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

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

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

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

## Φίλτρο

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

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

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

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

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

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

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

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

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

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