|
|
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
Уважаемые !!! Существует file.txt задача: на локальной(!) машине запустить скрипт чтоб он автоматически отработал внесение нового или изменение существующего в АЦЕСС Что это (ASP, VB, JS) - я не знаю! file.txt - я сгенерю сам как вы подскажете. Вплоть до прямых команд UPDATE или INSERT Единственное, что надо - при запуске скрипта, чтоб он подключался к базе ACCESSа и отрабатывал.. Я владею ПХП и ПЕРЛ - сделал довольно глобальную работу по автоматическому заносу инфо в книжную базу данных в и-нете. Перевёл всю работу нескольких оффисов и складов в прямой эфир и заткнулся на элементарщине. Босс/заказчик требует параллельного апдейта их старой складской программки, работающей на ACCESSе. Я присылаю мылом нужный файл изменений с сервака, но что дальше? Как? Ручной занос пугает теток-кладовщиц (там так много кнопочек и галочек - мы всё напутаем) Вникать всерьёз в ACCESS и, к примеру, VB - некогда, по срокам сдачи.. Уверен, что можно написать простенький скрипт, который будет читать нужный файл с локальной машины и тупо отрабатывать две команды ИНСЕРТ и АПДЕЙТ по конкретным ТАБЛИЦАМ конкретной БАЗЫ на той же локальной машине.. Подскажите! ЗЫ: Простите за многословность. Боюсь народ проигнорирует (непривыкший я к форумам) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 02:36 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
ну если владеешь PHP тогда ADO тебе в руки... а вообще-то тебе сюда ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 08:43 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
А я не владею ПХП и ПЕРЛ :(, вроде с их стороны это реализуемо А со стороны Access как бы попроще... Вариант: Твой текстовый документ должен быть с разделителями полей, имя постоянное - file.txt, будут его пихать в определенный каталог. В БД подключаем этот документ как таблицу через "Внешние данные" (нужно будет по ходу дела создать спецификацию, но это не бог весть как сложно), это делаем один раз. делаем небольшую функцию в каком-нибудь модуле в ней пишем примерно следующее: Public Function fnInsertf() 'отключаем обработку ошибок на случай если документа нет On Error Resume Next ' это надеюсь понятно CurrentDb.Execute "INSERT INTO Table1 SELECT [filetxt].* FROM [filextxt];" ' и т.д... 'грохаем отработанный документ Kill "C:\MyTXT\file.txt" End Function Создаем макрос с именем Autoexec в нем указываем макрокоманду - ЗапускПрограммы и в ней имя этой функции. На запуске БД будет отрабатываться сия функция Вроде не очень сложно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 09:03 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
Для программного присоединения текстового файла надо использовать DoCmd.TransferText После присоединения работаешь с файлом как с таблицей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 10:19 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
Кстати, в продолжении темы. А как до этой спецификации можно добраться программно, где он (этот файл со спецификацией) валяется? А то базу переносил на другой комп и эту спецификацию создавал заново, что не гуд. и вообще можно ли ее программно сгенерить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 10:50 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
Есть ли смысл создавать ее програмно? Надо создать ее 1 раз, а потом можно переносить в другую базу Это делается через диалог Импорт объектов БД. Внизу есть флажки: меню и панели схема данных спецификация а вообще вот тут все сказано: http://www.hiprog.com/forum/forum.asp?action=show&id=2&messid=34728&fullview=0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 10:58 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
Zenia , ПХП на локале не работает и "собратья" навряд помогут, имхо, я зашёл по адресу.. Скорее всего АДО проштудирую, спасибо за намёк: мануал - он и в Африке мануал.. ;-) Alexander G , для работы на локале с ПХП надо поставить АПАЧУ - представляю глаз заказчика, когда он об этом услышит ;-)))) да и комп древний - т.е. вариант продумывался, но пока отвергнут. Ваш скрипт обязательно попробую расковырять. Проблема совсем мала - я не знаком с синтаксисом ваще. Составляет сложность даже определение переменных. По-хорошему, решение надо б оплатить (ведь получаем денег не за сложность, а за знание ;-) ) Будет ли большой наглостью попросить отписать не функцию, а конструкцию, которая при запуске файла (ручками, например, даблкликом с десктопа) будет, грузить АЦЕСС лежащий рядом в папке прямо командами? "Автоекзеки" и "килы" не нужны.. Это уже лишнее. Итак: руками кладём файл в папку руками запускаем он делает коннект-инсерт-апдейт-реплэйс-не_знаю_что ;) руками удаляем Буду признателен необычайно. Не хочется обидеть, но если встанет вопрос об оплате - скажите - всё обсуждаемо! ЗЫ: Всем остальным : спасибо за участие в теме. Линк http://www.hiprog.com/forum/forum.asp?action=show&id=2&messid=34728&fullview=0 интересен, но еще не для моего уровня понимания вопроса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 12:00 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
PHP Исходя из того, что это будет делать бухгалтер (это порода такая, я думаю со мной многие согласятся) я как раз попытался максимально не загружать ей мозги, т.е. ее дело положить файл из письма в папку и запустить свое приложение. Когда она его запустит, ее личное дело, когда запустит, тогда функция и отработает, это не обязательно сразу, начнет работать - все будет сделано. Autoexec это несложно, если уж в PNP разбираетесь, создать описанный макрос Autoexec в Access - думаю 5 минут за глаза хватит. А уж и Kill - тут ничего сложного - это просто команда. Я практически написал готовую функцию, с вашей стороны нужно лишь задать выражение SQL, без переменных. Тут я не подумал - а таблица в файле одна или несколько? А то нужно либо делать несколько текстовых файлов, либо гемморойный анализ текста. По поводу оплаты - я бы взял пивом, но увы, далековато до Чукотки :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 12:37 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
PHP Если Вам нужно сделать это на достаточно элементарном уровне без различных заморочек, я могу помочь. Безо всяких там "магарычей" Ссылка на hiprog.com - это как раз мой вопрос. Нужно - пишите kura2006@yandex.ru ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 12:57 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
Alexander G , да, однозначно спасибо за "пинок в нужном направлении" - копаю, уже что-то получается.. С непривычки замучался в бесконечных, кажется ненужных, алертах от мелкомягкого, но что-то двигается.. ;)) Думаю - прорвусь. KURA , обязательно напишу, всё-таки опасаюсь своего бреда - в данном вопросе я ИСЧО чайник.. Надеюсь на грамотный и понятный код. И в оффтоп маленькая история про МАГАРЫЧ: Я в Израиле. Сидим вечером с нашим СисАдмином в кабаке - пьём пиво. Кабак програмёрский (по постоянному составу посетителей). Первый час ночи. Вдруг Сисадмину звонок на сотовый. Оказывается у клиента со Штатов проблема на серваке. Штука обычная, но не в час ночи. Сис подходит к стойке, бармен привычным жестом (контингент забегаловки уж приучил) достаёт шнур для подключения к и-нету. Подсоединяем лап-топ. Влад (сис) бегает по клавишам, в окне ШЕЛа бегут строки, пол кабака заинтересованно водят глазами, дают советы (русский, иврит, английский).. Вообщем веселуха в разгаре. Проблему достаточно быстро решаем и Влад намекает, что "е-мое, бай-бай, но ночью, типа, плиз - не звони". До американца доходит, что в нашем полушарии ночь, и сис не на работе, а вовсе даже в кабаке. Дико извиняется, обещает быть внимательней.. Примерно через неделю на адрес конторы приходит посылка с упаковкой БАДВАЙЗЕРа из шести бутылок. Американ оказался на понятиях и проставился пивом за внеурочное беспокойство. ;)) - мы были в шоке... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 13:46 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
2PHP Я сейчас в Израиле как раз скажи где кабак да и помочь могу по теме, сам недавно такое решение провернул (из местного пива нравится Goldstar) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 13:54 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
2Владимир Саныч на реплику РНР >Я в Израиле а как PHP на иврите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 13:56 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
Это было в Герцлии-Патуах полтора года как.. Ща я в РаматГане ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 13:59 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
Чудесная страна Израиль... А это эр-эн-эр или пи-эйч-пи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 13:59 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
P.S. Не Патуах, а Питуах. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 14:00 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
> а как PHP на иврите? Раньше было практически нереально.. Ща отлично.. Никаких проблем! Делал сайт на арабском - просто гениально. Не то что слова - букв не разбираю, но заказчик доволен ;-))))) Пошёл злостный ОФФТОП ;-) Звините, господа админы! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 14:04 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
> P.S. Не Патуах, а Питуах. :^) Согласен. Я обычно говорил пЕтуах, но.. Вообщем не суть.. $-) >А это эр-эн-эр или пи-эйч-пи? пи-эйч-пи Всем спасибо за ответы и посильную помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 14:07 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
Всё сделал - всем спасибо. Всё-таки.. МАСТДАЙ не рулит ;( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 15:13 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
2PHP Ага, Мастдай не рулит. Не зная акеса решил за пару часов задачу, а мастдай не рулит. Щас я за PHP сяду - х%й чего сделать смогу и за пару дней. Там мышкой не пощелкаешь, ничего визуального не сотворишь - зато классно, а там где можно и чайнику разобраться - отстой. Странная логика (без обид, ОК?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.07.2003, 15:18 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
C Senin Viktor можно лишь согласиться. На все ушло 3 строки кода, остальное мышой. Хотел бы я посмотреть, как это выглядело бы PNP. Дело, конечно, личных пристрастий, но мне Access нравится именно быстротой разработки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2003, 01:18 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
Ну вот.. Я опять тут ;( КОД в пхп: со знаком доллар - мои переменные, внутри стринга все кавычки "отслешены", в конце строки обязательны кавычки: ######################### $my_text = " INSERT into persons (id, name) values (5, 'aaaaaa'); INSERT into persons (id, name) values (6, 'aaaaaa'); INSERT into persons (id, name) values (7, 'aaaaaa'); "; $my_array = split("\n", $my_text ); foreach( $my_array as $my_query ) mysql_query( $my_query ) or die(mysql_error()) ; ######################### переменная $my_text берёт текст из поля ввода. Просьба: Как будут "звучать" последние три строчки кода - интересует именно синтаксис - замучался я его разбирать.. НЕ прилично это - копаться с таким кодом 3 дня ;(, но как есть. Кстати, так и не нашёл в мануале как определить размер массива .. Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2003, 10:48 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
ОписАлся: в конце строки обязательны точка с запятой : ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2003, 10:50 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
2PHP >mysql_query($my_query) Так ты пытаешься выполнить инструкцию? судя по названию - query - не то. Ты выполняешь не запрос, а инструкцию на вставку. должно быть что-нибудь типа mysql_execute что ли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2003, 11:08 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
2Senin Viktor PHP-код А вот как на ВБ - не догоняю.. Ругает меня валидатор и всё ;( сплит текста из формы, каждый елемент сплита отработать СКЛем у вас кажется звучит так: DoCmd.RunSQL ( my_string ), где my_string - елемент массива после сплита.. Я уж не говорю про проверки, валидации и т.п. Только эти 3 строки, пжалста.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2003, 11:19 |
|
||
|
О ГУРУ аЦесса напишите три строчки..
|
|||
|---|---|---|---|
|
#18+
>у вас кажется звучит так: DoCmd.RunSQL (my_string), а еще CurrentProject.Connection.Execute my_string,,adCmdText+adExecuteNoRecords У тебе есть что-то, что определяет объектную переменную ADODB.Connection к серверу. У ней есть метод Execute - в него и передавай свою строку. Если не знаешь как и что- то наш форум наврядли чем тебе поможет. Ищи php'пистов ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2003, 11:24 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32223137&tid=1680085]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
228ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
82ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 598ms |

| 0 / 0 |
