|
|
|
Supreme Being
      
участник
Last Login: 16.11.2005 13:55
Сообщ.: 101,
Visits: 1 112
|
|
Нужно переконвертить табличку из MDB в другой формат. По идее, все драйвера, которые видны в Access при опции "Экспорт", должны юзаться. То есть здесь в запросе нужно как-то эти ISAM - драйвера подключать... Никаких Excel.Worksheet etc. available.
For dbf:
Dim objDatabase As DAO.Database Dim objDbe As DAO.DBEngine
StrTempStr = “SELECT * INTO [dBase IV;DATABASE=c:\Test].[new] FROM [Export2]”
Set objDatabase = objDbe.OpenDatabase("c:ew.mdb") objDatabase.Execute strTempStr
For txt: StrTempStr = “SELECT * INTO [Text;DATABASE=c:\Test].[new.txt] FROM [Export2]”
For xls: StrTempStr = “SELECT * INTO [Excel 8.0;DATABASE=c:\Testew.xls] FROM [Export2]” Result: error – not a valid name
StrTempStr = “SELECT * INTO [Excel 8.0;DATABASE=c:\Test].[new.xls] FROM [Export2]” Result: error – Jet Engine cannot open file c:\Test. File is already opened exclusive by another user or….
strTempStr = “SELECT * INTO 'Excel 8.0;DATABASE=c:\Testew.xls' FROM [Export2]” Error: syntax error in query. query syntax is incomplete.
For HTML?
Где ошибка? Ввиду того, что все умные авторы ограничиваются в своих статьях только фразой "бывают и другие форматы, но мы ограничимся лишь рассмотрением mdb" - эти статьи не рассматриваются. Кто кинут линк, где можно по человечески почитать про варианты подключения других форматов?
|
|
|
|
|
Forum Guru
      
участник
Last Login: 29.06.2004 10:34
Сообщ.: 60,
Visits: 661
|
|
Хватай жирную ссылку! http://www.microsoft.com/AccessDev/Articles/AccExt.htm А эта http://www.microsoft.com/accessdev/articles/daoconst.htm примерно на ту же тему. Вообще, стоит почитать статейки с MS Abscess Developer Forum (http://www.microsoft.com/accessdev/a-a&sa.htm), многие вопросы отпадают автоматически. Для импорта/экспорта текстовых файлов есть DoCmd.TransferText Самый интересный параметр - спецификация импорта/экспорта (оказывается, ее нужно создать руцями! и передать методу ейное имя, а создается она: Файл->Внешние данные->Импорт, выбираем текстовый файл с закачиваемыми данными, потом в окне мастера на N-ном шаге обнаруживаем кнопулю "Дополнительно..." Нам сюда!) Лично я в HTML и Excel не пробовал (не было надобности) но (с текстовыми файлами) импортит/экспортит этот метод с потрясной скоростью за счет пропуска проверок при вставке записей в Абсцесс!
|
|
|
|
|
Forum Guru
      
участник
Last Login: 29.06.2004 10:34
Сообщ.: 60,
Visits: 661
|
|
Фу-ух! Нашел! Для импорта/экспорта пригодится такой код:
Public Sub TruncTable(ATableName As String) On Error GoTo Err_TruncTable Dim dbs As Database Set dbs = CurrentDb() DoCmd.TransferDatabase acImport, "Microsoft Access", dbs.Name, acTable, ATableName, "TEMPTABLE", True dbs.TableDefs.Refresh dbs.TableDefs.Delete ATableName dbs.TableDefs("TEMPTABLE").Name = ATableName dbs.TableDefs.Refresh Set dbs = Nothing Exit_TruncTable: Exit Sub
Err_TruncTable: MsgBox Err.Description Resume Exit_TruncTable End Sub
Неплохо бы еще кой чего проверить, хотя бы есть ли такая табла, но это уж, надеюсь, сам... Если общался с серьёзными СУБД - поймешь и оценишь! Проще всего оценить, попробовав удалить (DELETE * FROM TABLENAME) ~450000 записей, каждая запись примерно 147 байт (чем я занимаюсь дважды в день). Кстати, после такой очистки восстановление/сжатие проходит живее. Дарю ;)
|
|
|
|