-Ïîèñê ïî äíåâíèêó

Ïîèñê ñîîáùåíèé â rss_sql_ru_access_programming

 -Ïîäïèñêà ïî e-mail

 

 -Ïîñòîÿííûå ÷èòàòåëè

 -Ñòàòèñòèêà

Ñòàòèñòèêà LiveInternet.ru: ïîêàçàíî êîëè÷åñòâî õèòîâ è ïîñåòèòåëåé
Ñîçäàí: 16.03.2006
Çàïèñåé:
Êîììåíòàðèåâ:
Íàïèñàíî: 4


Êàê ïðîâåðèòü ïðîãðàììíî â VBA èìååò ëè ïîëå òèï "Âëîæåíèå"?

Ñðåäà, 04 Èþíÿ 2014 ã. 21:30 + â öèòàòíèê
Äîáðûé äåíü, êîëëåãè!

Ñîáñíî, ñàáæ.
Åñòü êîëëåêöèÿ ADODB.Recordset.Fields, ïî íåé èä¸ò öèêë. Íåêîòîðûå ïîëÿ èìåþò òèï "Âëîæåíèå" (Attachment). Íà ýòàïå ïðîãðàììèðîâàíèÿ çàêëàäûâàòü ïðåäîïðåäåë¸ííûé íàáîð ïîëåé íåò æåëàíèÿ.
Ñîîòâåòñòâåííî, íàäî êàê-òî ïðîãðàììíî îòëè÷èòü ïîëÿ òèïà "Âëîæåíèå" îò âñåõ îñòàëüíûõ.

È âîò òóò ÿ çàñòðÿë. Ñâîéñòâî Type ó òàêèõ ïîëåé èìååò òèï Variant/Object. Íî ýòî âåäü åù¸ íå ÿâëÿåòñÿ îäíîçíà÷íûì ïðèçíàêîì òèïà "Âëîæåíèå".
Ìîæíî ïîéòè äåðåâåíñêèì ïóò¸ì è ïðîñòî ïðèñâàèâàòü êàê-òî òàê:

Dim att As ADODB.Recordset
Set att = fld.Value

ïîñëå ÷åãî ïåðåõâàòûâàòü îøèáêó.
Åñëè îøèáêè íåò, òî ïîëå ÿâëÿåòñÿ multivalued, ÷òî, êàê ÿ ïîíÿë, ÿâëÿåòñÿ ïðàêòè÷åñêèì ñèíîíèìîì òèïà "Âëîæåíèå". Åñëè îøèáêà åñòü, òî ïîëå èìååò äðóãîé òèï.
Òàêîé âàðèàíò ðàáîòàåò, íî êàê-òî îíî òóïî. Óâåðåí, åñòü áîëåå ðàçóìíûå è íà䏿íûå ïóòè.

http://www.sql.ru/forum/1098634/kak-proverit-programmno-v-vba-imeet-li-pole-tip-vlozhenie


 

Äîáàâèòü êîììåíòàðèé:
Òåêñò êîììåíòàðèÿ: ñìàéëèêè

Ïðîâåðêà îðôîãðàôèè: (íàéòè îøèáêè)

Ïðèêðåïèòü êàðòèíêó:

 Ïåðåâîäèòü URL â ññûëêó
 Ïîäïèñàòüñÿ íà êîììåíòàðèè
 Ïîäïèñàòü êàðòèíêó