Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Vbs DAO и тип Numeric / 7 сообщений из 7, страница 1 из 1
12.03.2004, 12:28
    #32439669
Alex Daryin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vbs DAO и тип Numeric
Привет всем спецам!
Написал я тут скрипт на vbs для исполнения утилитой cscript

Скрипт создает таблицы в базе mdb. Доступ получает через DAO (36 или 3.6 как нравится).
Проблема у меня с типом Numeric (его еще Decimal кличут на MSDN'e) (в русском аксесе в конструкторе это тип Числовой/Действительное).
C помощью DAO я могу создать поле этого типа, но не могу выставить Precision и Scale - cscript говорит, что нет у объекта DAO.Field таких свойств.
Через ADOX получается (там такие свойства есть), но мне нужно либо через DAO либо с помощью SQL скрипта.
Пробовал что-то типа
create table tab1(f1 numeric(18,3)) - не берет зараза, говорит ошибка в определении поля.
Никто не сталкивался с этой проблемой, когда нужно через sql в аксесе создать поле типа numeric с заданной точностью и шкалой?
...
Рейтинг: 0 / 0
12.03.2004, 13:45
    #32439910
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vbs DAO и тип Numeric
Проверил - работает.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
    Dim cmd As ADODB.Command
    Set cmd = New ADODB.Command
    With cmd
        .ActiveConnection = CurrentProject.Connection
        .CommandText =  "create table tab1(f1 numeric(18 , 3 )) "
        .CommandType = adCmdText
        .Execute , , adExecuteNoRecords
    End With
...
Рейтинг: 0 / 0
12.03.2004, 13:52
    #32439931
Alex Daryin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vbs DAO и тип Numeric
Спасибо!
Но у меня задача осложнена тем, что нужно эту фигню сделать с помощью sql скрипта в запросе. Не через программный модуль.

То есть типа:
'скрипт try.vbs

Set oDAO=CreateObject("DAO.DbEngine.36")
Set oWorkspace = oDAO.WorkSpaces(0)
Set oDatabase = oWorkspace.OpenDatabase("empty.mdb")
..
Set oQueryDef = oDatabase.CreateQueryDef("query", "CREATE TABLE tab(f1 numeric(18, 3))")
oQueryDef.Execute
...
Рейтинг: 0 / 0
12.03.2004, 14:19
    #32440001
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vbs DAO и тип Numeric
Но у меня задача осложнена тем, что нужно эту фигню сделать с помощью sql скрипта в запросе. Не через программный модуль.

К сожалению данная конструкци работает ТОЛЬКО через ADO и не доступна через построитель запросов (т.е. нельзя сохранить сам запрос, а ты это пытаешся сделать).

Microsoft Access 2000 Technical Articles
Intermediate Microsoft Jet SQL for Access 2000
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
The data types listed in the previous SQL statement can be executed only through 
the Jet OLE DB provider and ADO. They will result in an error message if used 
through the Access SQL View user interface. Also note that if you create a field 
with the NUMERIC data type through the Access SQL View, it will result in a 
DOUBLE data type when you view the table design through the Access user 
interface. But if you create the NUMERIC data type through the Jet OLE DB 
provider and ADO, it will result in a data type of DECIMAL when you view the table 
design through the Access user interface.
...
Рейтинг: 0 / 0
12.03.2004, 14:32
    #32440031
Victosha
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vbs DAO и тип Numeric
методом тыка обнаружено следующее
1) создаешь поле 16 типа (dbBigInt)
2) сохраняешь таблицу, рефрешишь набор табледефоф
при этом поле натурально сохранится как "Действительное"
3) снова открываешь таблицу и проставляешь
tField.Properties("DecimalPlaces").Value = мест после запятой

По другому - смотри Senin Victor
...
Рейтинг: 0 / 0
12.03.2004, 14:46
    #32440079
Alex Daryin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vbs DAO и тип Numeric
ОГРОМНОЕ СПАСИБО!!!
...
Рейтинг: 0 / 0
12.03.2004, 17:06
    #32440423
Vbs DAO и тип Numeric
DecimalPlaces<>Scale
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Vbs DAO и тип Numeric / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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