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

Форум: MS ACCESS

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

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

 
 

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

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

тема: Подскажите функцию
 
 автор: час   (11.01.2008 в 09:59)   личное сообщение
 
 

Подскажите функцию проверки
"наличие таблицы в другой базе"
только чтоб без DAO и без ADO

  Ответить  
 
 автор: Анатолий (Киев)   (11.01.2008 в 10:15)   личное сообщение
 
 

Что значит "без DAO и без ADO"? Без подключенных библиотек?
Тогда так:
Dim db As Object, s As String
On Error Resume Next
Set db = OpenDatabase(Путь)
s = db.TableDefs(ИмяТаблицы).Name
If Err.Number = 0 Then Msgbox "Есть!"

Если и без VBA, то попробуйте присоединить таблицу макрокомандой TransferDatabase.

  Ответить  
 
 автор: час   (11.01.2008 в 10:19)   личное сообщение
 
 

Да, без подключения и без использования.
Может запросом.?

  Ответить  
 
 автор: час   (11.01.2008 в 10:29)   личное сообщение
 
 

Но почему-то OpenDatabase Acces не хочет брать.
Синим цветом её "чернит"?

  Ответить  
 
 автор: час   (11.01.2008 в 10:33)   личное сообщение
 
 

Мол если присоединение даёт ошибку-значит таблицы там нет.?

  Ответить  
 
 автор: Explorer   (11.01.2008 в 10:51)   личное сообщение
 
 

попробовать прилинковать - ошибка будет ответом

можно зацепиться запросом - ошибка будет ответом

  Ответить  
 
 автор: час   (11.01.2008 в 11:04)   личное сообщение
 
 

Вот из Help
DoCmd.TransferDatabase acLink, "ODBC Database", _
"ODBC;DSN=DataSource1;UID=User2;PWD=www;LANGUAGE=us_english;" _
& "DATABASE=pubs", acTable, strTableName, "Новая"

ноя в ней заблудился.
DSN=DataSource1;UID=User2;PWD=www;LANGUAGE=us_english-Это зачем
"DATABASE=pubs",-это что?

написал вот так
DoCmd.TransferDatabase acImport, "Microsoft Access", PutBazi, acTable, strTableName, "Новая"
Скопировалась таблица
Значит она тама есть

  Ответить  
 
 автор: час   (11.01.2008 в 11:11)   личное сообщение
 
 

Получается вот так...

Function Nalichie_TBL_v_Drugoy_Baze(PutBazi, strTableName) As Boolean
 Nalichie_TBL_v_Drugoy_Baze = False
 On Error Resume Next
DoCmd.TransferDatabase acImport, "Microsoft Access", PutBazi, acTable, strTableName, "Íîâàÿ"
If Err.Number = 0 Then Nalichie_TBL_v_Drugoy_Baze = True '"Åñòü!"
 Err.Number = 0
End Function

  Ответить  
 
 автор: час   (11.01.2008 в 11:12)   личное сообщение
 
 

ой чёйта за кракозябры

  Ответить  
 
 автор: Explorer   (11.01.2008 в 11:11)   личное сообщение
 
 

попробуй удалить :)))

если ошибка - значит такой таблицы нет
если ошибки нет - значит такой таблицы уже нет

  Ответить  
 
 автор: час   (11.01.2008 в 11:13)   личное сообщение
 
 



Public Function Nalichie_TBL_v_Drugoy_Baze(PutBazi, strTableName) As Boolean

 Nalichie_TBL_v_Drugoy_Baze = False
 On Error Resume Next
DoCmd.TransferDatabase acImport, "Microsoft Access", PutBazi, acTable, strTableName, "Novaya"
If Err.Number = 0 Then Nalichie_TBL_v_Drugoy_Baze = True
 Err.Number = 0
End Function

  Ответить  
 
 автор: час   (11.01.2008 в 11:14)   личное сообщение
 
 

но тода её надо удалять в текущей базе....

  Ответить  
 
 автор: час   (11.01.2008 в 11:16)   личное сообщение
 
 

Делай вот так...

Function Nalichie_TBL_v_Drugoy_Baze(PutBazi, strTableName) As Boolean

 Nalichie_TBL_v_Drugoy_Baze = False
 On Error Resume Next
DoCmd.TransferDatabase acImport, "Microsoft Access", PutBazi, acTable, strTableName, "Novaya"
If Err.Number = 0 Then
Nalichie_TBL_v_Drugoy_Baze = True
Udalit_TABLICU ("Novaya")
End If
 Err.Number = 0
End Function


  Ответить  
 
 автор: Explorer   (11.01.2008 в 11:19)   личное сообщение
 
 

автогеном проще и надежнее

что до проверки наличия таблицы в базе - воспользуйся поиском по форуму

  Ответить  
 
 автор: час   (11.01.2008 в 11:20)   личное сообщение
 
 

  Ответить  
 
 автор: час   (11.01.2008 в 11:21)   личное сообщение
 
 

Я пользовался поиском - неудачно.
Два перелома три ссадины...

  Ответить  
 
 автор: osmor   (11.01.2008 в 12:08)   личное сообщение
 
 

можно вопрос?
ПОчему без ADO или DAO? (как любят говорить на SQL.RU, "религия не позволяет?")

  Ответить  
 
 автор: час   (11.01.2008 в 13:45)   личное сообщение
 
 

Позволят религия.
Просто в Mde ссылка если отвалится, то автоматом не восстановишь.(видимо)
А я все функции - которые используются в базе запихиваю в файлик moduli.Mde

  Ответить  
 
 автор: Алексей М.   (12.01.2008 в 20:35)   личное сообщение
 
 

А я все функции - которые используются в базе запихиваю в файлик moduli.Mde

Может это и не в тему.
А как ими (функциями) потом пользоваться или оттудова выдергивать? (Я еще не опытный, может ссылка есть?)

  Ответить  
 
 автор: час   (12.01.2008 в 21:28)   личное сообщение
 
 

Как нибудь раскажу.
Это целая история....
Сергей Гаврилов надоумил

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