Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Microsoft Office и VBA > Microsoft Office Access
Регистрация

Восстановить пароль
Повторная активизация e-mail


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 09.12.2011, 08:37   #1
Black_Mad
 
Регистрация: 08.12.2011
Сообщений: 7
Репутация: 10
По умолчанию Доступ к свойствам DBF таблиц

Столкнулся с необходимостью проверки DBF файлов на корректность типов полей и их размерностей, например

Поле - NameF
Тип - С
Размер - 50

Поле - Summ
Тип - N
Размер - 7,2

в принципе можно проверить любым DBF вьювером, но у меня в базе mdb ведется широкомасштабная проверка данных на корректность из нескольких DBF файлов (до 8) каждый из которых имеет 65 полей, ошибки в данных не проблема, я импортирую данные в аксес сверяю со справочниками (некоторые больше 2 млн записей) и в случае обнаружения ошибок передаю список ошибок на корректировку.
Но! Требуется также проверить корректность самих форматов, не верный формат с точки зрения контролирующих органов тоже ошибка.

Долго бился над проблемой, но если для таблиц внутри mdb я могу элементарно получить всю их подноготную, то с DBF не получается.

Ткните меня носом в источник, этого думаю будет достаточно, ну а если будет код! О-О-О это будет великолепно!

Что бы не писать лишнее, сообщаю сразу что пробовал сделать.
Цеплялся к dbf-ке через объект, но не нащупал свойств объекта которые мне нужны, т.е.
Код:

***.item(i).Value, ***.item(i).Name

есть, но нет например такого
Код:

***.item(i).FieldSize

.
Допускаю не хватает некой библиотеки, но одно из условий задачи все должно работать на "штатно" установленном аксесе без доп. бубнов

Пробовал смотреть на свойства таблицы после импорта, вроде показывает нужное, но если например в dbf структуре поле N длиной 5,2 а так получилось, что сами данные исключительно целые, в ряде случаев после импорта искомое поле становится не двойным с двумя знаками, а длинным целым.

Извините за многабукв, если нужны уточнения готов сообщить.
Заранее спасибо.
Black_Mad вне форума   Ответить с цитированием
Старый 09.12.2011, 09:05   #2
Stilet
Белик Виталий :)
Профессионал
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Адрес: Украина, Донецкая область, г. Краматорск
Сообщений: 57,815
Репутация: 6832
По умолчанию

Тебе нужно цепануть DBF ник через ADO http://msdn.microsoft.com/en-us/libr...=VS.85%29.aspx
И уже используего (провайдер для dbf) выяснять структуру.
__________________
I'm learning to live...
Stilet вне форума   Ответить с цитированием
Старый 09.12.2011, 11:33   #3
Black_Mad
 
Регистрация: 08.12.2011
Сообщений: 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
цепануть DBF ник через ADO
Покурил ссылку потом еще несколько и вот что накрапалось:
Код:

Sub dbf_property()

Set Conn = CreateObject("ADODB.Connection")
Call Conn.Open("Driver={Microsoft dBASE Driver (*.dbf)};DriverID=277;Dbq=c:\temp\;")
 
Set Comm = CreateObject("ADODB.Command")
Comm.ActiveConnection = Conn
 
Comm.CommandText = " SELECT * FROM [AMBN]"
Set DatTab = Comm.Execute

For Each fld In DatTab.Fields
    Debug.Print fld.Type, fld.Name, fld.DefinedSize
Next
 
Conn.Close
 
End Sub

и вот такая смешная выдача со строками все в порядке, нумерики и дата объяснения не нашел.

(жирным от дебага, курсив - реальность)
ТИП ПОЛЕ РАЗМЕР
2 YEAR 2
Num YEAR 4
2 MOUNTH 2
Num MOUNTH 2
200 SMO_OGRN 15
Char SMO_OGRN 15
200 SMO_NAM 100
Char SMO_NAM 100
133 DATA_SH 6
Data DATA_SH 8
2 ISHOD 2
Num ISHOD 3
5 KOL_USL 8
Num KOL_USL 6,2
5 TARIF 8
Num TARIF 15,2
2 OPLATA 2
Num OPLATA 1

Что можно покурить еще? остальные свойства Field.* не информативны в моем случае или я не все нашел
Black_Mad вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить доступ к свойствам звука Windows Freddy_Kruger Мультимедиа в Delphi 4 25.04.2011 13:50
Из 2 таблиц dbf Slimav41 Помощь студентам 1 12.03.2011 20:46
Копирование данных DBF таблиц ИВэТэшка БД в Delphi 1 20.03.2009 22:06
Как получить доступ к свойствам и методам запущеного браузера? loma Общие вопросы .NET 0 08.07.2008 05:23


06:13.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru