---
title: "Atlantis Advanced Forms - Simple Table Edit Form"
canonical: "https://wiki.soft1.eu/space/ATEL/182092781/Atlantis%20Advanced%20Forms%20-%20Simple%20Table%20Edit%20Form"
format: markdown
---
Tα παραδείγματα που ακολουθούν αφορούν αποκλειστικά την άμεση εξοικείωση σας με τα νέα Customization Tools του ATLANTIS. Για αυτόν το λόγο χρησιμοποιούνται Core πίνακες του ATLANTIS.  Σε καμία περίπτωση δεν προτείνεται να γίνονται καταχωρίσεις σε Core πίνακες με αυτόν τον τρόπο. Σχεδιασμός Simple Table Edit Form Η Simple Table Edit Form δίνει τη δυνατότητα παρουσίασης και καταχώρησης εγγραφών στη βάση. Ακολουθεί παράδειγμα με τα βήματα κατασκευής/σχεδιασμού μιας Simple Table Edit Form μαζί με Look up πεδίο. Το Look up πεδίο είναι μια στήλη του Grid ή ένα edit πεδίο, στο οποίο μπορείτε να φέρετε ένα πεδίο της βάσης, το οποίο ανήκει σε διαφορετικό πίνακα από αυτόν που έχει οριστεί στο κύριο DataSet. Οι δυο πίνακες συνδέονται μεταξύ τους με ένα κοινό πεδίο.  Η δυνατότητα του  Look  up δίνεται σε όλες τις φόρμες αλλά η χρήση του συνιστάται μόνο για πίνακες που περιέχουν λίγες εγγραφές. Σε άλλη περίπτωση, προτείνεται η χρήση του  Property  Relations.  Στο παράδειγμα μας, θα κατασκευαστεί μια φόρμα που θα παρουσιάζει κάποια πεδία από τον πίνακα  Material  και την περιγραφή μιας κατηγορίας που έρχεται από άλλο πίνακα. Αρχικά, εκτελούνται τα βήματα που περιγράφονται στο Tab των Οδηγιών Παραμετροποίησης > Βήματα Παραμετροποίησης και στη συνέχεια εκτελείτε τα επιμέρους βήματα για τη συγκεκριμένη φόρμα. Βήμα 1 Κατά την εισαγωγή στη φόρμα, έρχονται τα Controls που χρειάζεστε έτοιμα πάνω στην φόρμα.  Το μόνο Control που φέρνετε από την παλέτα είναι το MemTable (Drag and Drop). ListDataSet ListData Source TMemTable TDBControl Grid Βήμα 2 Συμπληρώστε τα ακόλουθα πεδία σε κάθε Control: 1.ListDataSet : Locate SQL: Συμπληρώνετε το Query στο παράθυρο που εμφανίζεται. TableName: Το όνομα του πίνακα. UpdateKey: Το  Primary Key  του πίνακα. Όταν συμπληρώνετε το Table Name και το UpdateKey δεν πρέπει να αφήνετε κενά. Διαφορετικά, θα εμφανιστεί Error. 2.ListDataSource: DataSet: Συμπληρώνετε το όνομα του DataSet από το oποίο θα παίρνει δεδομένα. 3.  TMemTable1: Load Query: Συμπληρώνετε το Query με τον πίνακα και τα πεδία που χρειάζονται ώστε να δημιουργηθεί το Lookup πεδίο. Στη συνέχεια, μεταβαίνετε στο Fields Editor του MemTable1 (βλ. Διαθέσιμα Controls) και προσθέτετε τα δυο πεδία που φέρατε με το Query.  Ο πίνακας που χρησιμοποιείται στο παράδειγμα είναι ο MESUNIT. Τέλος, επιστρέφετε στο TCliDataSet (ListDataSet) στο Fields Editor και προσθέτετε το πεδίο με το οποίο συνδέεται ο MATERIAL με τον MESUNIT και το πεδίο του MESUNIT που θέλετε να έρθει, ακριβώς όπως το έχετε δηλώσει στο Fields Editor του MemTable1. Το πεδίο του MATERIAL που συμπίπτει με το CODEID του MESUNIT είναι το MU1. Όπως μπορείτε να δείτε, το DESCR είναι Lookup πεδίο άρα το Field Type το αλλάζετε σε Lookup και συμπληρώνετε τα πεδία από κάτω. Στο Key Fields επιλέγετε από το drop down το πεδίο σύνδεσης του MATERIAL με τον MESUNIT, στο Dataset τον MemTable που έχετε φορτώσει το Lookup, στο Lookup Keys το πεδίο σύνδεσης του MemTable και τέλος στο Result Field το πεδίο του MemTable που θέλετε να επιστρέφεται. 4. TDBControlGrid Για το TDBControlGrid ακολουθείτε τα ίδια βήματα του TDBControlGrid της Basic Form (βλ. Basic Form ->Βήμα 2). Ορίστηκαν οι παρακάτω στήλες για το Grid. Η φόρμα, πριν την τρέξετε, θα πρέπει να έχει την εξής μορφή. Τέλος, γίνεται αλλαγή στο Caption (βλ. Basic Form > Βήμα 2) της φόρμας από Untitled1 σε Είδη. Βήμα 3 Πατώντας Run (συντ. F9) παρουσιάζεται η τελική φόρμα που κατασκευάσατε/σχεδιάσατε. Όπως βλέπετε, δίπλα από την Κατηγορία Είδους έρχεται συμπληρωμένη και η Περιγραφή Κατηγορίας του Είδους. Προκειμένου να λειτουργήσει σωστά αυτός ο τύπος φόρμας θα πρέπει να προσέξετε τα ακόλουθα: Τα ονόματα τον Controls που έρχονται αυτόματα με το που εισέρχεστε στη φόρμα  δεν  αλλάζουν, τα αφήνετε ως έχουν. Όλα τα Buttons που έρχονται By Default στη φόρμα έχουν μέσα στα Properties τους τη δυνατότητα να γίνουν Enable False, Visible False ή και να διαγράφουν χειροκίνητα. Σε αυτόν τον τύπο φόρμας κάνετε καταχωρίσεις, άρα θα πρέπει να προσέξετε τα Non-Nullable πεδία του πίνακα. Αν προσπαθήσετε να καταχωρήσετε κάτι σε έναν πίνακα και δεν έχετε συμπεριλάβει όλα τα Non-Nullable πεδία στο Grid που πρέπει να συμπληρωθούν θα σας εμφανίσει το παρακάτω Error.  Αυτό ισχύει για όλες τις φόρμες που έχουν τη δυνατότητα να κάνουν καταχωρίσεις στη βάση.