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

Откуда:
Сообщений: 18
Ссылка на русском: https://vikilpet.wordpress.com/2019/08/29/ms-access-http-server/
Код на гитхабе: https://github.com/vikilpet/MS-Access-HTTP-Server
Краткое описание: простое добавление или получение данных из базы Access с помощью HTTP запросов:
Картинка с другого сайта.
Картинка с другого сайта.

Формат выходных данных: JSON, CSV. Баз может быть сколько угодно.

Можно сделать в виде exe файла, но антивирусы такое не любят, да и зависимостей немного.
30 авг 19, 12:41    [21960483]     Ответить | Цитировать Сообщить модератору
 Re: Access HTTP сервер  [new]
ИВП
Member

Откуда:
Сообщений: 220
vklpt,
очень интересно.
Жду продолжения.
30 авг 19, 16:18    [21960692]     Ответить | Цитировать Сообщить модератору
 Re: Access HTTP сервер  [new]
vklpt
Member

Откуда:
Сообщений: 18
ИВП, не понял, какого продолжения вы ждёте?
30 авг 19, 16:22    [21960700]     Ответить | Цитировать Сообщить модератору
 Re: Access HTTP сервер  [new]
ИВП
Member

Откуда:
Сообщений: 220
vklpt, к чему весь топик?
30 авг 19, 16:49    [21960713]     Ответить | Цитировать Сообщить модератору
 Re: Access HTTP сервер  [new]
vklpt
Member

Откуда:
Сообщений: 18
ИВП, к тому, что кому надо - берёт и пользуется.
30 авг 19, 17:01    [21960724]     Ответить | Цитировать Сообщить модератору
 Re: Access HTTP сервер  [new]
ИВП
Member

Откуда:
Сообщений: 220
vklpt,
так и надо так написать!!!
30 авг 19, 17:03    [21960725]     Ответить | Цитировать Сообщить модератору
 Re: Access HTTP сервер  [new]
DarkMan
Member

Откуда:
Сообщений: 542
vklpt
ИВП, к тому, что кому надо - берёт и пользуется.

Спасибо. Но ничего нового Вы не предложили.
Все это здесь уже обсуждалось. И не для кого не является секретом.
И даже давали ссылки на готовые программы , вроде как PHP Runner , если не ошибаюсь.
А те кто кто хоть немного владеет PHP , HTML , CSS и JavaScript могут и сами с успехом создавать свои программы .
К тому же сейчас имеется множество фреймворков , один из популярных Laravel например . :))
31 авг 19, 08:15    [21961016]     Ответить | Цитировать Сообщить модератору
 Re: Access HTTP сервер  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 1382
vklpt,

Что уникального в данном примере? Есть два пути , которые короче,чем у вас на гите в репозитории раз в 10. Можно при помощи VBS гораздо меньшими усилиями отрисовывать редактируемую таблицу из MS Access в формате веб страницы. Второй вариант тоже достаточно прост - использовать Jquery-jtable + odbc (который в 98% уже встроен на комп , где крутиться аксесс)
31 авг 19, 19:49    [21961253]     Ответить | Цитировать Сообщить модератору
 Re: Access HTTP сервер  [new]
vklpt
Member

Откуда:
Сообщений: 18
Сергей Лалов, вы толком и описание не прочитали, и даже не понимаете, что если база будет на другом компьютере - то с VBS вы далеко не уйдёте, а уж про меньшие усилия в убогом VBS и говорить не стоит.

Ну в общем как обычно: выложил на иностранный форум - сказали "спасибо", выложил на русском - "ниачом", "не нужно" — классика :D
31 авг 19, 20:29    [21961268]     Ответить | Цитировать Сообщить модератору
 Re: Access HTTP сервер  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 1382
vklpt
Сергей Лалов, вы толком и описание не прочитали, и даже не понимаете, что если база будет на другом компьютере - то с VBS вы далеко не уйдёте, а уж про меньшие усилия в убогом VBS и говорить не стоит.

Ну в общем как обычно: выложил на иностранный форум - сказали "спасибо", выложил на русском - "ниачом", "не нужно" — классика :D


Да вы не обижайтесь, работа судя по репам проделана немалая. Если вы все это последовательно сами написали, то только плюс! В остальном то уж точно разберетесь. Имел в виду ,что на js можно из аксесса дернуть данные покороче.
31 авг 19, 21:36    [21961293]     Ответить | Цитировать Сообщить модератору
 Re: Access HTTP сервер  [new]
Сергей Лалов
Member

Откуда: localhost SPB
Сообщений: 1382
Вот можете посмотреть, я около 9 лет назад пробовал подключаться из js к аксессу. Все нормально работает.
Терпения правда хватило на тот момент только на SELECT ) Код рабочий. Отрисовывает таблицу на странице.

<html>
     <head>
    
   <script type="text/javascript">
   <!--
    var adOpenDynamic = 2;
   var adLockOptimistic = 3;
    
    /* Path of database.
     */
   var strDbPath = "C:\Documents and Settings\slalov\Рабочий стол\testado.mdb";
   
   
    var conn_str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strDbPath;
   
     function getAdoDb(strAdoType){
      if (window.ActiveXObject){
           return new ActiveXObject(strAdoType);
       }
      else{
           return ActiveXObject(strAdoType);
      }
     }
    
    function showReports(){
       try{
          var strHtml ="";
          strHtml += "<table cellpadding=0 cellspacing=0 border=1 width= '100%' align=center>";
           strHtml += "<tr ><td align=center colspan=4><b>Sample Database Records</b></td></tr>";
   
               //Database Connection
          var conn = getAdoDb("ADODB.Connection");
          conn.open(conn_str, "",   "");
    
          //Recordset
         var rs = new ActiveXObject("ADODB.Recordset");
       
          strQuery = "SELECT users.FirstName, users.LastName, users.Age,  FROM users";
          rs.open(strQuery, conn, adOpenDynamic, adLockOptimistic);
    
          if(!rs.bof){
             rs.MoveFirst();
            while(!rs.eof) {
                strHtml += "<tr>";
               strHtml += " <td><Font face ='tahoma'>" + rs.fields(0).value + "</font></td>";
                strHtml += " <td><Font face ='tahoma'>" + rs.fields(1).value + "</font></td>";
                strHtml += " <td><Font face ='tahoma'>" + rs.fields(2).value + "</font></td>";
                strHtml += "</tr>";
    
               rs.MoveNext();
             }
          }
          else{
            //No Records.
           strHtml += "<tr colspan=4><td align=center><font color=red>No Records.</font></td></tr>";
         }
          conn.close();
              strHtml += "</table>";
             document.write(strHtml);
       }catch(ex){
         alert(ex.message);
       }
     }
    
    //-->
     </script>
     <title>Call Log Details</title>
     </head>
    
     <!--<body onload="show_menu()">
       <div id="main" />-->
     <body>
       <script language="JavaScript">
        showReports();
   </script>
    </body>
     </html>
31 авг 19, 21:41    [21961297]     Ответить | Цитировать Сообщить модератору
 Re: Access HTTP сервер  [new]
Nebo
Member

Откуда:
Сообщений: 2760
vklpt,

вот Вы мне скажите, как наоборот, сделать JSON, полученный от сервера, источником данных табличной формы ) ?
3 сен 19, 00:12    [21962188]     Ответить | Цитировать Сообщить модератору
 Re: Access HTTP сервер  [new]
Nebo
Member

Откуда:
Сообщений: 2760
vklpt,

За топик Спасибо!
3 сен 19, 00:12    [21962189]     Ответить | Цитировать Сообщить модератору
 Re: Access HTTP сервер  [new]
vklpt
Member

Откуда:
Сообщений: 18
Nebo, либо преобразовать в CSV-файл, в гугле есть какие-то решения вроде этого:
https://github.com/VBA-tools/VBA-JSON
а к нему подключаться в запросе через DSN или импортировать в таблицу, либо узнать у админа сервера, может можно ли получать в HTML формате, потому что для него есть родной Microsoft HTML Object Library.

Ну или делать питоновскую прокладку в 10 строчек, т.к. и для csv и для json есть стандартные модули:
https://stackoverflow.com/questions/1871524/how-can-i-convert-json-to-csv
3 сен 19, 01:13    [21962193]     Ответить | Цитировать Сообщить модератору
 Re: Access HTTP сервер  [new]
Nebo
Member

Откуда:
Сообщений: 2760
vklpt,

Спасибо ) Как я и предполагал, что решение длинное.
Когда же мы дождёмся от Майкрософт, чтобы источником данных формы был аутентичный JSON ? )
3 сен 19, 02:45    [21962195]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft Access Ответить