<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[Серый форум &mdash; VBScript: Добавление записей БД Access]]></title>
		<link>https://forum.script-coding.com/viewtopic.php?id=3058</link>
		<atom:link href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=3058&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[Недавние сообщения в теме «VBScript: Добавление записей БД Access».]]></description>
		<lastBuildDate>Thu, 17 Dec 2009 10:56:25 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: VBScript: Добавление записей БД Access]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=31600#p31600</link>
			<description><![CDATA[<p>Обновил свой предыдущий пост.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 17 Dec 2009 10:56:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=31600#p31600</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Добавление записей БД Access]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=31599#p31599</link>
			<description><![CDATA[<p>упс <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /><br />сори за невнимательность.<br />все три способа работают, еще раз спасибо за помощь.</p><p>этот вопрос закрыт.</p>]]></description>
			<author><![CDATA[null@example.com (Loveц)]]></author>
			<pubDate>Thu, 17 Dec 2009 10:53:21 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=31599#p31599</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Добавление записей БД Access]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=31598#p31598</link>
			<description><![CDATA[<p>Хмм… Ой ли <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" />:<br /></p><div class="quotebox"><blockquote><p>$objRecordset.Open(&quot;INSERT INTO Таблица1 (<strong><span style="color: red">&#039;</span></strong>источник<strong><span style="color: red">&#039;</span></strong>, <strong><span style="color: red">&#039;</span></strong>ошибка<strong><span style="color: red">&#039;</span></strong>) VALUES (&#039;TEST - источник&#039;, &#039;TEST - ошибка&#039;)&quot;)</p></blockquote></div><div class="quotebox"><blockquote><p>$objRecordset.Open(&quot;INSERT INTO Таблица1 (источник, ошибка) VALUES (&#039;TEST - источник&#039;, &#039;TEST - ошибка&#039;)&quot;<strong><span style="color: red">, $objConnection</span></strong>)</p></blockquote></div><p>P.S. В «комбинированном» примере из поста <a href="http://forum.script-coding.com/viewtopic.php?pid=31589#p31589">#30</a> привязка RecordSet&#039;а делалась в первом методе:<br /></p><div class="codebox"><pre><code>; 1-й метод
With $oRecordSet
    .Open(&quot;SELECT * FROM Table1&quot;, $oConnection, $adOpenDynamic, $adLockOptimistic)
    …</code></pre></div><p>Оттого во втором методе уже не требовалось указывать отдельно Connection.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 17 Dec 2009 10:46:46 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=31598#p31598</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Добавление записей БД Access]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=31597#p31597</link>
			<description><![CDATA[<p>Виноват, забыл написать...<br />Пробовал и с апострафами и без. Результат - не работает. В посте выше случайно апострофы остались. А так строчка полностью идентична строчке из способа 3.</p>]]></description>
			<author><![CDATA[null@example.com (Loveц)]]></author>
			<pubDate>Thu, 17 Dec 2009 10:11:58 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=31597#p31597</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Добавление записей БД Access]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=31596#p31596</link>
			<description><![CDATA[<div class="quotebox"><cite>Loveц пишет:</cite><blockquote><p>способ 2 - не работает…</p></blockquote></div><p>А так:<br /></p><div class="codebox"><pre><code>$objConnection = ObjCreate(&quot;ADODB.Connection&quot;)
$objConnection.ConnectionString = &quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source = &#039;\\b2\public1$\errors\1\errors.mdb&#039;&quot;
$objConnection.Open

$objRecordset = ObjCreate(&quot;ADODB.Recordset&quot;)

$objRecordset.Open(&quot;INSERT INTO Таблица1 (источник, ошибка) VALUES (&#039;TEST - источник&#039;, &#039;TEST - ошибка&#039;)&quot;, $objConnection)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Thu, 17 Dec 2009 10:04:20 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=31596#p31596</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Добавление записей БД Access]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=31593#p31593</link>
			<description><![CDATA[<p>Я имел ввиду что &quot;не прокатил&quot; способ номер 2. А вот ваш третий способ мне очень понравился своей короткостью кода. Ну по скорости потом потестирую... Второй так и не заработал.... <img src="//forum.script-coding.com/img/smilies/sad.png" width="15" height="15" /></p><p>способ 1 - работает<br /></p><div class="codebox"><pre><code>Const $adOpenKeyset = 1
Const $adLockOptimistic = 3
Local $objConnection, $objRecordset

$objConnection = ObjCreate(&quot;ADODB.Connection&quot;)
$objConnection.ConnectionString = &quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source = \\b2\public1$\errors\1\errors.mdb&quot;
$objConnection.Open

$objRecordset = ObjCreate(&quot;ADODB.Recordset&quot;)

With $objRecordset
    .Open (&quot;SELECT * FROM Таблица1&quot;, $objConnection, $adOpenKeyset, $adLockOptimistic)
    .AddNew
    .Fields(&quot;источник&quot;) = &quot;TEST - источник&quot;
    .Fields(&quot;ошибка&quot;) = &quot;TEST - ошибка&quot;
    .Update
EndWith</code></pre></div><p>способ 2 - не работает<br /></p><div class="codebox"><pre><code>$objConnection = ObjCreate(&quot;ADODB.Connection&quot;)
$objConnection.ConnectionString = &quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source = \\b2\public1$\errors\1\errors.mdb&quot;
$objConnection.Open

$objRecordset = ObjCreate(&quot;ADODB.Recordset&quot;)

$objRecordset.Open(&quot;INSERT INTO Таблица1 (&#039;источник&#039;, &#039;ошибка&#039;) VALUES (&#039;TEST - источник&#039;, &#039;TEST - ошибка&#039;)&quot;)</code></pre></div><p>способ 3 - работает<br /></p><div class="codebox"><pre><code>$objConnection = ObjCreate(&quot;ADODB.Connection&quot;)
$objConnection.ConnectionString = &quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source = \\b2\public1$\errors\1\errors.mdb&quot;
$objConnection.Open

$objConnection.Execute (&quot;INSERT INTO Таблица1 (источник, ошибка) VALUES (&#039;TEST - источник&#039;, &#039;TEST - ошибка&#039;)&quot;)</code></pre></div><p>Спасибо <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p>]]></description>
			<author><![CDATA[null@example.com (Loveц)]]></author>
			<pubDate>Thu, 17 Dec 2009 08:58:25 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=31593#p31593</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Добавление записей БД Access]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=31589#p31589</link>
			<description><![CDATA[<p>Что не прокатило? Обычная база с одной таблицей с двумя текстовыми полями. 1-й метод — Ваш, добавляем «ручками»; 2-й — пользуем запрос «INSERT INTO…VALUES» через RecordSet; 3-й — тот же запрос «INSERT INTO…VALUES», только работаем непосредственно с объектом «ADODB.Connection»:<br /></p><div class="codebox"><pre><code>AutoItSetOption(&quot;MustDeclareVars&quot;, 1)

Local Const $adOpenDynamic    = 2
Local Const $adLockOptimistic = 3

Local $oConnection = ObjCreate(&quot;ADODB.Connection&quot;)
Local $oRecordSet = ObjCreate(&quot;ADODB.RecordSet&quot;)

$oConnection.Open(&quot;Provider = Microsoft.Jet.OLEDB.4.0;&quot; &amp; _
    &quot;Data Source = &#039;C:\bla-bla-bla\db1.mdb&#039;&quot;)

; 1-й метод
With $oRecordSet
    .Open(&quot;SELECT * FROM Table1&quot;, $oConnection, $adOpenDynamic, $adLockOptimistic)

    .AddNew
    .Fields.Item(&quot;Field1&quot;) = &quot;Value1&quot;
    .Fields.Item(&quot;Field2&quot;) = &quot;Value2&quot;
    .Update

    .Close
EndWith

; 2-й метод
With $oRecordSet
    .Open(&quot;INSERT INTO Table1 (Field1, Field2) VALUES (&#039;Value3&#039;, &#039;Value4&#039;)&quot;)
EndWith

; 3-й метод
$oConnection.Execute(&quot;INSERT INTO Table1 (Field1, Field2) VALUES (&#039;Value5&#039;, &#039;Value6&#039;)&quot;)

$oConnection.Close

Exit(0)</code></pre></div>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Wed, 16 Dec 2009 19:56:03 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=31589#p31589</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Добавление записей БД Access]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=31587#p31587</link>
			<description><![CDATA[<div class="quotebox"><blockquote><p>Можно вместо «select …» попробовать сразу «insert into … values …».</p></blockquote></div><p>Это пробовал - не прокатило....</p><p>Я просто про то, что допустим с MySQL, что добавление, что поиск по базе делаются по одинаковому шаблону:<br />- подключаемся к базе<br />- устанавливаем свойства для объекта &quot;Рекордсэт&quot; и в конце вызываем его метод Open.<br />В Access же такое не прокатиро... Поиск да, а вот добавоение только как я указал выше. Я вот и хотел уточнить действительно так или я что упустил...</p><p>Ну наверно все же так <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /></p><p>P.S. Думал что ADO оно и в Африке ADO, но наверно у Access оно какое-то свое....</p>]]></description>
			<author><![CDATA[null@example.com (Loveц)]]></author>
			<pubDate>Wed, 16 Dec 2009 16:51:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=31587#p31587</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Добавление записей БД Access]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=31585#p31585</link>
			<description><![CDATA[<p>Можно вместо «select …» попробовать сразу «insert into … values …».</p><p>Насчёт поиска: других вариантов, кроме как «select … where …» (или Вы про что?!), для извлечения нет; естественно, подразумевается, что Вы заранее создали и построили индексы не только по ключевым полям, но и по всем полям, по которым осуществляется поиск.</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Wed, 16 Dec 2009 16:22:05 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=31585#p31585</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Добавление записей БД Access]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=31578#p31578</link>
			<description><![CDATA[<p>Спасибо.</p><p>Еще вопрос. Я сейчас для записи в MySQL использую следующую схему:<br /></p><div class="codebox"><pre><code>$objADOConnect = ObjCreate (&quot;ADODB.Connection&quot;)
$objADORecordset = ObjCreate (&quot;ADODB.Recordset&quot;

; подключаемся к БД
With $objADOConnect
        .ConnectionString = &quot;Provider=MSDASQL.1;Driver=MySQL ODBC 5.1 Driver;Server=&quot; &amp; $strServer &amp; &quot;;UID=&quot; &amp; $strLogin &amp; &quot;;PWD=&quot; &amp; $strPassword &amp; &quot;;Database=&quot; &amp; $strBase
        .Open
EndWith

; записываем в БД
With $objADORecordset
        .ActiveConnection = $objADOConnect
        .CursorLocation = 3        ; adUseClient
        .CursorType = 1            ; adOpenKeyset
        .LockType = 3            ; adLockOptimistic
        .Open
EndWith</code></pre></div><p>Опытным путем я выяснил что такой способ работает быстрее чем через метод Execute (по крайней мере у меня).<br />А в Access я щас пишу так:<br /></p><div class="codebox"><pre><code>; устанавливаем соединение с БД
$objConnection = ObjCreate(&quot;ADODB.Connection&quot;)
$objConnection.ConnectionString = &quot;Provider=Microsoft.Jet.OLEDB.4.0;Data Source = &quot; &amp; $strErrorDatabasePath
$objConnection.Open

; выбираем нужный набор записей
$objRecordset = ObjCreate(&quot;ADODB.Recordset&quot;)
$objRecordset.Open (&quot;SELECT * FROM Таблица1&quot;, $objConnection, $adOpenKeyset, $adLockOptimistic)

; модифицируем этот набор записей
With $objRecordset
    .AddNew
    .Fields(&quot;дата&quot;) = @YEAR &amp; &quot;.&quot; &amp; @MON &amp; &quot;.&quot; &amp; @MDAY
    .Update    ; сохраняем изменения
EndWith</code></pre></div><p>Нет ли второго, возможного более быстрого способа записи (а так же поиска) в БД Access?</p>]]></description>
			<author><![CDATA[null@example.com (Loveц)]]></author>
			<pubDate>Wed, 16 Dec 2009 10:03:00 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=31578#p31578</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Добавление записей БД Access]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=31516#p31516</link>
			<description><![CDATA[<p>1. В любом случае, тот или иной драйвер нужен, без него никак (ну, разве что кроме самопальной обработки CSV, Tab Delimited и т.п.). Могу лишь сказать, что действительно, для интегрированного набора Windows XP Professional SP3 пакет MDAC 2.8 SP1 не нужен — он уже наличествует в данном наборе.<br />2. Хуже. Нет.<br />3. Для перечисленных форматов отдельно на сервере ничего устанавливать не надо, только на клиенте, поскольку всё перечисленное не является файлами клиент-серверных БД (а xls — вообще не БД, как и csv, Tab Delimited, — просто есть драйвер, позволяющий рассматривать такие файлы как плоскую БД, и использовать команды для работы с БД).</p><p>Лучший вариант из перечисленного — mdb в качестве хранилища и, соответственно, Jet — для доступа. В качестве технологии пользовать ADO (а не DAO).</p>]]></description>
			<author><![CDATA[null@example.com (alexii)]]></author>
			<pubDate>Mon, 14 Dec 2009 13:04:48 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=31516#p31516</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Добавление записей БД Access]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=31503#p31503</link>
			<description><![CDATA[<p>Прочита всю ветку. Меня сейчас тоже интересует данная тема. А именно: хочу писать некоторые события (ошибки) в БД, которая не требует установки на клиенте отдельных драйверов. Пока что пишется тупо в текстовый файл. Хочется улучшений <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> Вот смотрю в сторону аксеса. Событий-ошибок у меня немного, поэтому проблемы с большим количеством соединений быть не должно.</p><p>Вопросы:<br />1) тут писали, что для коннекта к файлу access нужны компоненты определенные скачанные с мелкософта или установленный офис... есть ли способ соединиться с базой без установки чего-бы то нибыло на чистую WinXP? через Win API может ...<br />2) а формат dbf хуже формата mdb? может в него можно писать без доп. софта?<br />3) какие еще есть форматы БД. позволяющие писать в них без установки самих БД? например, чтобы писать в файл dbf, xls, mdb мне не надо ставить на сервере какой то софт, эти файлы можно просто положить на общий ресурс...</p><p>P.S. Почитал по ссылке http://www.microsoft.com/downloads/details.aspx?familyid=78cac895-efc2-4f8e-a9e0-3a1afbd5922e&amp;displaylang=ru<br />Правильно я понял что для связи с access в WinXP не надо ничего дополнительного? Это только для систем до WinXP?</p>]]></description>
			<author><![CDATA[null@example.com (Loveц)]]></author>
			<pubDate>Mon, 14 Dec 2009 09:04:39 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=31503#p31503</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Добавление записей БД Access]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=22498#p22498</link>
			<description><![CDATA[<div class="quotebox"><cite>dsb пишет:</cite><blockquote><div class="quotebox"><cite>uniken1 пишет:</cite><blockquote><p>Писать программу(это уже не скриптовый уровень) которая будет непрерывно работать, обрабатывая логи(иначе инфа из базы будет не достоверной), я думаю будет неправильно.<br />Да и такой подход(складываия файлов в кучу с последующей обработкой), сейчас может использоваться разве что только школьниками и студентами для изучения паскаля или асма</p></blockquote></div><p>uniken1, вы напрасно так неадекватно реагируете на достаточно дельный совет от null. Это и невежливо, а, в сочетании с допущенным вами в этом комментарии кучи смысловых, логических и прочих огрех, ещё и нелепо.</p></blockquote></div><p>У нас в сети всё складывается по файлам&nbsp; и прогой eXponent обрабатывается&nbsp; когда нужно. Очень удобно. <img src="//forum.script-coding.com/img/smilies/smile.png" width="15" height="15" /> А ещё&nbsp; скрипт по расписанию срабатывает (в 2 часа ночи ), лопатит файлы и шлёт письма, по изменениям. БД Access вообще не расшаренная.</p>]]></description>
			<author><![CDATA[null@example.com (krikerer)]]></author>
			<pubDate>Mon, 04 May 2009 07:40:12 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=22498#p22498</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Добавление записей БД Access]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=22497#p22497</link>
			<description><![CDATA[<p>Эта галочка к акксессу относятся, так что не заморачивайся.</p>]]></description>
			<author><![CDATA[null@example.com (null)]]></author>
			<pubDate>Mon, 04 May 2009 06:22:07 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=22497#p22497</guid>
		</item>
		<item>
			<title><![CDATA[Re: VBScript: Добавление записей БД Access]]></title>
			<link>https://forum.script-coding.com/viewtopic.php?pid=22496#p22496</link>
			<description><![CDATA[<p>1. На сервере Access&#039;a нет. к базе все обращаются через свой локальный Access с путем \\...\*.mdb<br />2. Как должна помочь блокировка на уровне страниц вместо записей?<br />3. Там есть подпись что эта галочка не влияет на запросы SQL, а на сколько я понимаю все функции выполняются через него</p>]]></description>
			<author><![CDATA[null@example.com (uniken1)]]></author>
			<pubDate>Mon, 04 May 2009 06:05:54 +0000</pubDate>
			<guid>https://forum.script-coding.com/viewtopic.php?pid=22496#p22496</guid>
		</item>
	</channel>
</rss>
