Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: DB Decimal Places Добавлено: 15.06.02 11:01  

Автор вопроса:  Slay | Web-сайт: www.slaysoft.stormway.ru

Hi All!!

Подскажите как при программном добавлении полей в таблицу

изменить число знаков после запятой (по умолчанию ставиться 5). Это необходимо для программного создания копии структуры базы (dbase IV), и последующего экспорта/импорта в другие форматы

Ответить

  Ответы Всего ответов: 4  

Номер ответа: 1
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #1
Добавлено: 18.06.02 11:21
Если арифметических операций производить не будешь, то может их обьявить как dbText ?

Ответить

Номер ответа: 2
Автор ответа:
 Slay



Вопросов: 27
Ответов: 150
 Web-сайт: www.slaysoft.stormway.ru
 Профиль | | #2
Добавлено: 18.06.02 17:06

да нет в том то и дело нужны те типы полей которые были в исходной таблице...

по сути особых касяков не будет если оставить эти запятые,

но меняется не в лучшую сторону размер базы...

Ответить

Номер ответа: 3
Автор ответа:
 CyRax



Разработчик Offline Client

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #3
Добавлено: 19.06.02 11:35

А ты все переменные перепробовал ?

Ответить

Номер ответа: 4
Автор ответа:
 Slay



Вопросов: 27
Ответов: 150
 Web-сайт: www.slaysoft.stormway.ru
 Профиль | | #4
Добавлено: 19.06.02 13:40

Я делаю так:

Set mainDB = DBEngine.OpenDatabase("C:\jalo", False, False, "dbase IV")

Set mainTable = mainDB.CreateTableDef("temp")
Set mainREC = mainDB.OpenRecordset("j.dbf", dbOpenDynaset)

Debug.Print "Всего таблиц: " & mainDB.TableDefs.Count

If Dir("c:\jalo\temp.dbf") <> "" Then
Kill "c:\jalo\temp.dbf"
End If

For f = 0 To mainREC.Fields.Count - 1
Debug.Print mainREC.Fields(f).Name

 Создаю фиелды конкретного типа (который был до этого в исходной таблице)

mainTable.Fields.Append mainTable.CreateField _
(mainREC.Fields(f).Name, mainREC.Fields(f).Type, mainREC.Fields(f).Size)
mainTable.Fields(mainREC.Fields(f).Name).AllowZeroLength = mainREC.Fields(f).AllowZeroLength
mainTable.Fields(mainREC.Fields(f).Name).DefaultValue = mainREC.Fields(f).DefaultValue
mainTable.Fields(mainREC.Fields(f).Name).Attributes = mainREC.Fields(f).Attributes
mainTable.Fields(mainREC.Fields(f).Name) = mainREC.Fields(f).Attributes
Next f


mainDB.TableDefs.Append mainTable

mainDB.Execute "INSERT INTO temp SELECT J.* FROM J;"

ну  и так далее... кстати  таким способом (если ровно будет работать) можно делать PACK dbase (это мой предыдущий вопрос)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам