Выгрузка в Access #1412


#0 by Таня
Я создаю таблицу у которой имя Praic db.Execute("Create table Praic                                                                                                        ); А как вместо конкретного имени задать переменную?, так как желательно из нее брать в качестве имени таблицы название прайс-листа. То есть чтобы на каждый прайс создавалась отдельная таблица.
#1 by Волшебник
Рекомендую назвать таблица "Price" или "Prais", а не такой русско-английский гибрид, как сейчас. Имя таблицы нужно сохранить в строковую переменную и применить операцию конкатенации:
#2 by Таня
Как убрать все пробелы в строке переменной? не слева и справа и внутри.
#3 by Таня
Как проверить существование таблицы?
#4 by Шершень
В аксессовской базе есть скрытая системная таблица MSysObjects. Если выдать к ней такой запрос: SELECT Id FROM MSysObjects WHERE (Name="<имя>") AND (Type=1) то, если таблицы нет, будет возвращен пустой запрос, а если есть, будет возвращена одна строка.
#5 by Шершень
Ты ведь пишешь в 1С? Чего проще:
#6 by Таня
За огроменное спасибо. :) Все гениальное просто :) а с существование таблицы я по другому решила, но тоже спасибо :)
#7 by Таня
При создании таблицы, если строка которая будет ее именем (из переменной) содержит пробелы, сообщает об ошибке Create Table что то типа того, что ошибка синтаксиса. В то же время если создавать таблицу прямо в Access то он позволяет сохранять имя таблицы с пробелами. Если я убираю пробелы из имени таблицы (то есть так как в ) то выгрузка выполняется нормально. Но потом мне надо загружать данные из таблицы в справочник, при этом я создаю новый прайс у которого задаю имя как у таблицы, поэтому имя получается без пробелов, а это не красиво. Как решить эту проблему?
#8 by Шершень
Когда пишешь CREATE TABLE, заключи имя таблицы с пробелами в квадратные скобки.
#9 by Таня
пишу: db.Execute("Create table " + [фасВладелец] + "                                                                                             Сообщает ошибку синтаксиса, кстати с & не работает, только с +
#10 by Шершень
& не работает, потому что ты строку получаешь в 1С, а не в Барсике. Полностью строковое выражение для CREATE TABLE можешь запостить?
#11 by Шершень
А, протупил я. Нужно "CREATE TABLE [" + фасВладелец + "]..."
#12 by Таня
Спасибо, получилось :)
#13 by Шершень
А я верил в тебя! :-)
#14 by Таня
Как выковырять значение из списка справочника, если там колонка "Текст" и оно туда вставляется как вычисляемое значение функции? через Спр.ИмяКолонки не получается достать.
#15 by Шершень
Думаю, никак. Придется вычислять функцию для каждой строки отдельно.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям