2010-03-08 11 views
2

У меня есть переменная newItem. Я хочу поместить значение, хранящееся в newItem, в строку. Я думал, что смогу это сделать с ...Есть ли способ оценить переменную в vba?

myString = eval(newItem) 

... но не работает.

Есть ли способ оценить переменную в Access vba?

+0

Каким образом это делает не работа? Можете ли вы опубликовать ошибку и/или аберрантное поведение, которое вы видите, когда пытаетесь это сделать? Спасибо –

+0

Если я введу? Eval («newItem») в ближайшее окно, я получаю следующую ошибку: «MS Access не может найти имя« newItem », которое вы ввели в выражение. Без кавычек вокруг« newItem »там говорится это недействительный синтаксис. – dmr

+0

Если это следует из предыдущего сообщения, я подозреваю, что вам нужно заменить NewItem в вашей строке значением newitem, используя функцию Replace. У меня все еще есть сомнения относительно того, как вы приближаетесь к этой проблеме. – Fionnuala

ответ

3

Eval это функция, которая будет выполнять текст в данной строке, как будто это код.

Я думаю, что вы ищете CInt:

Dim s as String : s = "15" 
Dim i as Integer : i = CInt(s) 
'at this point, i = 15, and s = "15" 

Кроме того, вы должны смотреть в CStr, CLng, CDate и т.д.

3

Уверенный есть. вам нужно ввести переменную в строку.

В VBA используется myString = CStr(var)

Я считаю, что это все в УВЕ приведение типов:

CBool(expression) 
CByte(expression) 
CCur(expression) 
CDate(expression) 
CDbl(expression) 
CDec(expression) 
CInt(expression) 
CLng(expression) 
CSng(expression) 
CVar(expression) 
CStr(expression) 
Смежные вопросы