powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Экспорт денежного поля в формат CSV
15 сообщений из 15, страница 1 из 1
Экспорт денежного поля в формат CSV
    #40113377
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Экспортирую запрос в текстовый файл
Код: vbnet
1.
DoCmd.TransferText acExportDelim, "Modify1", "ProductMod", "c:\Users\User\Documents\Задача\OutProducts.csv", True, , 1251


Разделители поборол. Но в запросе есть денежное поле. И оно экспортируется с обозначением валюты. Как убрать это обозначение?

Код: plaintext
115515;0;220,00 ?;"Электронные сигареты Elf Bar Grape (Виноград) 1500 | 2%"

Второе поле. Там где вопрос, там знак рубля. Как убрать ЭТО?
-------------------------------------------------------------
Мы рождены чтоб сказки сделать былью! Даже самые страшные...
...
Рейтинг: 0 / 0
Экспорт денежного поля в формат CSV
    #40113408
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По-моему, ты занимаешься ненужным делом. Импортируй во временную таблицу, всю строку в одно поле, а потом запросом распарси в рабочую таблицу.
...
Рейтинг: 0 / 0
Экспорт денежного поля в формат CSV
    #40113433
Фотография Лапух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
а потом запросом распарси

А по моему ты еврей.
По русски не умеешь сказать?
ЧЁ такое - ПАРСИ?
...
Рейтинг: 0 / 0
Экспорт денежного поля в формат CSV
    #40113471
Swa111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Joss,

Если других вариантов не будет

экспортировать в формате UTF-16. Через FSO открыть файл, заменой убрать символ рубля, сохранить в кодировке 1251
...
Рейтинг: 0 / 0
Экспорт денежного поля в формат CSV
    #40113488
aleks222
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss

Разделители поборол. Но в запросе есть денежное поле. И оно экспортируется с обозначением валюты. Как убрать это обозначение?
Второе поле. Там где вопрос, там знак рубля. Как убрать ЭТО?

Освой запросы и преобразование типов.
...
Рейтинг: 0 / 0
Экспорт денежного поля в формат CSV
    #40113603
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лапух
А по моему ты еврей.
По русски не умеешь сказать?
ЧЁ такое - ПАРСИ?

Опачка... ну ежли у тебя есть в загашнике - так поделись русским термином, чтобы в одно слово и с полным сохранением смысла.
...
Рейтинг: 0 / 0
Экспорт денежного поля в формат CSV
    #40113846
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поясняю, как решил проблему.
Сначала попробовал поиграться с функцией Format() но получился облом. Результатом работы функции является символьная строка, а при импорте методом DoCmd.TransferText Символьная строка берётся в двойные кавычки ("). Убрать их в шаблоне нельзя, так как в информации есть и символьные значения (название товара)

Пример

Код: plaintext
 115515;0;"220,00";"Электронные сигареты Elf Bar Grape (Виноград) 1500 | 2%"

Тогда я сделал "финт ушами". Сначала при помощи функции Format() получил символьное значение, а потом при помощи функции Val() числовое. Может не оптимально и что-то потом всплывёт. Но сейчас работает

Пример

Код: plaintext
 115515;0;220,00;"Электронные сигареты Elf Bar Grape (Виноград) 1500 | 2%"
...
Рейтинг: 0 / 0
Экспорт денежного поля в формат CSV
    #40113894
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Joss
Тогда я сделал "финт ушами". Сначала при помощи функции Format() получил символьное значение, а потом при помощи функции Val() числовое. Может не оптимально и что-то потом всплывёт. Но сейчас работает
есть функции преобразования типов , твоя CDbl

лучше не ушами финт делать. а тем что между ними.
...
Рейтинг: 0 / 0
Экспорт денежного поля в формат CSV
    #40113908
Фотография Joss
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург
...
лучше не ушами финт делать. а тем что между ними.

А между ними - бестолковка.

Попробую.
...
Рейтинг: 0 / 0
Экспорт денежного поля в формат CSV
    #40113932
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург


так он пишет в текстовый файл, можно сразу и в CStr()
Странно...
Я думал это будет последнее сообщение тут:

aleks222
Освой запросы и преобразование типов.


- делаешь на таблице запрос
- преобразуешь функциями кривые поля
- потом запрос отправляешь в TransferText
...
Рейтинг: 0 / 0
Экспорт денежного поля в формат CSV
    #40113937
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
...так он пишет в текстовый файл, можно сразу и в CStr()...
По стандарту данные текстового поля обрамляются кавычками в csv.
...
Рейтинг: 0 / 0
Экспорт денежного поля в формат CSV
    #40113943
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vmag
aleks222
Освой запросы и преобразование типов.

До Штирлица не дошло письмо из центра. Он его еще раз перечитал, но все равно не дошло. (с) анегдод
...
Рейтинг: 0 / 0
Экспорт денежного поля в формат CSV
    #40113947
Фотография vmag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Панург,

ну да, наверно, ты прав... глобально,
правда у него вместо 220,00 и 220,50 прилетят 220 и 220,5 в файл соответственно, а это всё-таки Joss...
небольшой непорядок, думаю это его и смутило...
...
Рейтинг: 0 / 0
Экспорт денежного поля в формат CSV
    #40114740
galalex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Используйте для чтения текстовых файлов создание ADO.Recordset через Microsoft Text ODBC Driver. Драйвер позволяет настроить все нюансы текстового файла в файле schema.ini. Прелесть решения в том, что вы получите набор записей с преобразованными к нужному типу значениями, в том числе драйвер уберёт символ валюты (где бы он не находился), вернув число денежного типа.
Строка подключения ADO:
Код: plaintext
Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=c:\Users\User\Documents\Задача\;Extensions=asc,csv,tab,txt
Обратите внимание, что Dbq указывает папку с текстовым файлом (не файл - файл указывается в тексте запроса), в которой должен располагаться schema.ini со следующей секцией:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
[OutProducts.csv]
Format=Delimited(;)
ColNameHeader=True  
MaxScanRows=0
Col1="sku" Text
Col2="qty" Long
Col3="price" Currency
Col4="name" Text
CharacterSet=ANSI
DecimalSymbol=,
NumberDigits=2
NumberLeadingZeros=True
CurrencySymbol=р
CurrencyPosFormat=1 р
CurrencyDigits=2
CurrencyDecimalSymbol=,
Некоторые строки избыточны в вашем случае, привёл для пользы другим. В CurrencyPosFormat указывается положение символа валюты. Допускаются варианты (без кавычек) "р1", "р 1", "1р", "1 р", где р - символ или строка валюты, указанный в CurrencySymbol.
Вполне вероятно, что аналогично отработает поставщик Microsoft Jet OLE DB 4.0. Строка подключения для него:
Код: plaintext
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Users\User\Documents\Задача\;Extended Properties="text;HDR=Yes;FMT=Delimited";
Более подробные сведения:
Textfile connection strings
Schema.ini File (Text File Driver)
Much ADO About Text Files
...
Рейтинг: 0 / 0
Экспорт денежного поля в формат CSV
    #40114763
Фотография Панург
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
galalex
Используйте для чтения
вроде речь за экспорт? Кто уж там будет читать дело десятое.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Экспорт денежного поля в формат CSV
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]