Δημιουργία ερωτήματος διαβίβασης
Applies ToAccess για Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Μπορείτε να χρησιμοποιήσετε την Access ως εφαρμογή προσκηνίου και, στη συνέχεια, να συνδεθείτε σε πίνακες ενός διακομιστή back-end, όπως ο SQL Server. Από προεπιλογή, τα περισσότερα ερωτήματα εκτελούνται τοπικά στο μηχανισμό βάσεων δεδομένων ACE της Access. Σε ορισμένες περιπτώσεις, η Access μπορεί να εκτελέσει ένα ερώτημα από απόσταση στον SQL Server, ανάλογα με τη σύνταξη SQL και άλλους παράγοντες. Για περισσότερες πληροφορίες, ανατρέξτε στο θέμα "Μηχανισμός βάσεων δεδομένων JET Έκδοση 3.0: Συνδεσιμότητα ODBC" στις λευκές βίβλοι JET και ODBC που έχουν ανακαλυφθεί ξανά.

Συχνά όμως, θέλετε να εκτελέσετε ρητά ένα ερώτημα σε ένα διακομιστή βάσης δεδομένων. Αυτό μπορείτε να το κάνετε για να βελτιώσετε τις επιδόσεις: οι διακομιστές βάσεων δεδομένων έχουν μεγαλύτερη επεξεργαστική ισχύ από έναν επιτραπέζιο υπολογιστή και μπορείτε να επιστρέψετε ένα μικρότερο υποσύνολο δεδομένων μέσω της σύνδεσης δικτύου. Για να εκτελέσετε ένα ερώτημα σε ένα διακομιστή βάσης δεδομένων, χρησιμοποιήστε ένα ερώτημα διαβίβασης το οποίο είναι μια πρόταση Transact SQL (TSQL) που συνδέεται με τον SQL Server χρησιμοποιώντας μια συμβολοσειρά σύνδεσης ODBC. Για παράδειγμα, μπορείτε να μεταβιβάσετε μια πρόταση SELECT για να επιστρέψετε δεδομένα σε ένα φύλλο δεδομένων, φόρμα, αναφορά ή στοιχείο ελέγχου λίστας, να εκτελέσετε το ισοδύναμο ερωτημάτων ενέργειας (προτάσεις γλώσσας χειρισμού δεδομένων (DML), να καλέσετε αποθηκευμένες διαδικασίες και να εκτελέσετε προτάσεις εργασιών διαχείρισης (Γλώσσα ορισμού δεδομένων (DDL).

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

  1. Συνδεθείτε σε μια βάση δεδομένων διακομιστή.

    Για περισσότερες πληροφορίες σχετικά με τη σύνδεση με τον SQL Server, ανατρέξτε στα θέματα Εισαγωγή ή σύνδεση με δεδομένα σε μια βάση δεδομένων SQL Server και Σύνδεση σε δεδομένα ή εισαγωγή δεδομένων από μια βάση δεδομένων Azure SQL Server.

  2. Επιλέξτε Δημιουργία > Σχεδίαση ερωτήματος.

  3. Εάν είναι απαραίτητο, κλείστε το παράθυρο διαλόγου Προσθήκη πινάκων (Εμφάνιση πίνακα στην Access.

  4. Επιλέξτε Σχεδίαση >Διέλευση.

    Η Access αποκρύπτει το πλέγμα σχεδίασης ερωτήματος και εμφανίζει την προβολή SQL.

  5. Εάν το φύλλο ιδιοτήτων ερωτήματος δεν εμφανίζεται, πατήστε το πλήκτρο F4 για να το εμφανίσετε.

  6. Στο φύλλο ιδιοτήτων, κάντε κλικ στο πλαίσιο ιδιότητας ODBC Connect Str και, στη συνέχεια, κάντε ένα από τα εξής:

    Για να λάβετε μια συμβολοσειρά σύνδεσης:

    1. Στο παράθυρο περιήγησης, κάντε δεξί κλικ σε έναν πίνακα που είναι συνδεδεμένος με την επιθυμητή προέλευση δεδομένων και επιλέξτε Διαχείριση συνδεδεμένων πινάκων.

    2. Στο παράθυρο διαλόγου Διαχείριση συνδεδεμένων πινάκων , επιλέξτε το πλαίσιο ελέγχου της προέλευσης δεδομένων και, στη συνέχεια, επιλέξτε Επεξεργασία.

    3. Στο παράθυρο διαλόγου Επεξεργασία σύνδεσης , αντιγράψτε το κείμενο στο πλαίσιο Συμβολοσειρά σύνδεσης .

    1. Επιλέξτε Δομή Κουμπί "Δόμηση".

    2. Ακολουθήστε τις οδηγίες για να δημιουργήσετε ένα αρχείο DSN που περιέχει τις πληροφορίες συμβολοσειράς σύνδεσης. Για λεπτομερείς οδηγίες, ανατρέξτε στα θέματα Εισαγωγή ή σύνδεση με δεδομένα σε μια βάση δεδομένων SQL Server και Σύνδεση σε δεδομένα ή εισαγωγή δεδομένων από μια βάση δεδομένων Azure SQL Server.

    Αφού δημιουργήσετε μια σύνδεση αρχείου DSN, η συμβολοσειρά σύνδεσης ODBC αποθηκεύεται εσωτερικά στη βάση δεδομένων της Access. Δείτε ένα τέχνασμα για να αποκτήσετε ένα αντίγραφο αυτής της συμβολοσειράς:

    1. Εντοπίστε ένα όνομα συνδεδεμένου πίνακα στο παράθυρο περιήγησης χρησιμοποιώντας τη σύνδεση ODBC που θέλετε.

    2. Πατήστε το συνδυασμό πλήκτρων Ctrl+G. για να ανοίξετε το παράθυρο VBA Immediate.

    3. Εισαγάγετε: τον ακόλουθο κωδικό:

      ?CurrentDb.TableDefs("<table name>").Connect

      Αλλά αντικαταστήστε <όνομα πίνακα> το όνομα του συνδεδεμένου πίνακα από το βήμα α.

    4. Αντιγράψτε τη συμβολοσειρά που επιστρέφεται στην ιδιότητα ODBC Connect Str .

  7. Εισαγάγετε το ερώτημά σας σε προβολή SQL.

    Σημείωση: Υπάρχουν σημαντικές διαφορές μεταξύ της Access SQL και του SQL Server TSQL, ειδικά με τη σύνταξη, τα ονόματα των συναρτήσεων και τα ορίσματα των συναρτήσεων. Για περισσότερες πληροφορίες, ανατρέξτε στη Σύγκριση της Access SQL με την SQL Server TSQL.

    Συμβουλή    Δημιουργήστε πρώτα το ερώτημα TSQL στο SQL Server Management Studio και, στη συνέχεια, αντιγράψτε και επικολλήστε το SQL σε προβολή SQL. Αυτό εξασφαλίζει ότι το ερώτημα έχει σωστή σύνταξη. Εάν δεν έχετε εύκολη πρόσβαση σε μια βάση δεδομένων SQL Server, εξετάστε το ενδεχόμενο να εγκαταστήσετε την έκδοση Microsoft SQL Server Express στον υπολογιστή σας, η οποία υποστηρίζει έως 10 GB και είναι ένας δωρεάν και ευκολότερος τρόπος για να εκτελέσετε και να ελέγξετε τη μετεγκατάστασή σας.

  8. Εξετάστε το ενδεχόμενο να ορίσετε πρόσθετες σχετικές ιδιότητες:

    • Επιστρέφει εγγραφές     Ορισμένες προτάσεις SQL επιστρέφουν εγγραφές, όπως η SELECT, ενώ ορισμένες όχι, όπως η UPDATE. Εάν το ερώτημα επιστρέφει εγγραφές, ορίστε αυτή την ιδιότητα σε Ναι. Εάν το ερώτημα δεν επιστρέψει εγγραφές, ορίστε αυτή την ιδιότητα σε Όχι.

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

      SELECT <pass-through query name>.*
      INTO <local table name>
      FROM < pass-through query name >

      Πρέπει να χρησιμοποιήσετε τον αστερίσκο (*), επειδή κάθε σύνολο αποτελεσμάτων μπορεί να έχει διαφορετικές στήλες. Κάθε σύνολο αποτελεσμάτων αποθηκεύεται σε ξεχωριστό πίνακα και οι αριθμοί προσαρτώνται ανάλογα στα ονόματα των τοπικών πινάκων. Για παράδειγμα, εάν επιστραφούν τρία σύνολα αποτελεσμάτων, τα ονόματα των πινάκων θα είναι: <όνομα τοπικού πίνακα>, <όνομα τοπικού πίνακα>1 <όνομα τοπικού πίνακα>2.

    • Μηνύματα καταγραφής    Καθορίστε εάν θα επιστρέφονται μηνύματα από τη βάση δεδομένων SQL σε έναν πίνακα μηνυμάτων της Access. Το όνομα του πίνακα έχει τη μορφή, όνομα χρήστη – nn, όπου όνομα χρήστη είναι το όνομα εισόδου για τον τρέχοντα χρήστη και nn είναι ένας αριθμός που ξεκινά από το 00.

    • Χρονικό όριο ODBC    Καθορίστε τον αριθμό των δευτερολέπτων αναμονής πριν από την εμφάνιση σφάλματος λήξης χρονικού σφάλματος κατά την εκτέλεση ενός ερωτήματος. Η προεπιλεγμένη τιμή είναι 60 δευτερόλεπτα. Ενδέχεται να υπάρξουν καθυστερήσεις λόγω της κίνησης δικτύου ή της μεγάλης χρήσης του διακομιστή βάσης δεδομένων.

    • Max Records    Καθορίστε τον μέγιστο αριθμό εγγραφών που θα επιστραφούν. Μπορεί να έχετε περιορισμένους πόρους συστήματος ή να θέλετε να ελέγξετε τα αποτελέσματά σας με μικρό μόνο όγκο δεδομένων.

  9. Όταν ολοκληρώσετε την εισαγωγή του ερωτήματος, επιλέξτε Σχεδίαση > Εκτέλεση. Το ερώτημά σας αποστέλλεται στο διακομιστή βάσης δεδομένων για επεξεργασία.

Δείτε επίσης

Αναφορά Transact-SQL

Υποβολή ερωτημάτων με transact-SQL

Χρειάζεστε περισσότερη βοήθεια;

Θέλετε περισσότερες επιλογές;

Εξερευνήστε τα πλεονεκτήματα της συνδρομής, περιηγηθείτε σε εκπαιδευτικά σεμινάρια, μάθετε πώς μπορείτε να προστατεύσετε τη συσκευή σας και πολλά άλλα.

Οι κοινότητες σάς βοηθούν να κάνετε και να απαντάτε σε ερωτήσεις, να δίνετε σχόλια και να ακούτε από ειδικούς με πλούσια γνώση.