Fungsi eval

Anda dapat menggunakan fungsi eval untuk mengevaluasi ekspresi yang menghasilkan string teks atau nilai numerik.

Anda dapat membuat string lalu meneruskannya ke fungsi eval seolah-olah string adalah ekspresi yang sebenarnya. Fungsi eval mengevaluasi ekspresi string dan mengembalikan nilainya. Misalnya, Eval("1 + 1") mengembalikan 2.

Jika Anda masuk ke fungsi eval string yang berisi nama fungsi, fungsi eval mengembalikan nilai fungsi Return. Misalnya, Eval("Chr$(65)") mengembalikan "A".

Sintaks

Eval ( stringpenghapusan )

Argumen stringekskpr adalah ekspresi yang mengevaluasi ke string teks alfanumerik. Misalnya, stringeksppr dapat berupa fungsi yang mengembalikan string atau nilai numerik. Atau dapat menjadi referensi untuk kontrol pada formulir. Argumen stringekspr harus mengevaluasi ke string atau nilai numerik; tidak bisa mengevaluasi ke objek Microsoft Access.

Catatan: Contoh yang mengikuti demonstrasi penggunaan fungsi ini dalam modul Visual Basic for Applications (VBA). Untuk informasi selengkapnya tentang bekerja dengan VBA, pilih Referensi Pengembang di daftar turun bawah di samping Cari dan masukkan satu istilah atau lebih di kotak pencarian.

Catatan: Jika Anda melewati nama fungsi untuk fungsi eval , Anda harus menyertakan tanda kurung setelah nama fungsi dalam argumen stringeppr . Misalnya:

' ShowNames is user-defined function.
Debug.Print Eval("ShowNames()")

Debug.Print Eval("StrComp(""Joe"",""joe"", 1)")

Debug.Print Eval("Date()")

Keterangan

Anda dapat menggunakan fungsi eval dalam kontrol terhitung pada formulir atau laporan, atau dalam makro atau modul. Fungsi eval mengembalikan varian yang berupa string atau tipe numerik.

Argumen stringekpr harus berupa ekspresi yang disimpan dalam string. Jika Anda masuk ke fungsi eval string yang tidak berisi ekspresi numerik atau nama fungsi tapi hanya string teks sederhana, kesalahan durasi akan muncul. Misalnya, Eval("Smith") menghasilkan kesalahan.

Anda bisa menggunakan fungsi eval untuk menentukan nilai yang disimpan dalam properti Value dari sebuah kontrol. Contoh berikut ini melewati string yang berisi referensi penuh ke kontrol untuk fungsi eval . Kemudian menampilkan nilai saat ini dari kontrol dalam kotak dialog.

Dim ctl As Control
Dim strCtl As String
Set ctl = Forms!Employees!LastName
strCtl = "Forms!Employees!LastName"
MsgBox ("The current value of " & ctl.Name & _
" is " & Eval(strCtl))

Anda bisa menggunakan fungsi eval untuk mengakses Expression operator yang tidak tersedia dalam modul Visual Basic for Applications (VBA). Misalnya, Anda tidak bisa menggunakan operator SQL antara... Dan atau langsung di kode Anda, tetapi Anda bisa menggunakannya dalam ekspresi yang diteruskan ke fungsi eval .

Contoh berikut ini menentukan apakah nilai kontrol pada formulir pesanan adalah salah satu dari beberapa singkatan negara bagian tertentu. Jika bidang berisi salah satu singkatan, intState akan True (– 1). Perhatikan bahwa Anda menggunakan tanda kutip tunggal (') untuk menyertakan string dalam string lainnya.

Dim intState As Integer
intState = Eval("Forms!Orders!ShipRegion In " _
& "('AK', 'CA', 'ID', 'WA', 'MT', 'NM', 'OR')")

Contoh kueri

Ekspresi

Hasil

Pilih eval ("15 + 3") sebagai Ekspr1 dari ProductSales GROUP BY eval ("15 + 3");

Mengevaluasi nilai string dan menghitung hasilnya. Hasil: 18.

Pilih eval ("date () + month (date ())") sebagai NewDate FROM ProductSales Group by eval ("date () + month (date ())");

Mengevaluasi nilai string, mengidentifikasi fungsi dan menjalankannya. Hasil: tanggal sistem saat ini + bulan saat ini, ditampilkan di kolom "NewDate".

Contoh VBA

Contoh berikut ini mengasumsikan bahwa Anda memiliki serangkaian fungsi 50 yang ditentukan sebagai A1, A2, dan seterusnya. Contoh ini menggunakan fungsi eval untuk memanggil masing-masing fungsi dalam seri.

Sub CallSeries()
Dim intI As Integer
For intI = 1 To 50
Eval("A" & intI & "()")
Next intI
End Sub

Contoh berikutnya memicu kejadian Klik seolah-olah pengguna mengklik tombol pada formulir. Jika nilai properti onclick tombol dimulai dengan tanda sama dengan (=), menandakan bahwa nilai tersebut adalah nama fungsi, fungsi eval memanggil fungsi, yang setara dengan memicu Klik acara. Jika nilai tidak dimulai dengan tanda sama dengan, maka nilai harus menamai makro. Metode Runmacro dari objek DoCmd menjalankan makro bernama.

Dim ctl As Control
Dim varTemp As Variant
Set ctl = Forms!Contacts!HelpButton
If (Left(ctl.OnClick, 1) = "=") Then
varTemp = Eval(Mid(ctl.OnClick,2))
Else
DoCmd.RunMacro ctl.OnClick
End If

Catatan:  Halaman ini diterjemahkan menggunakan mesin dan mungkin terdapat kesalahan tata bahasa atau masalah keakuratan. Kami bertujuan menyediakan konten yang bermanfaat untuk Anda. Dapatkah Anda memberi tahu kami apakah informasi ini bermanfaat untuk Anda? Berikut adalah artikel dalam bahasa Inggris untuk referensi.

Kembangkan keterampilan Office 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.

×