Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft Access Новый топик    Ответить
 Как импортировать XML-файл в таблицах MS Access программно  [new]
Jumakhon
Member

Откуда: Республика Таджикистан
Сообщений: 14
Пожалуйста помогите. Внизу экземпляр тип XML файл. Мне нужен каждый месяц добавит 15-20 такого XML в база данных Access
<?xml version="1.0" ?> 
- <Unloading>
         <id_unloading>0001</id_unloading> 
         <create_date>08.04.2020</create_date> 
       - <Register_of_pensioners>
       - <record>
                <nP_Delo>035546</nP_Delo> 
                <nSIN /> 
                <surname>Сидикова</surname> 
                <name>Бунавша</name> 
                <patronymic /> 
                <sSex>женщина</sSex> 
                <dDate_of_birth>23.03.1989</dDate_of_birth> 
              - <identity_documents>
                      <id_documents /> 
                      <Whom_issue /> 
                      <Date_issue /> 
                      </identity_documents>
             - <addresses>
                      <country>Таджикистан</country> 
                      <city /> 
                      <area>Чалолиддини Румї</area> 
                      <street /> 
                      <house /> 
                      <apartment /> 
              </addresses>
       </record>
     - <record>
              <nP_Delo>035191</nP_Delo> 
              <nSIN /> 
              <surname>Каримова</surname> 
              <name>Жумагул</name> 
              <patronymic /> 
              <sSex>женщина</sSex> 
              <dDate_of_birth>05.05.1940</dDate_of_birth> 
            - <identity_documents>
                   <id_documents /> 
                   <Whom_issue /> 
                   <Date_issue /> 
             </identity_documents>
           - <addresses>
                  <country>Таджикистан</country> 
                  <city /> 
                  <area>Чалолиддини Румї</area> 
                  <street /> 
                  <house /> 
                  <apartment /> 
           </addresses>
    </record>
  - <record>
           <nP_Delo>035325</nP_Delo> 
           <nSIN /> 
           <surname>Пирматов</surname> 
           <name>Хайдар</name> 
           <patronymic /> 
           <sSex>мужчина</sSex> 
           <dDate_of_birth>10.03.1934</dDate_of_birth> 
        - <identity_documents>
               <id_documents /> 
               <Whom_issue /> 
               <Date_issue /> 
          </identity_documents>
        - <addresses>
              <country>Таджикистан</country> 
              <city /> 
              <area>Чалолиддини Румї</area> 
              <street /> 
              <house /> 
              <apartment /> 
        </addresses>
     </record>
   - <record>
           <nP_Delo>035263</nP_Delo> 
           <nSIN /> 
           <surname>Насимова</surname> 
          <name>Хурсанд</name> 
          <patronymic /> 
          <sSex>женщина</sSex> 
          <dDate_of_birth>19.07.1943</dDate_of_birth> 
        - <identity_documents>
               <id_documents /> 
               <Whom_issue /> 
               <Date_issue /> 
         </identity_documents>
       - <addresses>
               <country>Таджикистан</country> 
               <city /> 
               <area>Чалолиддини Румї</area> 
               <street /> 
               <house /> 
               <apartment /> 
        </addresses>
    </record>
 </Register_of_pensioners>
 </Unloading>
13 апр 20, 08:16    [22115172]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
ПЕНСИОНЕРКА
Member

Откуда: Владимирская обл
Сообщений: 4723
Jumakhon,
получила только указав кодировку в строке 1.
id unloadingcreate datenP DelonSINsurnamenamepatronymicsSexdDate of birthid documentsWhom issueDate issuecountrycityareastreethouseapartment
108.04.202035546СидиковаБунавшаженщина23.03.1989ТаджикистанЧалолиддини Румї
108.04.202035191КаримоваЖумагулженщина05.05.1940ТаджикистанЧалолиддини Румї
108.04.202035325ПирматовХайдармужчина10.03.1934ТаджикистанЧалолиддини Румї
108.04.202035263НасимоваХурсандженщина19.07.1943ТаджикистанЧалолиддини Румї
13 апр 20, 10:41    [22115227]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
Jumakhon
Member

Откуда: Республика Таджикистан
Сообщений: 14
в Access 4 таблица каждый часть данных нужен импортировать на свою таблицах. например:
- <record>
           <nP_Delo>035325</nP_Delo> 
           <nSIN /> 
           <surname>Пирматов</surname> 
           <name>Хайдар</name> 
           <patronymic /> 
           <sSex>мужчина</sSex> 
           <dDate_of_birth>10.03.1934</dDate_of_birth> 

на таблица по имени record
а это:
- <addresses>
                  <country>Таджикистан</country> 
                  <city /> 
                  <area>Чалолиддини Румї</area> 
                  <street /> 
                  <house /> 
                  <apartment /> 
           </addresses>

на таблица по имени address
Просто я не знаю как создать цикл чтобы автоматический сто таких строка импортируется на таблицах
13 апр 20, 11:30    [22115263]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
Jumakhon
Member

Откуда: Республика Таджикистан
Сообщений: 14
ПЕНСИОНЕРКА,
в Access 4 таблица каждый часть данных нужен импортировать на свою таблицах. например:
- <record>
           <nP_Delo>035325</nP_Delo> 
           <nSIN /> 
           <surname>Пирматов</surname> 
           <name>Хайдар</name> 
           <patronymic /> 
           <sSex>мужчина</sSex> 
           <dDate_of_birth>10.03.1934</dDate_of_birth> 

на таблица по имени record

а это:
- <addresses>
           <country>Таджикистан</country> 
           <city /> 
           <area>Чалолиддини Румї</area> 
           <street /> 
           <house /> 
           <apartment /> 
   </addresses>

на таблица по имени address
Просто я не знаю как создать цикл чтобы автоматический сто таких строка импортируется на таблицах
13 апр 20, 11:58    [22115280]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
Jumakhon
Member

Откуда: Республика Таджикистан
Сообщений: 14
Пожалуйста кто сможет помогите! Хотя част кода напишите....
14 апр 20, 09:48    [22115790]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
Кривцов Анатолий
Member

Откуда:
Сообщений: 554
Jumakhon
Пожалуйста кто сможет помогите! Хотя част кода напишите....

Если ПЕНСИОНЕРКА покажет, как смогла импортировать в одну таблицу, то затем растолкать данные по разным таблицам вам не должно составить труда.
Иначе вам прийдется бодаться с XML парсером или читать файл как текстовый с анализом каждой строки.
14 апр 20, 11:16    [22115847]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 670
Jumakhon,
курите MSXML2.DOMDocument, MSXML2.IXMLDOMnodelist, MSXML2.IXMLDOMNodeList
+
Dim xmlParser As Object, root As Object,xmlNodeList As MSXML2.IXMLDOMNodeList
Dim cxns As IXMLDOMnodelist, oSeqNode As IXMLDOMnodelist, strname$
пусть filepath$ -путь к файлу
 Set xmlParser = CreateObject("MSXML2.DOMDocument")
xmlParser.load filepath
Set root = xmlParser.documentElement
Set xmlNodeList  = root.selectSingleNode("//Unloading/record")
 If xmlNodeList.length > 0 Then
For Each oSeqNode In xmlNodeList
 strname=oSeqNode.selectSingleNode("surname") & chr(32) & oSeqNode.selectSingleNode("name") ' имя фамилия
next
end if

вот тут более расширенно 13158708
14 апр 20, 11:27    [22115855]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 670
немного код надо изменить
Set xmlNodeList  = root.selectNodes("//Unloading/record")
14 апр 20, 20:11    [22116291]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
Jumakhon
Member

Откуда: Республика Таджикистан
Сообщений: 14
alecko,
Спасибо! Но у меня не получилась. Дает ошибку на условия...

К сообщению приложен файл (test.rar - 29Kb) cкачать
15 апр 20, 10:21    [22116531]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
Jumakhon
Member

Откуда: Республика Таджикистан
Сообщений: 14
alecko,
If xmlNodeList.length > 0 Then
15 апр 20, 11:33    [22116593]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4848
Jumakhon
в Access 4 таблица каждый часть данных нужен импортировать на свою таблицах. например:
максимально упрощено

К сообщению приложен файл (ExampleXSLT.zip - 25Kb) cкачать

Сообщение было отредактировано: 15 апр 20, 11:35
15 апр 20, 11:35    [22116597]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 670
Jumakhon,Поправил файл результат работы смотреть в окне immediate

К сообщению приложен файл (test.accdc - 26Kb) cкачать
15 апр 20, 13:23    [22116682]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
Jumakhon
Member

Откуда: Республика Таджикистан
Сообщений: 14
alecko,
Чета не импортирует в таблица record?
А по идею должен добавить фамилию и имя на таблица
15 апр 20, 14:29    [22116726]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
alecko
Member

Откуда: Башкирия
Сообщений: 670
Jumakhon, запись в таблицу и прочие элементарные действия - сами - куда хотите, что хотите и каким угодно способом - процедура выводит результат своей работы в окне Immediate- это лишь направление - не более.
15 апр 20, 16:01    [22116777]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
Jumakhon
Member

Откуда: Республика Таджикистан
Сообщений: 14
alecko,
Братан по честному у меня не получилось! С вчерашнему дней попытаюсь не как не получается... Не знаю что делать...
16 апр 20, 12:21    [22117389]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4848
Jumakhon, ты смотрел мой пример?22116597
там, блин, две строчки...

Сообщение было отредактировано: 16 апр 20, 12:45
16 апр 20, 12:45    [22117412]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
Jumakhon
Member

Откуда: Республика Таджикистан
Сообщений: 14
Панург,
Пожалуйста не стесняйся я знаю сто это самый легкий путь. Но мне нужен если на следующий месяц повторится какой то данных xml автоматический изменяет эти данных.
16 апр 20, 13:27    [22117435]     Ответить | Цитировать Сообщить модератору
 Re: Как импортировать XML-файл в таблицах MS Access программно  [new]
Панург
Member

Откуда: настоящему индейцу завсегда везде ништяк
Сообщений: 4848
Jumakhon
Пожалуйста не стесняйся я знаю сто это самый легкий путь.
да? вонна чо...

Jumakhon
Но мне нужен если на следующий месяц повторится какой то данных xml автоматический изменяет эти данных.
ну какбэ там файл xslt изменяет (слехка) структуру твоего документа. А ты каждый раз в код полезешь править?
16 апр 20, 15:23    [22117526]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить