Fungsi eval

Penting: Artikel ini adalah terjemahan mesin, lihat penafian. Temukan versi bahasa Inggris artikel di sini sebagai rujukan Anda.

Anda bisa menggunakan fungsi Eval untuk mengevaluasi ekspresi yang dihasilkan dalam string teks atau nilai numerik.

Anda bisa membuat string dan lalu meneruskan ke fungsi Eval seolah-olah string ekspresi yang sebenarnya. Fungsi Eval mengevaluasi ekspresi string dan mengembalikan nilai. Sebagai contoh, Eval("1 + 1") mengembalikan 2.

Jika Anda melewatkan Eval fungsi string yang berisi nama fungsi, fungsi Eval akan mengembalikan nilai yang dikembalikan fungsi. Sebagai contoh, Eval("Chr$(65)") mengembalikan "A".

Sintaks

Eval ( stringexpr )

Argumen stringexpr adalah ekspresi yang dievaluasi untuk string teks alfanumerik. Sebagai contoh, stringexpr bisa fungsi yang mengembalikan string atau nilai numerik. Atau referensi ke kontrol pada formulir. Stringexpr argumen 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 lebih lanjut 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 lewat nama fungsi Eval fungsi, Anda harus menyertakan tanda kurung setelah nama fungsi dalam argumen stringexpr . Misalnya:

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

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

Debug.Print Eval("Date()")

Keterangan

Anda bisa menggunakan fungsi Eval di kontrol terhitung pada formulir atau laporan, atau dalam makro atau modul. Mengembalikan fungsi Evalvarian yang string atau tipe numerik.

Argumen stringexpr harus ekspresi yang disimpan dalam string. Jika Anda meneruskan ke fungsi Eval string yang tidak berisi ekpresi numerik atau nama fungsi tapi hanya string teks sederhana, kesalahan durasi muncul. Sebagai contoh, Eval("Smith") menghasilkan kesalahan.

Anda bisa menggunakan fungsi Eval untuk menentukan nilai yang disimpan dalam properti nilai kontrol. Contoh berikut melewati string berisi referensi penuh ke kontrol ke fungsi Eval . Ini lalu 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 operator ekspresi yang tidak biasanya tersedia dalam modul Visual Basic for Applications (VBA). Misalnya, Anda tidak bisa menggunakan operator SQL antara... Dan atau di secara langsung dalam kode Anda, tapi Anda bisa menggunakannya dalam ekspresi diteruskan ke fungsi Eval .

Contoh berikutnya menentukan apakah nilai ShipRegion kontrol pada formulir pesanan adalah salah satu dari beberapa singkatan negara bagian tertentu. Jika bidang berisi salah satu tindakan, 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

Contoh berikut ini mengasumsikan bahwa Anda memiliki rangkaian 50 fungsi yang ditentukan sebagai A1, A2, dan seterusnya. Contoh ini menggunakan fungsi Eval untuk menghubungi setiap fungsi di dalam seri.

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

Contoh berikutnya memicu acara Klik seperti jika pengguna telah mengklik tombol pada formulir. Jika nilai properti OnClick tombol yang dimulai dengan tanda sama dengan (=), menandakan bahwa nama fungsi, Eval fungsi panggilan fungsi tersebut, yang setara untuk memicu Klik acara. Jika nilai yang tidak dimulai dengan tanda sama dengan, nilai harus nama 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: Penafian Terjemahan Mesin: Artikel ini telah diterjemahan oleh sistem komputer tanpa campur tangan manusia. Microsoft menawarkan terjemahan mesin ini untuk membantu pengguna yang bukan penutur bahasa Inggris agar dapat menikmati konten tentang produk, layanan, dan teknologi Microsoft. Karena artikel ini diterjemahkan oleh mesin, mungkin akan terdapat kesalahan kosa kata, sintaksis, atau tata bahasa.

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.

×