Eval İşlevi

Önemli : Bu makale makine çevisidir. Bkz. yasal uyarı. Bu makalenin İngilizce sürümüne buradan ulaşabilirsiniz.

Bir metin dizesi veya sayısal bir değer sonuçları bir ifade değerlendirmek için Eval işlevini kullanabilirsiniz.

Bir dizesi oluşturmak ve gerçek bir ifadeyi dize kabul edildiğinde Eval işlevi geçirin. Eval işlevi dize ifadesi değerlendirir ve kendi değerini döndürür. Örneğin, Eval("1 + 1") 2 döndürür.

Eval işlevi bir işlev adını içeren bir dize geçerseniz, Eval işlevi işlevinin dönüş değerini verir. Örneğin, "A" Eval("Chr$(65)") döndürür.

Söz dizimi

Eval ( stringexpr )

Stringexpr bir alfasayısal metin dizesi hesaplayan ifade bir değişkendir. Örneğin, stringexpr bir dize veya sayısal bir değer döndüren bir işlev olabilir. Veya bir formdaki bir denetim başvurusu olabilir. Stringexpr bağımsız değişkeni bir dize veya sayısal değer değerlendirmeleri gerekir; Bunun için bir Microsoft Access nesnesideğerlendir yapamazsınız.

Not : Aşağıdaki örneklerde, bu işlevin Visual Basic for Applications (VBA) modülünde kullanımı gösterilir. VBA ile çalışma hakkında daha fazla bilgi için, rama'nın yanındaki açılan listede Geliştirici Başvurusu'nu seçin ve arama kutusuna bir veya birden çok terim yazın.

Not : Eval işlevi bir işlev adı geçen varsa, işlevin bağımsız değişkeninde yer stringexpr adından sonra parantez eklemeniz gerekir. Örneğin:

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

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

Debug.Print Eval("Date()")

Notlar

Eval işlevi hesaplanmış denetim bir form veya rapor veya makro veya modülü kullanabilirsiniz. Eval işlevi döndüren bir bir dize veya sayısal bir tür değişken.

Bir dizedeki depolanan bir ifade stringexpr bağımsız değişkeni olmalıdır. Eval işlevi bir sayısal ifade veya bir işlev adı içermeyen bir dize ancak yalnızca basit bir metin dizesi geçirdiğiniz çalıştırma hatası meydana gelir. Örneğin, Eval("Smith") hatayla sonuçlanır.

Bir denetimin değeri özellikte saklanan değerini belirlemek için Eval işlevini kullanabilirsiniz. Aşağıdaki örnek, bir denetime Eval işlevi için tam başvuru içeren bir dize geçirir. Daha sonra bir iletişim kutusunda denetiminin geçerli değeri görüntüler.

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))

Visual Basic for Applications (VBA) modülünde normalde kullanılamayan ifade işleçleri erişmek için Eval işlevini kullanabilirsiniz. Örneğin, arasında SQL işleçleri kullanamazsınız... Ve veya doğrudan kodunuzu, ancak içinde kullanmak bunları Eval işleve bir ifadede.

Sonraki örnek, siparişler formunda Gönderimbölgesi denetiminin değerini birkaç belirtilen eyalet kısaltmalarını birini olup olmadığını belirler. Alan kısaltmalar içeriyorsa, intStatedoğru (– 1) olacaktır. Not başka bir dize içindeki bir dize dahil etmek için tek tırnak işareti (') kullanın.

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

Örnek

Aşağıdaki örnek, bir dizi A1, A2 vb. tanımlanan 50 işlevleri olduğu varsayılır. Bu örnekte, serideki her işlevi aramak için Eval işlevi kullanılmaktadır.

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

Kullanıcı form düğmesinde tıklattıysanız gibi sonraki örnek tıklatın olay tetikleyen. Düğme tıklatıldığında özelliği değerinin eşittir işaretiyle (=) başlıyorsa, bir işlevin Eval adı olduğunu gösterir işlevi tıklatın olayı tetikleyen için eşdeğer işlevi arar. Değer eşittir işaretiyle başlamazsa, değer bir makro adlandırmanız gerekir. DoCmd nesnesinin yöntemini adlandırılmış makro çalışır.

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

Not : Makine Çevirisi Yasal Uyarısı: Bu makale, insan müdahalesi olmadan bir bilgisayar sistemi tarafından çevrilmiştir. Microsoft bu makine çevirilerini İngilizce bilmeyen kullanıcıların Microsoft ürünleri, hizmetleri ve teknolojileriyle ilgili içeriklerden yararlanmasına yardımcı olmak için sunar. Bu makale makine çevirisi olduğundan sözcük, cümle dizilimi ve gramer hataları içerebilir.

Yeteneklerinizi geliştirin
Eğitimleri keşfedin
Yeni özellikleri ilk olarak siz edinin
Office Insider Programına Katılın

Bu bilgi yararlı oldu mu?

Görüşleriniz için teşekkür ederiz!

Geri bildiriminiz için teşekkürler! Office destek temsilcilerimizden biriyle görüşmeniz yararlı olabilir.

×