31.01.2013, 12:44 | #1 |
Участник
|
Добрый день.
Я выгружаю в excel при помощи отчета. В триггере OnPostDataItem я создал алгоритм для поиска дублей, дело в том, что мне надо при поиске дублей записывать значения поля(назовем его Field1) в одну ячеку через запятую, то есть должна быть такая запись: Товар1 Field1 тов1 А,B,C,D тов2 E,F Я делаю так: Код: xlSheet.Range('H'+ FORMAT(CurrIndex1,0,'<Integer>') ).Value:=Format(xlSheet.Range('H'+ FORMAT(CurrIndex2,0,'<Integer>') ).Value)+','; |
|
31.01.2013, 13:05 | #2 |
Участник
|
Добрый день.
Может быть использовать временную переменную для получения текущего значения ячейки ? Аля Код: TextBuf Text 1024 TextBuf := xlSheet.Range('H'+ FORMAT(CurrIndex1,0,'<Integer>') ).Text; IF TextBuf <> '' THEN TextBuf += ', ' + xlSheet.Range('H'+ FORMAT(CurrIndex2,0,'<Integer>')).Text; xlSheet.Range('H'+ FORMAT(CurrIndex1,0,'<Integer>') ).Value := TextBuf; Оператор Код: := Код: += |
|
31.01.2013, 13:17 | #3 |
Участник
|
Цитата:
Сообщение от max_hl
Добрый день.
Может быть использовать временную переменную для получения текущего значения ячейки ? Аля Код: TextBuf Text 1024 TextBuf := xlSheet.Range('H'+ FORMAT(CurrIndex1,0,'<Integer>') ).Text; IF TextBuf <> '' THEN TextBuf += ', ' + xlSheet.Range('H'+ FORMAT(CurrIndex2,0,'<Integer>')).Text; xlSheet.Range('H'+ FORMAT(CurrIndex1,0,'<Integer>') ).Value := TextBuf; Оператор Код: := Код: += Я ещё хотел спросить, когда я попытался сделать с оператором "+=", то появилась ошибка: "В этой функции должно быть использованной возвращаемое значение" Код: Format(xlSheet.Range('I'+ FORMAT(CurrIndex1,0,'<Integer>') ).Value)+=Format(xlSheet.Range('I'+ FORMAT(CurrIndex2,0,'<Integer>') ).Value)+','; |
|
31.01.2013, 14:41 | #4 |
Участник
|
|
|
31.01.2013, 15:22 | #5 |
Участник
|
Цитата:
Цитата:
В чём может быть ошибка?
В целом, рекомендую проштудировать основы программирования CAL |
|
31.01.2013, 19:44 | #6 |
Участник
|
Если уткнулись в максимальный размер переменной Text (1024) в Nav, а в ячейку надо запихнуть большее
значение ячейки xlWorkSheet.Range(....).FormulaR1C1:= FORMAT(xlWorkSheet.Range(....).Value)+pValue; |
|
01.02.2013, 11:51 | #7 |
Участник
|
а это рабочий код? применялся где-нибудь при размере ячейки и pvalue > 1024?
|
|
07.02.2013, 19:04 | #8 |
Участник
|
|
|