SQL.REQUEST (Fungsi SQL.REQUEST)

Artikel ini menguraikan sintaks rumus dan penggunaan fungsi SQL.REQUEST di Excel.

Penting: 

  • Dimulai dengan Excel 2010, pengalaman Dapatkan & Transformasi (Power Query) menyediakan fungsi yang disempurnakan untuk mengimpor data dari sumber data eksternal, dan secara efektif menggantikan fungsi SQL.REQUEST.

  • Fungsi SQL.REQUEST tidak didukung di luar Microsoft Excel 2007.

  • Beberapa konten dalam topik ini mungkin tidak berlaku bagi beberapa bahasa.

Deskripsi

Fungsi SQL.REQUEST menyambungkan ke sumber data eksternal, dan menjalankan kueri dari lembar kerja. SQL.REQUEST lalu mengembalikan hasil sebagai larik tanpa memerlukan pemrograman makro. Jika fungsi ini tidak tersedia, Anda harus menginstal program add-in Microsoft Excel ODBC (XLODBC.XLA).

Sintaks

SQL.REQUEST(connection_string,[output_ref],[driver_prompt],[query_text],[col_names_logical])

Sintaks fungsi SQL.REQUEST memiliki argumen berikut:

  • Connection_string     Diperlukan. Menyuplai informasi, seperti nama sumber data, ID pengguna, kata sandi, diperlukan oleh driver yang digunakan untuk menyambung ke sumber data dan harus mengikuti format driver. Tabel berikut memberi tiga contoh string koneksi untuk tiga driver.

Driver

Connection_string

dBASE

DSN=NWind;PWD=test

SQL Server

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

ORACLE

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

  • Anda harus menentukan nama sumber data (DSN, Data Source Name) yang digunakan di connection_string sebelum Anda mencoba untuk menyambung ke sumber data.

  • Anda bisa memasukkan connection_string sebagai array atau string. Jika connection_string melebihi 250 karakter, Anda harus memasukkannya sebagai array.

  • Jika SQL.REQUEST tidak bisa mendapatkan akses ke sumber data menggunakan connection_string, maka nilai kesalahan #N/A akan dikembalikan.

  • Output_ref     Opsional. Referensi sel di mana Anda ingin string koneksi yang diselesaikan ditempatkan. Jika Anda memasukkan SQL.REQUEST ke lembar kerja, maka output_ref diabaikan.

    • Gunakan output_ref jika Anda ingin SQL.REQUEST untuk mengembalikan string koneksi yang diselesaikan (Anda harus memasukkan SQL.REQUEST ke lembar makro dalam kasus ini).

    • Jika Anda menghilangkan output_ref, SQL.REQUEST tidak mengembalikan string koneksi yang diselesaikan.

  • Driver_prompt     Opsional. Menentukan kapan kotak dialog driver ditampilkan dan opsi apa yang tersedia. Gunakan satu dari angka yang dijelaskan di tabel berikut ini. Jika driver_prompt dihilangkan, SQL.REQUEST menggunakan 2 sebagai default.

Driver_prompt

Deskripsi

1

Kotak dialog driver selalu ditampilkan.

2

Kotak dialog driver ditampilkan hanya jika informasi yang diberikan oleh string koneksi dan spesifikasi sumber data tidak memadai untuk menyelesaikan koneksi. Semua opsi kota dialog tersedia.

3

Kotak dialog driver ditampilkan hanya jika informasi yang diberikan oleh string koneksi dan spesifikasi sumber data tidak memadai untuk menyelesaikan koneksi. Opsi kotak dialog tampak redup dan tidak tersedia jika mereka tidak diperlukan.

4

Kotak dialog driver tidak ditampilkan. Jika koneksi tidak berhasil, hal itu akan mengembalikan kesalahan.

  • Query_text     Opsional. Pernyataan SQL yang ingin Anda jalankan pada sumber data.

    • Jika SQL.REQUEST tidak bisa menjalankan query_text pada sumber data tertentu, hal itu mengembalikan nilai kesalahan #N/A.

    • Anda bisa memperbarui kueri dengan menggabungkan referensi ke query_text. Di contoh berikut ini, setiap kali $A$3 berubah, SQL.REQUEST menggunakan nilai baru untuk memperbarui kueri.

"SELECT Nama FROM Pelanggan WHERE Saldo > "&$A$3&"".

Microsoft Excel membatasi panjang string sebanyak 255 karakter. Jika query_text melebihi panjang itu, masukkan kueri dalam rentang sel vertikal, dan gunakan seluruh rentang sebagai query_text. Nilai sel tersebut digabungkan untuk membentuk pernyataan SQL penuh.

  • Column_names_logical     Opsional. Menunjukkan apakah nama kolom dikembalikan sebagai baris pertama dari hasil. Tetapkan argumen ini menjadi TRUE jika Anda ingin nama kolom dikembalikan sebagai baris pertama dari hasil. Gunakan FALSE jika Anda tidak ingin nama kolom dikembalikan. Jika column_names_logical dihilangkan, SQL.REQUEST tidak mengembalikan nama kolom.

Nilai yang Dikembalikan

  • Jika fungsi ini menyelesaikan semua tindakannya, maka akan mengembalikan array hasil kueri atau jumlah baris yang dipengaruhi oleh kueri.

  • Jika SQL.REQUEST tidak bisa mendapat akses ke sumber data menggunakan connection_string, nilai kesalahan #N/A akan dikembalikan.

Keterangan

  • SQL.REQUEST dapat dimasukkan sebagai array. Saat Anda memasukkan SQL.REQUEST sebagai array, array akan dikembalikan agar pas dengan rentang itu.

  • Jika rentang sel lebih besar dari kumpulan hasil, SQL.REQUEST menambah sel kosong ke array yang dikembalikan untuk menaikkan ke ukuran yang diperlukan.

  • Jika kumpulan hasil lebih besar dari rentang yang dimasukkan sebagai array, SQL.REQUEST mengembalikan seluruh array.

  • Argumen SQL.REQUEST berada di urutan yang berbeda dengan argumen fungsi SQLRequest di Visual Basic for Applications.

Contoh

Misalkan Anda ingin membuat kueri dari database dBASE bernama DBASE4. Saat Anda memasukkan rumus berikut ini dalam sel, array hasil kueri akan dikembalikan, dengan nama kolom sebagai baris pertama:

SQL.REQUEST("DSN=NWind;DBQ=c:\msquery;FIL=dBASE4", c15, 2, "Select ID_Pelanggan, Tgl_JthTempo dari Pesanan WHERE Jml_Pesanan>100", TRUE)

Kembangkan keterampilan Anda
Jelajahi pelatihan
Dapatkan fitur baru terlebih dahulu
Gabung ke Office Insiders

Apakah informasi ini bermanfaat?

Terima kasih atas umpan balik Anda!

Terima kasih atas umpan balik Anda! Sepertinya menghubungkan Anda ke salah satu agen dukungan Office kami akan sangat membantu.

×