Ïðèñâîåíèå ñ èñïîëüçîâàíèåì CurrentDb è DBEngine(0)(0)
|
|
×åòâåðã, 01 Ñåíòÿáðÿ 2016 ã. 10:00
+ â öèòàòíèê
Îáíàðóæèë èíòåðåñíûé ýôôåêò. Íóæíî áûëî ïîëó÷èòü TableDef îïðåäåëåííîé òàáëèöû, à ïðèñâîåíèå
Set tdf = CurrentDb.TableDefs(strTable)
íå ðàáîòàëî - íà tdf ðàãàëîñü äàëüøå "Object invalid or no longer set"
Âîò òàê ðàáîòàåò:
Set tdf = DBEngine(0)(0).TableDefs(strTable)
È òàê ðàáîòàåò:
Set db = CurrentDb()
Set tdf = db.TableDefs(strTable)
Íå ñîâñåì ïîíÿòíî, ïî÷åìó òàêîå ïðîèñõîäèò. Ïîíÿòíî, ÷òî CurrntDb äàåò ññûëêó íà òåêóùóþ êîïèþ áàçû äàííûõ, êàæäîå îáðàùåíèå ýòî áóäåò íîâàÿ êîïèÿ, íî ññûëêà íà îáúåêò ñ îïðåäåëåíèåì òàáëèöû äîëæåí áûòü òîò æå ñàìûé. Èëè âñå ññûëêè íà îáúåêòû áàçû äàííûõ, ïîëó÷åííûå ÷åðåç CurrentDb ðàçðóøàþòñÿ ñðàçó æå ïîñëå îáðàùåíèÿ ê CurrentDb?
http://www.sql.ru/forum/1229049/prisvoenie-s-ispolzovaniem-currentdb-i-dbengine-0-0
-
Çàïèñü ïîíðàâèëàñü
-
0
Ïðîöèòèðîâàëè
-
0
Ñîõðàíèëè
-