Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Никак не хочет выгружать в dbf ПОМОГИТЕ
 
 автор: ????????   (30.11.-1 в 00:00)
 
 

Проблема заключается в том что никак не хочет формировать dbf файл. Хотя раньше я делал такое работало может я что нибудь подзабыл дописать в процедуре??? Помогите!


Private Sub Form_Close()
Dim tname$, strsql$, Fname$, pathdb$
On Error Resume Next
tname = "ПакетыВыгр" Выгружаемая таблица
Fname = "Пакеты" Имя файла
pathdb = "C:" Путь
CurrentDb.Execute ("DROP " & tname)
strsql = "INSERT INTO ПакетыВыгр ( KodSpec, НомерПакета, Длина, КодСорта, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, Количество, Обьем, КодДерева, Толщина, КодКонтейнера, КодСклада, Дата ) SELECT Plank.KodSpec, Plank.НомерПакета, Plank.Длина, Plank.КодСорта, Plank.[8], Plank.[9], Plank.[10], Plank.[11], Plank.[12], Plank.[13], Plank.[14], Plank.[15], Plank.[16], Plank.[17], Plank.[18], Plank.[19], Plank.[20], Plank.[21], Plank.[22], Plank.[23], Plank.[24], Plank.[25], Plank.[26], Plank.[27], Plank.[28], Plank.[29], Plank.[30], Plank.[31], Plank.[32], Plank.[33], Plank.[34], Plank.[35], Plank.[36], Plank.[37], Plank.[38], Plank.[39], Plank.[40], Plank.[41], Plank.[42], Plank.[43], Plank.[44], Plank.Количество, Plank.Обьем, Plank.КодДерева, Plank.Толщина, Plank.КодКонтейнера, Plank.КодСклада, Plank.Дата FROM Plank WHERE (((Plank.Дата)=Date()));"
CurrentDb.Execute strsql
DoCmd.TransferDatabase acExport, "dBase IV", pathdb, acTable, tname, Fname
End Sub

  Ответить  
 
 автор: osmor   (30.11.-1 в 00:00)
 
 

Вроде все правильно. В чем выражается "не хочет формировать"? у вашего файла нет расширения ".dbf" может вы его просто не находите?

  Ответить  
 
 автор: ????????   (30.11.-1 в 00:00)
 
 

Re: Вроде все правильно. В чем выражается "не хочет формировать"? После выполнения процедуры файла с расширением dbf нет по указаному пути т.е. в данном случае С: . В чем может быть причина?

  Ответить  
 
 автор: ????????   (30.11.-1 в 00:00)
 
 

Re: Вроде все правильно. В чем выражается "не хочет формировать"? После выполнения процедуры файл не создаётся. Я тоже думал может он его куда нибудь ещё прячит, но нет не нашёл. Помогите пожалуйста уважаемый Osmor.

  Ответить  
 
 автор: osmor   (30.11.-1 в 00:00)
 
 

Уберите On Error Resume Next. возможно что-то прояснится.

  Ответить  
 
 автор: ????????   (30.11.-1 в 00:00)
 
 

Re: Уберите On Error Resume Next. возможно что-то прояснится. CurrentDb.Execute ("DROP" & tname)

Теперь говорит что не может найти входную таблицу или запрос.

  Ответить  
 
 автор: Serge_Gavrilov   (30.11.-1 в 00:00)
 
 

Re[1]: Уберите On Error Resume Next. возможно что-то прояснится. Какое имя таблицы? И зачем удалять таблицу, а потом пытаться выполнить INSERT INTO? Либо надо очистить таблицу перед INSERT INTO, либо использовать SELECT INTO

  Ответить  
 
 автор: osmor   (30.11.-1 в 00:00)
 
 

как я понимаю проблема как раз в удалении таблицы. т.е. до создания dbf дело не доходит

  Ответить  
 
 автор: Serge_Gavrilov   (30.11.-1 в 00:00)
 
 

Re: у вашего файла нет расширения ".dbf" расширение dbf будет добавлено.

  Ответить  
 
 автор: ????????   (30.11.-1 в 00:00)
 
 

Re[1]: у вашего файла нет расширения ".dbf" Оно при выгрузке должно само добовлятся вроде.

  Ответить  
 
 автор: Serge_Gavrilov   (30.11.-1 в 00:00)
 
 

Re[1]: у вашего файла нет расширения ".dbf" я это и сказал

  Ответить  
 
 автор: ????????   (30.11.-1 в 00:00)
 
 

Re[1]: у вашего файла нет расширения ".dbf" Вот, а файл вообще не создаётся никакой. Вот в чём проблема помогите пожалуйста

  Ответить  
 
 автор: Serge_Gavrilov   (30.11.-1 в 00:00)
 
 

Re[1]: у вашего файла нет расширения ".dbf" Дык, уже ответили.
Ошибка происходит при удалении таблицы, которой нет.
Потом вы пытаетесь выполнить INSERT INTO в таблицу, которой нет.
Либо используйте SELECT INTO, либо удаляйте не таблицу, а данные.

  Ответить  
 
 автор: ????????   (30.11.-1 в 00:00)
 
 

Re[1]: у вашего файла нет расширения ".dbf" Да дело не в запросе(на добавление даных) он работает прекрасно.

  Ответить  
 
 автор: Serge_Gavrilov   (30.11.-1 в 00:00)
 
 

Re[1]: у вашего файла нет расширения ".dbf" Вы хотите сказать, что если у вас не будет таблицы с именем "ПакетыВыгр", то запрос "INSERT INTO ПакетыВыгр ..." работает прекрасно? Вы ошибаетесь.

  Ответить  
 
 автор: ????????   (30.11.-1 в 00:00)
 
 

Re[1]: у вашего файла нет расширения ".dbf" Нет она есть. Я наверно не понимаю маленько. Если Вам не сложно то поправте как оно должно быть. Код процедуры указан в самом начале.

  Ответить  
 
 автор: Serge_Gavrilov   (30.11.-1 в 00:00)
 
 

Re: Нет она есть. Что вы хотите сделать инструкцией CurrentDb.Execute ("DROP " & tname)?
Такая конструкция должна вызывать ошибку "Syntax error in DROP TABLE or DROP INDEX. (Error 3295)"
А вы говорите о другой ошибке.
Если вы хотите просто очистить таблицу от данных перед добавлением других, то используйте CurrentDb.Execute "DELETE * FROM " & tname

(кстати, зачем вы добавляете круглые скобки?)
Поправьте это, потом посмотрите где у вас еще есть ошибки.

  Ответить  
 
 автор: ????????   (30.11.-1 в 00:00)
 
 

Re[1]: Нет она есть. DoCmd.TransferDatabase acExport, "dBase IV", pathdb, acTable, tname, Fname, False
Теперь ругается на выше указанную строку. Говорит чтоОбъект не найден ядром БД. Проверьте существование объекта и правильность имени пути.

  Ответить  
 
 автор: Serge_Gavrilov   (30.11.-1 в 00:00)
 
 

Re[1]: Нет она есть. А что вы сделали-то?
Получили еще одно доказательство, что таблицы tname на момент выполнения TransferDatabase нет.

  Ответить  
 
 автор: Serge_Gavrilov   (30.11.-1 в 00:00)
 
 

Re[1]: Нет она есть. Чтобы проверить, есть ли ошибка при выполнении CurrentDb.Execute используйте dbFailOnError:
CurrentDb.Execute strsql, dbFailOnError

  Ответить  
 
 автор: ????????   (30.11.-1 в 00:00)
 
 

Re[1]: Нет она есть. Подскажите как мне добавить данные не используя запроса на Добавление. Буду очень признателен

  Ответить  
 
 автор: Serge_Gavrilov   (30.11.-1 в 00:00)
 
 

Re[1]: Нет она есть. Странный разговор получается. Такое ощущение, что вы не хотите понять в чем причина ваших проблем. На вопросы не отвечаете.
Повторю, если таблицы "ПакетыВыгр" нет, то создать ее и добавить данные можно с помощью SELECT INTO, подробности в Help. Но вам стоит разобраться где вы теряете таблицу "ПакетыВыгр".

Удачи.

  Ответить  
 
 автор: ????????   (30.11.-1 в 00:00)
 
 

Re[1]: Нет она есть. У меня получилось Благодарю за помощь очень признателен. Сори за тупость.

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList