Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB6 > Создание DBF


Автор: AyanTai 1.4.2010, 12:37
Товарисчи не пинать ногами! Тема заезжанная понимаю, инет облазил ответа не нашел! НО все же хелп!
Создаю DBF из Vb.

Код

Set Conn = New ADODB.Connection
With Conn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.Properties("Extended Properties") = "dBase IV"
.Properties("Data Source") = "D:\data\"
.Open
End With
DoEvents
Set dbfCmd = New ADODB.Command
With dbfCmd
.ActiveConnection = Conn
.CommandTimeout = 10

.CommandText = "CREATE TABLE 130903_1 " & "(COD number ,CDPR numeric(12),NCARD numeric(10)," & _
"IDCODE char(10),PASP char(14),FIO char(50),IDPIL char(10),PASSPIL char(14)," & _
"FIOPIL char(50),INDEk numeric(6),CDUL numeric(5),HOUSE char(7),BLILD char(2),APT char(4)," & _
"LGCODE numeric(4),KAT numeric(4),YRARIN numeric(4),MONTHIN numeric(2)," & _
"YEAROUT numeric(4),MONTHOUT numeric(2),RAH char(25),RIZN numeric(6),TARIF numeric(10));"
' ,
.Execute
End With 

открываю получившуюся DBF через FoxPro и вижу: numeric (20, 5) на всех полях с типом numeric , а нужно точно как указано в скрипте.
alter - oм пользовался не помогло (хотя киньте вариант мож что нитак делаю..)
пытался записать как number, single, double - тож самое, тупо создает numeric (20,5)!
Помогите пожалуйста.

Автор: Akina 1.4.2010, 12:44
Создай пустой DBF и сунь его в ресы, понадобится - выплюни на диск.

Автор: AyanTai 1.4.2010, 12:54
2 Akina 
ничего не понял)))) можно по подробнее..

ПС: создать пустой DBF файл уже с :
COD number ,CDPR numeric(12),NCARD numeric(10)," & _
"IDCODE char(10),PASP char(14),FIO char(50),IDPIL char(10),PASSPIL char(14)," & _
"FIOPIL char(50),INDEk numeric(6),CDUL numeric(5),HOUSE char(7),BLILD char(2),APT char(4)," & _
"LGCODE numeric(4),KAT numeric(4),YRARIN numeric(4),MONTHIN numeric(2)," & _
"YEAROUT numeric(4),MONTHOUT numeric(2),RAH char(25),RIZN numeric(6),TARIF numeric(10) 
и в него писать?

а потом чистить чтоль?

Автор: Данкинг 1.4.2010, 14:05
А если тип указать просто как N ?
n(12)

Автор: Akina 1.4.2010, 14:14
Цитата(AyanTai @  1.4.2010,  13:54 Найти цитируемый пост)
а потом чистить чтоль? 

Нет. Положить его в ресурсы исполняемого файла как CustomResource.
А при исполнении проверять наличие файла, и если его нет - брать из ресурсов и записывать на диск. После чего уже работать с ним.

Автор: AyanTai 2.4.2010, 06:40
Цитата
А если тип указать просто как N ?
n(12)



да тож не выходит...придется делать шаблон и в него выгружать постоянно..

Автор: AyanTai 2.4.2010, 06:57
мне кажется полюбому должно быть решение этой порблемы! ну не верю я чтоб не создалась dbf-ка с таким полем..

Автор: Данкинг 2.4.2010, 11:14
Цитата(AyanTai @ 2.4.2010,  07:57)
мне кажется полюбому должно быть решение этой порблемы! ну не верю я чтоб не создалась dbf-ка с таким полем..

Так у тебя фокс на компе стоит? Тогда и используй его провайдер, а не Microsoft.Jet. А вообще можно и не в ресурсах файл хранить, а просто в папке с программой, и при необходимости копировать куда нужно.

Автор: Dexx 2.4.2010, 14:49
Вот класс для работы с dbf! 
Попробуй.

Автор: AyanTai 5.4.2010, 06:56
Цитата

Dexx

СпасибО!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)