SQL.REQUEST (Συνάρτηση SQL.REQUEST)

Σε αυτό το άρθρο περιγράφονται η σύνταξη τύπου και η χρήση της συνάρτησης SQL.REQUEST στο Excel.

ΣΗΜΑΝΤΙΚΟ: 

  • Ξεκινώντας από το Excel 2010, η εμπειρία "Λήψη και Μετασχηματισμός" (Power Query) παρέχει βελτιωμένη λειτουργικότητα για την εισαγωγή δεδομένων από εξωτερικές προελεύσεις δεδομένων και αντικαθιστά αποτελεσματικά τη συνάρτηση SQL.REQUEST.

  • Η συνάρτηση SQL.REQUEST δεν υποστηρίζεται πέρα από την έκδοση Microsoft Excel 2007.

  • Ορισμένα από τα περιεχόμενα αυτού του θέματος μπορεί να μην ισχύουν για κάποιες γλώσσες.

Περιγραφή

Η συνάρτηση SQL.REQUEST συνδέεται με ένα αρχείο δεδομένων εξωτερικής προέλευσης και εκτελεί ένα ερώτημα από ένα φύλλο εργασίας. Στη συνέχεια, αποδίδει το αποτέλεσμα με τη μορφή πίνακα, χωρίς να απαιτείται προγραμματισμός μακροεντολών. Εάν η συνάρτηση αυτή δεν είναι διαθέσιμη, πρέπει να εγκαταστήσετε το πρόσθετο πρόγραμμα Microsoft Excel ODBC (XLODBC.XLA).

Σύνταξη

SQL.REQUEST(συμβολοσειρά_σύνδεσης;[αναφορά_εξόδου];[προτροπή_προγράμματος];[κείμενο_ερωτήματος];[λογική_ονομάτων_στηλών])

Η σύνταξη της συνάρτησης SQL.REQUEST περιλαμβάνει τα παρακάτω ορίσματα:

  • Συμβολοσειρά_σύνδεσης     Υποχρεωτικό. Παρέχει πληροφορίες, όπως το όνομα της προέλευσης δεδομένων, το αναγνωριστικό χρήστη και τους κωδικούς πρόσβασης που απαιτούνται από το πρόγραμμα οδήγησης, το οποίο χρησιμοποιείται για τη σύνδεση με την προέλευση δεδομένων και πρέπει να ακολουθεί τη μορφή του προγράμματος οδήγησης. Ο πίνακας που ακολουθεί δίνει τρία παραδείγματα του ορίσματος συμβολοσειρά_σύνδεσης για τρία διαφορετικά προγράμματα οδήγησης.

Πρόγραμμα οδήγησης

Συμβολοσειρά_σύνδεσης

dBASE

DSN=NWind;PWD=test

SQL Server

DSN=MyServer;UID=dbayer; PWD=123;Database=Pubs

ORACLE

DNS=My Oracle Data Source;DBQ=MYSERVER;UID=JohnS;PWD=Sesame

  • Πρέπει να καθορίσετε το όνομα της προέλευσης δεδομένων (DSN), στο όρισμα συμβολοσειρά_σύνδεσης, προτού να επιχειρήσετε να συνδεθείτε.

  • Μπορείτε να καταχωρήσετε το όρισμα συμβολοσειρά_σύνδεσης ως πίνακα ή συμβολοσειρά κειμένου. Εάν η συμβολοσειρά_σύνδεσης υπερβαίνει τους 250 χαρακτήρες, πρέπει να την εισάγετε ως πίνακα.

  • Εάν η συνάρτηση SQL.REQUEST δεν μπορεί να αποκτήσει πρόσβαση στην προέλευση δεδομένων χρησιμοποιώντας το όρισμα συμβολοσειρά_σύνδεσης, επιστρέφει την τιμή σφάλματος #Δ/Υ.

  • Αναφορά_εξόδου     Προαιρετικό. Μια αναφορά κελιού, όπου θέλετε να τοποθετηθεί ολόκληρη η συμβολοσειρά σύνδεσης. Εάν εισάγετε τη συνάρτηση SQL.REQUEST σε φύλλο εργασίας, το όρισμα αναφορά_εξόδου παραβλέπεται.

    • Χρησιμοποιήστε το όρισμα αναφορά_εξόδου, όταν θέλετε η συνάρτηση SQL.REQUEST να επιστρέφει την πλήρη συμβολοσειρά σύνδεσης (στην περίπτωση αυτή, πρέπει να καταχωρήσετε τη συνάρτηση SQL.REQUEST σε φύλλο μακροεντολών).

    • Εάν παραλείψετε το όρισμα αναφορά_εξόδου, η συνάρτηση SQL.REQUEST δεν επιστρέφει την πλήρη συμβολοσειρά σύνδεσης.

  • Προτροπή_προγράμματος     Προαιρετικό. Καθορίζει αν θα εμφανιστεί το παράθυρο διαλόγου του προγράμματος οδήγησης και ποιες επιλογές θα είναι διαθέσιμες. Χρησιμοποιήστε έναν από τους αριθμούς του παρακάτω πίνακα. Εάν παραλειφθεί το όρισμα προτροπή_προγράμματος, η συνάρτηση SQL.REQUEST χρησιμοποιεί από προεπιλογή την τιμή 2.

Προτροπή_προγράμματος

Περιγραφή

1

Εμφανίζεται πάντα το παράθυρο διαλόγου του προγράμματος οδήγησης.

2

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

3

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

4

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

  • Κείμενο_ερωτήματος     Προαιρετικό. Η εντολή SQL που θέλετε να εκτελεστεί στην προέλευση δεδομένων.

    • Εάν η συνάρτηση SQL.REQUEST δεν μπορεί να εκτελέσει την εντολή του ορίσματος κείμενο_ερωτήματος στη συγκεκριμένη προέλευση δεδομένων, επιστρέφει την τιμή σφάλματος #Δ/Υ.

    • Μπορείτε να ενημερώσετε ένα ερώτημα ενοποιώντας αναφορές στο όρισμα κείμενο_ερωτήματος. Στο παρακάτω παράδειγμα, κάθε φορά που αλλάζει το κελί $A$3, η συνάρτηση SQL.REQUEST χρησιμοποιεί τη νέα τιμή για την ενημέρωση του ερωτήματος.

"ΕΠΙΛΟΓΗ Ονόματος ΑΠΟ Πελάτες ΟΠΟΥ το Υπόλοιπο > "&$A$3&"".

Το Microsoft Excel περιορίζει τις συμβολοσειρές σε μήκος 255 χαρακτήρων. Εάν το όρισμα κείμενο_ερωτήματος υπερβαίνει αυτό το μήκος, καταχωρήστε το ερώτημα σε κατακόρυφη περιοχή κελιών και χρησιμοποιήστε ολόκληρη την περιοχή ως το όρισμα κείμενο_ερωτήματος. Οι τιμές των κελιών ενοποιούνται, για να σχηματίσουν ολόκληρη την εντολή SQL.

  • Λογική_ονομάτων_στηλών     Προαιρετικό. Καθορίζει αν τα ονόματα των στηλών επιστρέφονται στην πρώτη γραμμή των αποτελεσμάτων. Ορίστε την τιμή αυτού του ορίσματος σε TRUE, αν θέλετε τα ονόματα των στηλών να επιστρέφονται στην πρώτη γραμμή των αποτελεσμάτων. Χρησιμοποιήστε την τιμή FALSE, αν δεν θέλετε να επιστρέφονται τα ονόματα των στηλών. Εάν παραλειφθεί το όρισμα λογική_ονομάτων_στηλών, η συνάρτηση SQL.REQUEST δεν επιστρέφει τα ονόματα των στηλών.

Τιμή επιστροφής

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

  • Εάν η συνάρτηση SQL.REQUEST δεν επιτύχει πρόσβαση στην προέλευση δεδομένων χρησιμοποιώντας το όρισμα συμβολοσειρά_σύνδεσης, επιστρέφει την τιμή σφάλματος #Δ/Υ.

Παρατηρήσεις

  • Η συνάρτηση SQL.REQUEST μπορεί να καταχωρηθεί ως πίνακας. Όταν καταχωρήσετε τη συνάρτηση ως πίνακα, επιστρέφει έναν πίνακα στις διαστάσεις αυτής της περιοχής.

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

  • Εάν το σύνολο των αποτελεσμάτων είναι μεγαλύτερο από την περιοχή που καταλαμβάνει ο πίνακας, η συνάρτηση SQL.REQUEST επιστρέφει ολόκληρο τον πίνακα.

  • Τα ορίσματα της συνάρτησης SQL.REQUEST έχουν διαφορετική διάταξη από τα ορίσματα της συνάρτησης SQLRequest της Visual Basic for Applications.

Παράδειγμα

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

SQL.REQUEST("DSN=NWind;DBQ=c:\msquery;FIL=dBASE4", c15, 2, "Επιλογή Αναγνωριστικού_πελάτη, Προθεσμία από Παραγγελίες ΟΠΟΥ Ποσό_παραγγελίας>100", ΑΛΗΘΕΣ)

Αναπτύξτε τις δεξιότητές σας
Εξερευνήστε το περιεχόμενο της εκπαίδευσης
Αποκτήστε πρώτοι τις νέες δυνατότητες
Γίνετε μέλος του Office Insider

Σας βοήθησαν αυτές οι πληροφορίες;

Σας ευχαριστούμε για τα σχόλιά σας!

Σας ευχαριστούμε για τα σχόλιά σας! Φαίνεται ότι μπορεί να είναι χρήσιμο να συνδεθείτε με έναν από τους συνεργάτες υποστήριξης του Office.

×