Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Access: VBA, как подключить базу *.dbf ?! Добавлено: 14.12.05 08:48  

Автор вопроса:  jokerxp
Как в Access'e программно на VBA подключить базу *.dbf чтобы далее работать с ней например добавление записи?

Ответить

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

Номер ответа: 1
Автор ответа:
 the Pagan



ICQ: нет 

Вопросов: 19
Ответов: 27
 Web-сайт: gazprommed.irk.ru
 Профиль | | #1
Добавлено: 15.12.05 04:22
Используй класс BPDBF от Cyrax
(Basicproduction.nm.ru) - Хороший класс!

Ответить

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



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #2
Добавлено: 15.12.05 08:43
Ну не то чтобы особенно хороший, но рабочий во всяком случае (не без помощи уважаемого the Pagan кстати).

Ответить

Номер ответа: 3
Автор ответа:
 mc-black



ICQ: 308-534-060 

Вопросов: 20
Ответов: 1860
 Web-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #3
Добавлено: 15.12.05 08:51
MSDAC, подключаешь ADODB к проекту, используешь объект Connection. Самое основное указать правильно ConnectionString, насчёт .mdb много примеров на форуме, просто поменяй в примере ConnectionString для .dbf и работай с Recordset'ом

На vb.kiev.ua по-моему был готовый рабочий пример работы с .dbf

Ответить

Номер ответа: 4
Автор ответа:
 the Pagan



ICQ: нет 

Вопросов: 19
Ответов: 27
 Web-сайт: gazprommed.irk.ru
 Профиль | | #4
Добавлено: 15.12.05 12:05
General Declaration
-
Public ocon As ADODB.Connection
Public rs As ADODB.Recordset

Form_Load
-
Set ocon = New ADODB.Connection
    ocon.Open ";Driver=Microsoft Visual FoxPro Driver; SourceType=DBF; SourceDB=" & "\\Stat\C\Polis\Baza\"
    
    Set rs = New ADODB.Recordset
    rs.LockType = adLockReadOnly
    rs.CursorType = adOpenStatic

Button1_Click
-
rs.Source = "select count(num) from staff where num='" & strA & "' and uv<>.t."
        rs.ActiveConnection = ocon
        rs.Open
        rs.Close


Driver=Microsoft Visual FoxPro Driver - открывает, как dBase так и FoxPro, и Visual в том числе!

Но BPDBF class, Я Вам скажу, при написании небольшой функции Select в смысле сам пишешь, работает шустрей, чем ADO.

CyRax - Great Thanks! Класс действительно хороший! И defrag (до 100 Мб пока у меня файлы) работает!

Ответить

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



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #5
Добавлено: 19.12.05 12:31
Можно его переписать и под большие файлы, чтобы через диск дефрагментировал. Но тогда боюсь скорость дефрагментации сильно упадёт. Всё таки диск не память.

the Pagan,
 ты добавил какую то функциональность? Если не жалко, шли на cyrax@hotmail.ru
Я выложу на сайте (если конечно мне понравится реализация).

Ответить

Номер ответа: 6
Автор ответа:
 sia1



Вопросов: 12
Ответов: 18
 Профиль | | #6 Добавлено: 19.12.05 15:14
Тут многие пользуются классом BPDBF от Cyrax.
Я решил тоже попробовать…вот только у меня с кодировкой беда. Сам dbf в dos кодировке начинаю доставать данные функцией GetColumn, она возвращает иероглифы.
Параметр UseOEM ничего не дает…:(

Ответить

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



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #7
Добавлено: 19.12.05 16:25
Ничем не могу помочь, у меня всё работает и в досовской и в виндовой. Проверял на реальных базах с кассовых аппартов, так что здесь ошибка маловероятна. Возможно у тебя всё таки виндовая кодировка. Попробуй установить параметр UseOEM в ложь. Другой вариант - загрузи свежую версию с моего сайта. Если ты качал с этого сайта, то они отличаются по качеству. Просто обновления я забываю высылать.

Ответить

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



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

ICQ: 204447456 

Вопросов: 180
Ответов: 4229
 Web-сайт: basicproduction.nm.ru
 Профиль | | #8
Добавлено: 19.12.05 16:27
http://basicproduction.nm.ru/BPDBF.rar

Ответить

Номер ответа: 9
Автор ответа:
 jokerxp



Вопросов: 1
Ответов: 1
 Профиль | | #9 Добавлено: 23.12.05 08:47
Dim MyDB As Database
Dim tbl As TableDef

Set MyDB = CurrentDb
Set tbl = MyDB.CreateTableDef("temp_tabl";)

tbl.Connect = "ODBC;DSN=Visual FoxPro Tables;SourceDB=c:\GUZV21\DATA;SourceType=DBF;Exclusive=Yes;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes"

tbl.SourceTableName = "paspor"

MyDB.TableDefs.Append tbl

Я делаю вот так! Только вот базы Foxpro c мемо полями, для редактирование не доступны!! Почему?!

Ответить

Страница: 1 |

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



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