Как показать отчет crystal, взятый из формулы выбора комбинации в vb6

#vb6 #report #selection #formula

#vb6 #Сообщить #выбор #формула

Вопрос:

Пожалуйста, помогите мне… Мне нужно показать отчет, взятый из формулы выбора комбинации между datetime и полем базы данных varchar. Я использую этот источник :

 .SelectionFormula = "{sales.date}=#"   Format(datapicker1.Value, "mm-dd-yyyy")   "#" And "{sales.customer} in '" amp; combo1.Text amp; "'"
  

Но это несоответствие типа ошибки источника… в чем проблема? Я использую vb6, sql server 2000 и crystal report (версия 8.5). Большое вам спасибо… Спасибо stackoverflow..

Ответ №1:

Ошибка возникает из-за того, что вы используете оператор And VB с двумя строками. VB попытается преобразовать строки

 "{sales.date}=#22-06-2014#"
  

и

 "{sales.customer} in 'mycombotext'"
  

в логические значения. Они не будут преобразовываться — таким образом, ошибка несоответствия типов. Вам нужно следующее:

 .SelectionFormula = "{sales.date}=#"   Format(datapicker1.Value, "mm-dd-yyyy")   "# And {sales.customer} in '" amp; combo1.Text amp; "'"
  

Комментарии:

1. Ну, похоже, вы понимаете строки. Просто вы случайно завершили свою строку, добавив два дополнительных " символа. Обратите внимание, что это было бы зафиксировано на других языках в момент компиляции кода. VB пытается делать то, что вы просите, даже если это не имеет большого смысла. Итак, в этом случае он попытался преобразовать строки в логические значения.

2. это не должно заканчивать строку. В худшем случае, и это то, что OP должен учитывать, это то, что он извлекает всех клиентов, которые являются нулевой строкой. aivosto.com/vbtips/stringopt2.html Я рекомендую использовать оператор amp; вместо , чтобы избежать проблем с принудительным вводом типов.