Так в нашем небольшом городе больше нет специалистов по И_Б. Поэтому даже посоветоваться не с кем. А учиться никогда не поздно - это правильно, но... Возраст дает знать... Как посмотреть структуру файла справочника организаций? Если с DBF проблем нет, то с DB затруднительно. А если не знаешь названия полей, то как работать с базой?
Можно для конвертации несложную программку (бланк или типовую операцию) в ИБ сделать. Загоняем в массивы имена , типы и размерность полей (см. КОЛ_ПОЛЕЙ,НАЗВ_ПОЛЯ и т.п.) таблицы-источника. В соответствии с массивами создаем таблицу-приемник. Затем в двойном цикле по записям и по полям читаем -пишем данные.
А можно внешние средства привлечь. Я когда-то развлекался - гонял таблицы зарплатной базы из DBF в paradox, оттуда в Access, потом листами (таблица - лист) - в книгу Excel. Сейчас проверять надо как оно работать будет. Например, после совсем недавнего обновления Windows стал невозможен, р, подобный доступ к книгам Excel. Подниму это дело, посмотрю как оно сейчас работает - напишу здесь.
Могу прислать редактор DB и DBF бланк в Инфо-Бухгалтере, бланка 2.
Один исполнен в стандартных функциях ИБ8, другой в нестандартных.
Второй открывает файл и экспортирует его в книгу Excel, после редактирования и выхода из Excel данные сохраняются в исходный файл.
Его не следует использовать для редактирования файлов с инкрементными полями.
Оба эти файла есть в нашем обновлении, качайте, пользуйтесь.
Вот, наскреб по сусекам, как и собиралсядл=ДЛИНА(DB)
ЦИКЛ ДЛЯ (и=дл,1,-1)
ЕСЛИ ПОДСТР(DB,и,1)="\" ТО
СТОП
КОНЕЦ_ЕСЛИ
КОНЕЦ_ЦИКЛА
ЕСЛИ и<2 ИЛИ ЗАГЛ(ПОДСТР(DB,дл-2))<>".DB" ТО
СООБЩЕНИЕ("Неверно задан файл Paradox")
СТОП_ВСЕ
КОНЕЦ_ЕСЛИ
база=ПОДСТР(DB,1,и-1)
таб=ПОДСТР(DB,и+1,дл-и-3)
ФАЙЛ_УДАЛИТЬ(база+"\"+таб+".dbf")
ф=ФАЙЛ_СОЗДАТЬ(ДИР_DBF+"\db2dbf.vbs")
ф.ЗАПИСАТЬ("Set Engine = CreateObject(""DAO.DBEngine.36"")")
ф.ЗАПИСАТЬ("Set Db = Engine.OpenDatabase("""+база+""", False, False, ""Dbase IV;"")")
ф.ЗАПИСАТЬ("Db.Execute (""Select * into " + таб +".dbf from " + таб+" in '" + база + "' 'Paradox 7.x;'"")")
ф.ЗАКРЫТЬ
СОЗДАТЬ_ПРОЦЕСС("wscript "+ДИР_DBF+"\db2dbf.vbs","","WAIT")
ЕСЛИ ВОПРОС("Открыть в БД_РЕДАКТОР исходный файл") ТО
db_=SQL_ОТКРЫТЬ(база+"\"+таб+".db")
БД_РЕДАКТОР(db_)
КОНЕЦ_ЕСЛИ
ЕСЛИ ВОПРОС("Открыть в БД_РЕДАКТОР сформированный файл") ТО
dbf_=БД_ОТКРЫТЬ(база+"\"+таб+".dbf")
БД_РЕДАКТОР(dbf_)
КОНЕЦ_ЕСЛИ
На входе в переменной DB должен быть полный путь к файлу paradox. В той же папке будет сформирован "тёзка" DBF. А в чем в Инфо-Бухгалтере принципиальные сложности работы c DB по сравнению c DBF совершено непонятно.
Так в нашем небольшом городе больше нет специалистов по И_Б. Поэтому даже посоветоваться не с кем.
Уважаемый Александр!
Могу предложить Вам два варианта решения этой проблемы:
1. Взять себе молодого ученика-помощника (или ученицу).
2. Почаще Писать на форум. Вам всегда помогут.
А еще лучше использовать оба варианта!
Кстати, из какого Вы города?
Спасибо! Будем Вам помогать! Но помощников все-таки ищите. Они никогда не помешают.
Шадринск все-таки большой город - 75000 населения и масса предприятий (Ваших потенциальных клиентов!).
Так в нашем небольшом городе больше нет специалистов по И_Б. Поэтому даже посоветоваться не с кем. А учиться никогда не поздно - это правильно, но... Возраст дает знать... Как посмотреть структуру файла справочника организаций? Если с DBF проблем нет, то с DB затруднительно. А если не знаешь названия полей, то как работать с базой?
Можно для конвертации несложную программку (бланк или типовую операцию) в ИБ сделать. Загоняем в массивы имена , типы и размерность полей (см. КОЛ_ПОЛЕЙ,НАЗВ_ПОЛЯ и т.п.) таблицы-источника. В соответствии с массивами создаем таблицу-приемник. Затем в двойном цикле по записям и по полям читаем -пишем данные.
А можно внешние средства привлечь. Я когда-то развлекался - гонял таблицы зарплатной базы из DBF в paradox, оттуда в Access, потом листами (таблица - лист) - в книгу Excel. Сейчас проверять надо как оно работать будет. Например, после совсем недавнего обновления Windows стал невозможен, р, подобный доступ к книгам Excel. Подниму это дело, посмотрю как оно сейчас работает - напишу здесь.
Могу прислать редактор DB и DBF бланк в Инфо-Бухгалтере, бланка 2.
Один исполнен в стандартных функциях ИБ8, другой в нестандартных.
Второй открывает файл и экспортирует его в книгу Excel, после редактирования и выхода из Excel данные сохраняются в исходный файл.
Его не следует использовать для редактирования файлов с инкрементными полями.
Оба эти файла есть в нашем обновлении, качайте, пользуйтесь.
Спасибо, посмотрю.
Вот, наскреб по сусекам, как и собирался
дл=ДЛИНА(DB)
ЦИКЛ ДЛЯ (и=дл,1,-1)
ЕСЛИ ПОДСТР(DB,и,1)="\" ТО
СТОП
КОНЕЦ_ЕСЛИ
КОНЕЦ_ЦИКЛА
ЕСЛИ и<2 ИЛИ ЗАГЛ(ПОДСТР(DB,дл-2))<>".DB" ТО
СООБЩЕНИЕ("Неверно задан файл Paradox")
СТОП_ВСЕ
КОНЕЦ_ЕСЛИ
база=ПОДСТР(DB,1,и-1)
таб=ПОДСТР(DB,и+1,дл-и-3)
ФАЙЛ_УДАЛИТЬ(база+"\"+таб+".dbf")
ф=ФАЙЛ_СОЗДАТЬ(ДИР_DBF+"\db2dbf.vbs")
ф.ЗАПИСАТЬ("Set Engine = CreateObject(""DAO.DBEngine.36"")")
ф.ЗАПИСАТЬ("Set Db = Engine.OpenDatabase("""+база+""", False, False, ""Dbase IV;"")")
ф.ЗАПИСАТЬ("Db.Execute (""Select * into " + таб +".dbf from " + таб+" in '" + база + "' 'Paradox 7.x;'"")")
ф.ЗАКРЫТЬ
СОЗДАТЬ_ПРОЦЕСС("wscript "+ДИР_DBF+"\db2dbf.vbs","","WAIT")
ЕСЛИ ВОПРОС("Открыть в БД_РЕДАКТОР исходный файл") ТО
db_=SQL_ОТКРЫТЬ(база+"\"+таб+".db")
БД_РЕДАКТОР(db_)
КОНЕЦ_ЕСЛИ
ЕСЛИ ВОПРОС("Открыть в БД_РЕДАКТОР сформированный файл") ТО
dbf_=БД_ОТКРЫТЬ(база+"\"+таб+".dbf")
БД_РЕДАКТОР(dbf_)
КОНЕЦ_ЕСЛИ
На входе в переменной DB должен быть полный путь к файлу paradox. В той же папке будет сформирован "тёзка" DBF. А в чем в Инфо-Бухгалтере принципиальные сложности работы c DB по сравнению c DBF совершено непонятно.
Уважаемый Александр!
Могу предложить Вам два варианта решения этой проблемы:
1. Взять себе молодого ученика-помощника (или ученицу).
2. Почаще Писать на форум. Вам всегда помогут.
А еще лучше использовать оба варианта!
Кстати, из какого Вы города?
г.Шадринск Курганской обл.
Спасибо! Будем Вам помогать! Но помощников все-таки ищите. Они никогда не помешают.
Шадринск все-таки большой город - 75000 населения и масса предприятий (Ваших потенциальных клиентов!).