Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / О ГУРУ аЦесса напишите три строчки.. / 25 сообщений из 44, страница 1 из 2
31.07.2003, 02:36
    #32223137
PHP
PHP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
Уважаемые !!!
Существует file.txt
задача: на локальной(!) машине запустить скрипт чтоб он автоматически отработал внесение нового или изменение существующего в АЦЕСС

Что это (ASP, VB, JS) - я не знаю!
file.txt - я сгенерю сам как вы подскажете. Вплоть до прямых команд
UPDATE или INSERT
Единственное, что надо - при запуске скрипта, чтоб он подключался к базе ACCESSа и отрабатывал..

Я владею ПХП и ПЕРЛ - сделал довольно глобальную работу по автоматическому заносу инфо в книжную базу данных в и-нете. Перевёл всю работу нескольких оффисов и складов в прямой эфир и заткнулся на элементарщине. Босс/заказчик требует параллельного апдейта их старой складской программки, работающей на ACCESSе.
Я присылаю мылом нужный файл изменений с сервака, но что дальше? Как? Ручной занос пугает теток-кладовщиц (там так много кнопочек и галочек - мы всё напутаем) Вникать всерьёз в ACCESS и, к примеру, VB - некогда, по срокам сдачи..
Уверен, что можно написать простенький скрипт, который будет читать нужный файл с локальной машины и тупо отрабатывать две команды ИНСЕРТ и АПДЕЙТ по конкретным ТАБЛИЦАМ конкретной БАЗЫ на той же локальной машине..

Подскажите!

ЗЫ: Простите за многословность. Боюсь народ проигнорирует (непривыкший я к форумам)
...
Рейтинг: 0 / 0
31.07.2003, 08:43
    #32223194
Zenia
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
ну если владеешь PHP тогда ADO тебе в руки... а вообще-то тебе сюда
...
Рейтинг: 0 / 0
31.07.2003, 09:03
    #32223206
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
А я не владею ПХП и ПЕРЛ :(, вроде с их стороны это реализуемо
А со стороны 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 в нем указываем макрокоманду - ЗапускПрограммы и в ней имя этой функции.
На запуске БД будет отрабатываться сия функция
Вроде не очень сложно.
...
Рейтинг: 0 / 0
31.07.2003, 10:19
    #32223299
progist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
Для программного присоединения текстового файла надо использовать
DoCmd.TransferText
После присоединения работаешь с файлом как с таблицей
...
Рейтинг: 0 / 0
31.07.2003, 10:50
    #32223358
SergeySV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
Кстати, в продолжении темы.
А как до этой спецификации можно добраться программно, где он (этот файл со спецификацией) валяется? А то базу переносил на другой комп и эту спецификацию создавал заново, что не гуд. и вообще можно ли ее программно сгенерить?
...
Рейтинг: 0 / 0
31.07.2003, 10:58
    #32223369
progist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
Есть ли смысл создавать ее програмно?
Надо создать ее 1 раз, а потом можно переносить в другую базу
Это делается через диалог Импорт объектов БД. Внизу есть флажки:
меню и панели
схема данных
спецификация

а вообще вот тут все сказано:
http://www.hiprog.com/forum/forum.asp?action=show&id=2&messid=34728&fullview=0
...
Рейтинг: 0 / 0
31.07.2003, 12:00
    #32223523
PHP
PHP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
Zenia , ПХП на локале не работает и "собратья" навряд помогут, имхо, я зашёл по адресу..
Скорее всего АДО проштудирую, спасибо за намёк: мануал - он и в Африке мануал.. ;-)

Alexander G , для работы на локале с ПХП надо поставить АПАЧУ - представляю глаз заказчика, когда он об этом услышит ;-))))
да и комп древний - т.е. вариант продумывался, но пока отвергнут.

Ваш скрипт обязательно попробую расковырять. Проблема совсем мала - я не знаком с синтаксисом ваще. Составляет сложность даже определение переменных. По-хорошему, решение надо б оплатить (ведь получаем денег не за сложность, а за знание ;-) )

Будет ли большой наглостью попросить отписать не функцию, а конструкцию, которая при запуске файла (ручками, например, даблкликом с десктопа) будет, грузить АЦЕСС лежащий рядом в папке прямо командами?
"Автоекзеки" и "килы" не нужны.. Это уже лишнее.

Итак:
руками кладём файл в папку
руками запускаем
он делает коннект-инсерт-апдейт-реплэйс-не_знаю_что ;)
руками удаляем

Буду признателен необычайно. Не хочется обидеть, но если встанет вопрос об оплате - скажите - всё обсуждаемо!

ЗЫ: Всем остальным : спасибо за участие в теме.
Линк http://www.hiprog.com/forum/forum.asp?action=show&id=2&messid=34728&fullview=0 интересен, но еще не для моего уровня понимания вопроса
...
Рейтинг: 0 / 0
31.07.2003, 12:37
    #32223612
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
PHP
Исходя из того, что это будет делать бухгалтер (это порода такая, я думаю со мной многие согласятся) я как раз попытался максимально не загружать ей мозги, т.е. ее дело положить файл из письма в папку и запустить свое приложение. Когда она его запустит, ее личное дело, когда запустит, тогда функция и отработает, это не обязательно сразу, начнет работать - все будет сделано. Autoexec это несложно, если уж в PNP разбираетесь, создать описанный макрос Autoexec в Access - думаю 5 минут за глаза хватит. А уж и Kill - тут ничего сложного - это просто команда.
Я практически написал готовую функцию, с вашей стороны нужно лишь задать выражение SQL, без переменных.
Тут я не подумал - а таблица в файле одна или несколько? А то нужно либо делать несколько текстовых файлов, либо гемморойный анализ текста.

По поводу оплаты - я бы взял пивом, но увы, далековато до Чукотки :)
...
Рейтинг: 0 / 0
31.07.2003, 12:57
    #32223641
KURA
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
PHP
Если Вам нужно сделать это на достаточно элементарном уровне без различных заморочек, я могу помочь. Безо всяких там "магарычей" Ссылка на hiprog.com - это как раз мой вопрос. Нужно - пишите kura2006@yandex.ru
...
Рейтинг: 0 / 0
31.07.2003, 13:46
    #32223746
PHP
PHP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
Alexander G , да, однозначно спасибо за "пинок в нужном направлении" - копаю, уже что-то получается.. С непривычки замучался в бесконечных, кажется ненужных, алертах от мелкомягкого, но что-то двигается.. ;))
Думаю - прорвусь.

KURA , обязательно напишу, всё-таки опасаюсь своего бреда - в данном вопросе я ИСЧО чайник.. Надеюсь на грамотный и понятный код.

И в оффтоп маленькая история про МАГАРЫЧ:
Я в Израиле. Сидим вечером с нашим СисАдмином в кабаке - пьём пиво. Кабак програмёрский (по постоянному составу посетителей). Первый час ночи. Вдруг Сисадмину звонок на сотовый. Оказывается у клиента со Штатов проблема на серваке. Штука обычная, но не в час ночи. Сис подходит к стойке, бармен привычным жестом (контингент забегаловки уж приучил) достаёт шнур для подключения к и-нету. Подсоединяем лап-топ. Влад (сис) бегает по клавишам, в окне ШЕЛа бегут строки, пол кабака заинтересованно водят глазами, дают советы (русский, иврит, английский).. Вообщем веселуха в разгаре.
Проблему достаточно быстро решаем и Влад намекает, что "е-мое, бай-бай, но ночью, типа, плиз - не звони".
До американца доходит, что в нашем полушарии ночь, и сис не на работе, а вовсе даже в кабаке. Дико извиняется, обещает быть внимательней..
Примерно через неделю на адрес конторы приходит посылка с упаковкой БАДВАЙЗЕРа из шести бутылок.
Американ оказался на понятиях и проставился пивом за внеурочное беспокойство. ;)) - мы были в шоке...
...
Рейтинг: 0 / 0
31.07.2003, 13:54
    #32223767
progist
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
2PHP

Я сейчас в Израиле как раз
скажи где кабак
да и помочь могу по теме, сам недавно такое решение провернул
(из местного пива нравится Goldstar) :)
...
Рейтинг: 0 / 0
31.07.2003, 13:56
    #32223774
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
2Владимир Саныч

на реплику РНР
>Я в Израиле


а как PHP на иврите?
...
Рейтинг: 0 / 0
31.07.2003, 13:59
    #32223779
PHP
PHP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
Это было в Герцлии-Патуах полтора года как..
Ща я в РаматГане
...
Рейтинг: 0 / 0
31.07.2003, 13:59
    #32223780
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
Чудесная страна Израиль...

А это эр-эн-эр или пи-эйч-пи?
...
Рейтинг: 0 / 0
31.07.2003, 14:00
    #32223783
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
P.S. Не Патуах, а Питуах. :^)
...
Рейтинг: 0 / 0
31.07.2003, 14:04
    #32223791
PHP
PHP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
> а как PHP на иврите?

Раньше было практически нереально.. Ща отлично.. Никаких проблем! Делал сайт на арабском - просто гениально. Не то что слова - букв не разбираю, но заказчик доволен ;-)))))

Пошёл злостный ОФФТОП ;-)
Звините, господа админы!
...
Рейтинг: 0 / 0
31.07.2003, 14:07
    #32223796
PHP
PHP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
> P.S. Не Патуах, а Питуах. :^)
Согласен. Я обычно говорил пЕтуах, но.. Вообщем не суть.. $-)

>А это эр-эн-эр или пи-эйч-пи?
пи-эйч-пи

Всем спасибо за ответы и посильную помощь
...
Рейтинг: 0 / 0
31.07.2003, 15:13
    #32223929
PHP
PHP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
Всё сделал - всем спасибо.

Всё-таки.. МАСТДАЙ не рулит ;(
...
Рейтинг: 0 / 0
31.07.2003, 15:18
    #32223945
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
2PHP

Ага, Мастдай не рулит. Не зная акеса решил за пару часов задачу, а мастдай не рулит.
Щас я за PHP сяду - х%й чего сделать смогу и за пару дней. Там мышкой не пощелкаешь, ничего визуального не сотворишь - зато классно, а там где можно и чайнику разобраться - отстой. Странная логика
(без обид, ОК?)
...
Рейтинг: 0 / 0
01.08.2003, 01:18
    #32224459
Alexander G
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
C Senin Viktor можно лишь согласиться. На все ушло 3 строки кода, остальное мышой. Хотел бы я посмотреть, как это выглядело бы PNP.
Дело, конечно, личных пристрастий, но мне Access нравится именно быстротой разработки.
...
Рейтинг: 0 / 0
04.08.2003, 10:48
    #32226088
PHP
PHP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
Ну вот.. Я опять тут ;(

КОД в пхп:
со знаком доллар - мои переменные,
внутри стринга все кавычки "отслешены",
в конце строки обязательны кавычки:
#########################
$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 дня ;(, но как есть.
Кстати, так и не нашёл в мануале как определить размер массива ..

Спасибо.
...
Рейтинг: 0 / 0
04.08.2003, 10:50
    #32226092
PHP
PHP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
ОписАлся:
в конце строки обязательны точка с запятой :
...
Рейтинг: 0 / 0
04.08.2003, 11:08
    #32226126
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
2PHP
>mysql_query($my_query)

Так ты пытаешься выполнить инструкцию?
судя по названию - query - не то. Ты выполняешь не запрос, а инструкцию на вставку. должно быть что-нибудь типа mysql_execute что ли.
...
Рейтинг: 0 / 0
04.08.2003, 11:19
    #32226156
PHP
PHP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
2Senin Viktor PHP-код

А вот как на ВБ - не догоняю.. Ругает меня валидатор и всё ;(

сплит текста из формы, каждый елемент сплита отработать СКЛем
у вас кажется звучит так: DoCmd.RunSQL ( my_string ), где my_string - елемент массива после сплита..

Я уж не говорю про проверки, валидации и т.п.
Только эти 3 строки, пжалста..
...
Рейтинг: 0 / 0
04.08.2003, 11:24
    #32226160
Senin Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
О ГУРУ аЦесса напишите три строчки..
>у вас кажется звучит так: DoCmd.RunSQL (my_string),

а еще CurrentProject.Connection.Execute my_string,,adCmdText+adExecuteNoRecords

У тебе есть что-то, что определяет объектную переменную ADODB.Connection к серверу. У ней есть метод Execute - в него и передавай свою строку.
Если не знаешь как и что- то наш форум наврядли чем тебе поможет. Ищи php'пистов
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / О ГУРУ аЦесса напишите три строчки.. / 25 сообщений из 44, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]