2016-03-01 2 views
0

следующий код:«Нет значения дано» ошибка в том, где раздел SQL

Dim MasterIDIn As Double   'Use in where clause 
    MasterIDIn = CDbl(Me!scanTxtBox.Value) 

    Dim RCMSql As String 
    RCMSql = "SELECT [Range Card Master Mailer].Master_ID," & _ 
    "[Range Card Master Mailer].MaxOfDate_of_Transaction," & _ 
    "[Range Card Master Mailer].FirstName," & _ 
    "[Range Card Master Mailer].LastName," & _ 
    "[Range Card Master Mailer].Email_Address," & _ 
    "[Range Card Master Mailer].Address_Line_1," & _ 
    "[Range Card Master Mailer].Phone_Number_1," & _ 
    "[Range Card Master Mailer].Phone_Number_2," & _ 
    "[Range Card Master Mailer].Date_Sent," & _ 
    "[Range Card Master Mailer].CouponValue," & _ 
    "[Range Card Master Mailer].RedeemDate," & _ 
    "[Range Card Master Mailer].RedeemFlag " & _ 
    "FROM [Range Card Master Mailer] " & _ 
    "WHERE ((([Range Card Master Mailer].Master_ID)= MasterIDIn))" 
    RCMRs.Open RCMSql      'Fill the recordset 

Открытый бросает ошибку

«Нет значения приведены для одного или нескольких параметров»

Если я удаляю предложение where, оно работает. Поле Master_ID в файле двойное, поэтому я конвертирую значение текстового поля в double и, похоже, должно работать. В ближайшем окне MasterIDin и CDbl (Me! ScanTxtBox.Value) имеют одинаковые значения. Мне что-то не хватает.

Благодаря

+1

Я думаю, что 'MasterIDIn' должно быть значением, а не передано в строке. –

+0

Это кажется правильным? [Master Master Mailer] .Master_ID = MasterIDIn –

ответ

0

Вам нужно динамически создать строку, чтобы MasterIDIn принять это значение в коде VBA. На данный момент вы действительно ищете MasterID 'MasterIDIn'.

Dim RCMSql As String 
    RCMSql = "SELECT [Range Card Master Mailer].Master_ID," & _ 
    "[Range Card Master Mailer].MaxOfDate_of_Transaction," & _ 
    "[Range Card Master Mailer].FirstName," & _ 
    "[Range Card Master Mailer].LastName," & _ 
    "[Range Card Master Mailer].Email_Address," & _ 
    "[Range Card Master Mailer].Address_Line_1," & _ 
    "[Range Card Master Mailer].Phone_Number_1," & _ 
    "[Range Card Master Mailer].Phone_Number_2," & _ 
    "[Range Card Master Mailer].Date_Sent," & _ 
    "[Range Card Master Mailer].CouponValue," & _ 
    "[Range Card Master Mailer].RedeemDate," & _ 
    "[Range Card Master Mailer].RedeemFlag " & _ 
    "FROM [Range Card Master Mailer] " & _ 
    "WHERE ((([Range Card Master Mailer].Master_ID)= " & MasterIDIn & "))" 
    RCMRs.Open RCMSql      'Fill the recordset 
+0

Got It ,, Большое спасибо – jpl458

Смежные вопросы