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

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

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

 

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

 -Ñòàòèñòèêà

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


Çàãðóçêà ÊËÀÄÐ-à âî âíóòðåííèå òàáëèöû

Âòîðíèê, 26 Àâãóñòà 2014 ã. 04:18 + â öèòàòíèê
Çäðàâñòâóéòå! Íàø¸ë ïðèìåð ïî çàãðóçêå ÊËÀÄÐ-à â òàáëèöû, íî âîò áåäà - íå ïðîèñõîäèò ðàçäåëåíèÿ ãîðîäîâ è ïóíêòîâ â ðàçíûå òàáëèöû. (http://kladr.ws/zagruzka-microsoft-access)
Äîïèñàë/èçìåíèë ÷àñòü êîäà â ìàêðîñå (âñ¸ â ïðèíöèïå èíòóèòèâíî ïîíÿòíî), - áëèí, ðàáîòàòü íå õî÷åò. Îøèáîê íå âûâîäèò, ïðîñòî "ïîäâèñàåò". Ïîäâèñàåò èìåííî íà ãîðîäàõ ( òàì ãäå ÿ èçìåíèë).
Dim strSQL

SysCmd acSysCmdInitMeter, "Ïðîöåññ îáíîâëåíèÿ...", 13 'ÑÎÇÄÀÅÌ ÏÎËÎÑÓ ÑÎÑÒÎßÍÈß

SysCmd acSysCmdUpdateMeter, 0 'ÏÎËÎÑÀ ÑÎÑÒÎßÍÈß

On Error GoTo err_kod

SysCmd acSysCmdUpdateMeter, 1 'ÏÎËÎÑÀ ÑÎÑÒÎßÍÈß

'Äîáàâëÿåì ëèíîâêó íà òàáëèöó KLADR
DoCmd.TransferDatabase acLink, "dBase III", Application.CurrentProject.Path, , "KLADR.DBF", "KLADR"

SysCmd acSysCmdUpdateMeter, 2 'ÏÎËÎÑÀ ÑÎÑÒÎßÍÈß
'ÎÁÐÀÁÀÒÛÂÀÅÌ ÐÅÃÈÎÍÛ
CurrentDb.Execute "Delete * from Ðåãèîíû;"

SysCmd acSysCmdUpdateMeter, 3 'ÏÎËÎÑÀ ÑÎÑÒÎßÍÈß

strSQL = "INSERT INTO Ðåãèîíû (ÊîäÐåãèîíà, Ðåãèîí, INDEX) SELECT clng(Left([KLADR]![code],2)) AS ÊîäÐåãèîíà,  [KLADR]![NAME] & ' ' & [KLADR]![SOCR] AS Ðåãèîí, KLADR.INDEX FROM KLADR WHERE (((Right([KLADR]![code],11))='00000000000'));"
CurrentDb.Execute strSQL

SysCmd acSysCmdUpdateMeter, 4 'ÏÎËÎÑÀ ÑÎÑÒÎßÍÈß
'ÎÁÐÀÁÀÒÛÂÀÅÌ ÐÀÉÎÍÛ
CurrentDb.Execute "Delete * from Ðàéîíû;"

SysCmd acSysCmdUpdateMeter, 5 'ÏÎËÎÑÀ ÑÎÑÒÎßÍÈß

strSQL = "INSERT INTO Ðàéîíû (ÊîäÐåãèîíà, ÊîäÐàéîíà, Ðàéîí, INDEX) SELECT clng(Left([KLADR]![code],2)) AS ÊîäÐåãèîíà,  CLng(Mid([KLADR]![code],3,3)) AS êîäÐàéîíà, [KLADR]![NAME] & ' ' & [KLADR]![SOCR] AS Ðàéîí, KLADR.INDEX FROM KLADR WHERE ((Mid([KLADR]![code],3,3)<>'000') AND (Right([code],8)='00000000'));"
CurrentDb.Execute strSQL

SysCmd acSysCmdUpdateMeter, 6 'ÏÎËÎÑÀ ÑÎÑÒÎßÍÈß

'ÎÁÐÀÁÀÒÛÂÀÅÌ ÃÎÐÎÄÀ
CurrentDb.Execute "Delete * from Ãîðîäà;"

SysCmd acSysCmdUpdateMeter, 7 'ÏÎËÎÑÀ ÑÎÑÒÎßÍÈß
'===============================================================
'ÈÇÌÅͨÍÍÎÅ
strSQL = "INSERT INTO Ãîðîäà (ÊîäÐåãèîíà, ÊîäÐàéîíà, ÊîäÃîðîäà, Ãîðîä, INDEX) SELECT CLng(Left([KLADR]![code],2)) AS ÊîäÐåãèîíà, CLng(Mid([KLADR]![code],3,3)) AS ÊîäÐàéîíà, CLng(Mid([KLADR]![code],6,3)) AS ÊîäÃîðîäà, [KLADR]![NAME] & ' ' & [KLADR]![SOCR] AS Ãîðîä, KLADR.INDEX FROM KLADR WHERE (Mid([KLADR]![code],6,3)<>'000')  AND (Right([code],5)='00000'));"
CurrentDb.Execute strSQL

SysCmd acSysCmdUpdateMeter, 8 'ÏÎËÎÑÀ ÑÎÑÒÎßÍÈß

'ÎÁÐÀÁÀÒÛÂÀÅÌ ÍÀÑÅ˨ÍÍÛÅ ÏÓÍÊÒÛ
CurrentDb.Execute "Delete * from Íàñåë¸ííûåÏóíêòû;"

SysCmd acSysCmdUpdateMeter, 9 'ÏÎËÎÑÀ ÑÎÑÒÎßÍÈß

' ÍÎÂÎÅ
strSQL = "INSERT INTO Ãîðîäà (ÊîäÐåãèîíà, ÊîäÐàéîíà, ÊîäÃîðîäà, Ãîðîä, ÊîäÏóíêòà, Ïóíêò, INDEX) SELECT CLng(Left([KLADR]![code],2)) AS ÊîäÐåãèîíà, CLng(Mid([KLADR]![code],3,3)) AS ÊîäÐàéîíà, CLng(Mid([KLADR]![code],6,3)) AS ÊîäÃîðîäà, CLng(Mid([KLADR]![code],9,3)) AS ÊîäÏóíêòà, [KLADR]![NAME] & ' ' & [KLADR]![SOCR] AS Ïóíêò, KLADR.INDEX FROM KLADR WHERE (Mid([KLADR]![code],9,3)<>'000');"
CurrentDb.Execute strSQL

SysCmd acSysCmdUpdateMeter, 10 'ÏÎËÎÑÀ ÑÎÑÒÎßÍÈß

'===============================================================

'Óäàëÿåì ëèíîâêó íà òàáëèöó KLADR
DoCmd.DeleteObject acTable, "KLADR"

SysCmd acSysCmdUpdateMeter, 11 'ÏÎËÎÑÀ ÑÎÑÒÎßÍÈß

'Äîáàâëÿåì ëèíîâêó íà òàáëèöó STREET
DoCmd.TransferDatabase acLink, "dBase III", Application.CurrentProject.Path, , "STREET.DBF", "STREET"

SysCmd acSysCmdUpdateMeter, 12 'ÏÎËÎÑÀ ÑÎÑÒÎßÍÈß

'ÎÁÐÀÁÀÒÛÂÀÅÌ ÓËÈÖÛ
CurrentDb.Execute "Delete * from Óëèöû;"

SysCmd acSysCmdUpdateMeter, 13 'ÏÎËÎÑÀ ÑÎÑÒÎßÍÈß

strSQL = "INSERT INTO Óëèöû (ÊîäÐåãèîíà, ÊîäÐàéîíà, ÊîäÃîðîäà, ÊîäÓëèöû, Óëèöà, INDEX) SELECT CLng(Left([STREET]![code],2)) AS ÊîäÐåãèîíà, CLng(Mid([STREET]![code],3,3)) AS ÊîäÐàéîíà, CLng(Mid([STREET]![code],6,6)) AS ÊîäÃîðîäà, CLng(Mid([STREET]![code],12,4)) AS ÊîäÓëèöû, [STREET]![NAME] & ' ' & [STREET]![SOCR] AS Óëèöà, STREET.INDEX FROM STREET WHERE (Mid([STREET]![code],12,4)<>'0000')"
CurrentDb.Execute strSQL

SysCmd acSysCmdUpdateMeter, 14 'ÏÎËÎÑÀ ÑÎÑÒÎßÍÈß

'Óäàëÿåì ëèíîâêó íà òàáëèöó STREET
DoCmd.DeleteObject acTable, "STREET"

SysCmd acSysCmdUpdateMeter, 15 'ÏÎËÎÑÀ ÑÎÑÒÎßÍÈß

SysCmd acSysCmdRemoveMeter

exit_sub:
Exit Sub

err_kod:
Debug.Print Err.Description

http://www.sql.ru/forum/1112559/zagruzka-kladr-a-vo-vnutrennie-tablicy


 

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

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

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

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