Форум программистов, компьютерный форум, киберфорум
Microsoft Access
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.78/58: Рейтинг темы: голосов - 58, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 13.10.2009
Сообщений: 27

MS Access и DBF файлы

13.11.2009, 23:39. Показов 11224. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Товарищи!
Будьте добры помочь в таком вопросе.
Имеется база данных в dbf файлах. При чем организована так, что на каждый месяц имеется отдельная папка, где находятся база данных по месяцу.
Каким образом организовать подключение к отдельным dbf файлам в этой базе, чтобы можно было выбирать определенные месяцы.
Спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
13.11.2009, 23:39
Ответы с готовыми решениями:

.dbf файлы
люди подскажите как сделать программу на С++ чтобы открывала и редактировала .dbf файлы (если это вообще возможно!), пожалуйста! :D

DBF файлы
С DBF работаю в delphi в первый раз, подскажите пожалуйста: надо подключиться к базе, затем загрузить туда (в программу) dbf вывести его в...

Access, dbf
Подскажите пожалуйста в чом можно написать dbf файл(

15
 Аватар для BasicMan
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
14.11.2009, 00:08
глянь это Связь с dbf
0
0 / 0 / 0
Регистрация: 13.10.2009
Сообщений: 27
14.11.2009, 23:34  [ТС]
Цитата Сообщение от CyberБурундукЪ Посмотреть сообщение
глянь это Связь с dbf
спасибо, хотелось бы автоматизировать процесс подхвата dbf файла.
0
 Аватар для BasicMan
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
14.11.2009, 23:54
http://support.microsoft.com/kb/176568
правда там на буржуйском

Добавлено через 2 минуты
а вот еще на одном из форумов код нашел

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
 Dim dbCurrent As Database  
  Dim tdTarget As TableDef  
  Dim fldLoop As Field  
    Set dbCurrent = CurrentDb()  
    Set tdTarget = dbCurrent.CreateTableDef("Spisok")   
    tdTarget.Connect = "ODBC;DSN=Visual FoxPro Database;SourceDB=D:\dbf\bases\base.DBC;SourceType=DBC;Exclusive=Yes;BackgroundFetch=Yes;Collate=Machine;Null=Yes;Deleted=Yes;;TABLE=Spisok"  
    tdTarget.SourceTableName = "Spisok"   
    dbCurrent.TableDefs.Append tdTarget  
    
    dbCurrent.Close  
    Set tdTarget = Nothing
0
0 / 0 / 0
Регистрация: 13.10.2009
Сообщений: 27
15.11.2009, 17:13  [ТС]
Данный код создает в access новую таблицу Spisok?

А как реализовать такое:
1. окно с выбором определенных месяцев
2. в соответствии с выбранными месяцами из dbf создается одна таблица с информацией выбранных месяцев
0
 Аватар для BasicMan
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
15.11.2009, 17:16
Цитата Сообщение от loader Посмотреть сообщение
А как реализовать такое:
1. окно с выбором определенных месяцев
2. в соответствии с выбранными месяцами из dbf создается одна таблица с информацией выбранных месяцев
а зачем?
подключил все из дбф, а потом запросами его, запросами
0
0 / 0 / 0
Регистрация: 13.10.2009
Сообщений: 27
15.11.2009, 17:22  [ТС]
исходная база данных периодически меняется. да и будущие месяцы не заведены. я думаю, что если таблица будет создаваться при старте, то не будет путаницы с обновлением/удалением записей в таблице
0
 Аватар для BasicMan
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
15.11.2009, 17:26
Цитата Сообщение от loader Посмотреть сообщение
если таблица будет создаваться при старте
ну так там и написано в коде то. создание таблицы.
вот ты ее и создаешь. потом запросами в аксе нужные месяцы обкусал, перенес в другую таблицу, а остальное фтопку. че непонятно то
0
0 / 0 / 0
Регистрация: 13.10.2009
Сообщений: 27
15.11.2009, 18:40  [ТС]
еще уточнение, как в коде прописать несколько путей к dbf и импорт все в одну таблицу. и как учесть что некоторых dbf еще нет
0
 Аватар для BasicMan
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
15.11.2009, 18:53
loader, тот код (в посте 4 который) вообще работает ?

Не по теме:

бо эт больше умственные заключения. я ж не проверял его работоспособность:pardon:

0
0 / 0 / 0
Регистрация: 13.10.2009
Сообщений: 27
15.11.2009, 19:21  [ТС]
ругается на строку
dbCurrent.TableDefs.Append tdTarget
0
 Аватар для BasicMan
19318 / 2625 / 84
Регистрация: 17.02.2009
Сообщений: 30,364
15.11.2009, 19:25
а таблицу ты правильно задал? или просто один к одному скопипасдил?
0
0 / 0 / 0
Регистрация: 13.10.2009
Сообщений: 27
15.11.2009, 20:29  [ТС]
Эта строка:
tdTarget.Connect = "ODBC;DSN=Visual FoxPro Database;SourceDB=D:\dbf\bases\base.DBC; SourceType=DBC;Exclusive=Yes;BackgroundF etch=Yes;Collate=Machine;Null=Yes;Delete d=Yes;;TABLE=Spisok"
Выглядит так
tdTarget.Connect = "ODBC;DSN=Microsoft dBase;SourceDB=j:\01\db1.dbf;SourceType= DBF;Exclusive=Yes;BackgroundFetch=Yes;Co llate=Machine;Null=Yes;Deleted=Yes;;TABL E=table1"

Как правильно написать DSN= и SourceType=

т.к. пишет "ODBC - ошибка подключения к Microsoft dBase"
0
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 2
19.12.2014, 14:01
аналогичная проблема заставила задуматься как обойти это.

придумал сделать подключение dbf как xlc:
1. из аксесса открывает файл dbf в экселе
2. в екселе сохраняем его как xls
3. подключаем полученный xls к аксессу
для пользователя это не заметно, все делает прога
0
 Аватар для VinniPuh
9131 / 6138 / 593
Регистрация: 27.03.2013
Сообщений: 19,994
19.12.2014, 15:33
Цитата Сообщение от _oleg__ Посмотреть сообщение
...придумал сделать...
Это просто похвальба или нужны отзвывы о проге?
0
0 / 0 / 0
Регистрация: 19.12.2014
Сообщений: 2
22.12.2014, 06:23
примерно както так


'подключение dbf с преобразованием в xls
vfile = File_Dialog("", "dbf")
filem = Left(vfile, Len(vfile) - 3) + "xls"
Call OpenExcel(vfile, "dbf", filem)


'экспорт в dbf с преобразованием из xml
vpath = Save_Dialog(Nz(Me.bankfilesub.Form![namefile])) 'dbf
vidfile1 = Mid(vpath, 1, Len(vpath) - 3) + "xml"
vidfile2 = Mid(vpath, 1, Len(vpath) - 3) + "xsd"
ExportXML acExportTable, vidtable, vidfile1, vidfile2, , , acUTF8, acExcludePrimaryKeyAndIndexes
Call OpenExcel(vidfile1, "xml", vpath)






Public Function File_Dialog(MyPath As Variant, typ As Variant) As Variant
Dim MyDial As FileDialog
Set MyDial = Application.FileDialog(msoFileDialogOpen )
MyDial.AllowMultiSelect = False
MyDial.Filters.Clear
Select Case typ
Case "xls"
MyDial.Filters.Add "xls", "*.xls"
Case "xml"
MyDial.Filters.Add "xml", "*.xml"
Case "dbf"
MyDial.Filters.Add "dbf", "*.dbf"
End Select
If Len(Trim(Nz(MyPath))) > 0 Then
MyDial.InitialFileName = MyPath
End If
MyDial.Title = "Выбор файла для Link-таблицы"
MyDial.Show
If MyDial.SelectedItems.Count > 0 Then
File_Dialog = MyDial.SelectedItems(1)
Else
File_Dialog = Null
End If
Set MyDial = Nothing
End Function


Public Function Save_Dialog(MyPath As Variant) As Variant
Dim intChoice As Integer
Dim MyDial As FileDialog

Set MyDial = FileDialog(msoFileDialogSaveAs)
MyDial.AllowMultiSelect = False
If Len(Trim(Nz(MyPath))) > 0 Then
MyDial.InitialFileName = MyPath
End If
intChoice = MyDial.Show
If intChoice <> 0 Then
Save_Dialog = MyDial.SelectedItems(1)
End If
Set MyDial = Nothing
End Function

Function OpenExcel(vf As String, tip As String, filem As String)
Dim XLa, oWb As Object
Set XLa = CreateObject("EXCEL.application")

If tip = "dbf" Then
Set oWb = XLa.workbooks.Open(vf)
oWb.SaveAs filem, 43
End If
If tip = "xml" Then
'Constant Value
'xlXmlLoadImportToList 2
'xlXmlLoadMapXml 3
'xlXmlLoadOpenXml 1
'xlXmlLoadPromptUser 0
Set oWb = XLa.workbooks.OpenXML(vf, , 2)
'Constant Value
'xlDBF3 8
'xlExcel9795 43
'xlHtml 44
'xlIntlAddIn 26
'xlIntlMacro 25
'xlTemplate 17
'xlTextWindows 20
'xlUnicodeText 42
'xlWebArchive 45
oWb.SaveAs filem, 8
End If
If tip = "xls" Then
Set oWb = XLa.workbooks.Open(vf)
End If
XLa.Application.Visible = True
XLa.Application.DisplayAlerts = False
Set oWb = Nothing
Set XLa = Nothing
End Function

Добавлено через 5 минут
в подключение забыл добавить строку самого подключение т.е. правильно так:

'подключение dbf с преобразованием в xls
vfile = File_Dialog("", "dbf")
filem = Left(vfile, Len(vfile) - 3) + "xls"
Call OpenExcel(vfile, "dbf", filem)
DoCmd.TransferSpreadsheet acLink, acSpreadsheetTypeExcel8, vn, filem, True

Добавлено через 3 минуты
написано с использованием материалов форумов и VB help
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.12.2014, 06:23
Помогаю со студенческими работами здесь

Формат dbf в Access
Здравствуйте. Можно ли средствами Access сохранить ВСЮ (!!) базу в файл формата dbf? Спасибо. Добавлено через 28 минут Преподаватель...

Экспорт из access в dbf
Здравствуйте. Столкнулся со странной проблемой. При выгрузке данных запросом из таблицы(access) в файл .dbf выгружается не полноценно, если...

Помогите связать DBF-таблицы с Access
Есть два компьютера: на обоих ОС-Win2000, Office-20003, BDE. На одном из них в пустой БД Access связывание с таблицами DBF происходит без...

Access XP: работа с dbf от FoxPro - КАК?
Приветствую, мудрый ALL Возникла проблема. Аксес используется для работы с dbf-Файлами Фокспро. В Аксес-97 никаких проблем не...

Как открыть dbf в Access 2000?
Выдает ошибку при попытке импорта или присоединения базы dbf. В 97 проблем небыло. В Ecxel 2000 тоже проблем нет. Что за глюк такой?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru