VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
-
NecroTYN
Re: VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
опять ругается, пишет вот как
-
NecroTYN
Re: VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
ВСЕМ Привет!!!
Цитата amel27:
P.S. критерий разделения услуг/товара в топике не раскрыт
Раскрываю критерий разделения услуг/товара:
Все товары и услуги находятся в таблице tblOrdersProducts и делятся на категории - товары и услуги (поле ProductsCategoryCalc), так вот, нужно сделать выборку чтобы папки не создавались на категорию "УСЛУГИ"
Цитата amel27:
P.S. критерий разделения услуг/товара в топике не раскрыт
VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
Раскрываю критерий разделения услуг/товара:
Все товары и услуги находятся в таблице tblOrdersProducts и делятся на категории - товары и услуги (поле ProductsCategoryCalc), так вот, нужно сделать выборку чтобы папки не создавались на категорию "УСЛУГИ"
-
NecroTYN
Re: VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
Цитата NecroTYN:
поле ProductsCategoryCalc
Нет такого поля в таблице tblOrdersProducts - откройте базу данных в MS Access и убедитесь в этом, а суффикс CALC говорит о том, что это поле (скорее всего) рассчетное. Тип товара есть в tblProducts и я не вижу никаких идентификаторов для связи с tblOrdersProducts кроме наименования товара, но оно не является уникальным со всеми вытекающими последствиями.
поле ProductsCategoryCalc
VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
Нет такого поля в таблице tblOrdersProducts - откройте базу данных в MS Access и убедитесь в этом, а суффикс CALC говорит о том, что это поле (скорее всего) рассчетное. Тип товара есть в tblProducts и я не вижу никаких идентификаторов для связи с tblOrdersProducts кроме наименования товара, но оно не является уникальным со всеми вытекающими последствиями.
-
amel27
Re: VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
Цитата amel27:
Нет такого поля в таблице tblOrdersProducts
Цитата amel27:
а суффикс CALC говорит о том, что это поле (скорее всего) рассчетное
это то все правильно говорите, я его сам туда назначил из таблицы tblProducts, так не получится ????
Нет такого поля в таблице tblOrdersProducts
VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
Цитата amel27:
а суффикс CALC говорит о том, что это поле (скорее всего) рассчетное
VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
это то все правильно говорите, я его сам туда назначил из таблицы tblProducts, так не получится ????
-
NecroTYN
Re: VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
Цитата amel27:
Нет такого поля в таблице tblOrdersProducts
...Ну а если путем перечисления "услуг" -- их всего то 5...
Нет такого поля в таблице tblOrdersProducts
VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
...Ну а если путем перечисления "услуг" -- их всего то 5...
-
NecroTYN
Re: VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
Цитата NecroTYN:
я его сам туда назначил из таблицы tblProducts, так не получится ????
Цитата NecroTYN:
а если путем перечисления "услуг" -- их всего то 5...
да мне в общем-то всё равно - вам решать, можно и по наименованию сравнить... только ни один из этих способов не является идеальным, так что сначала взвесьте все "за" и "против", с расчетом "на перспективу"
я его сам туда назначил из таблицы tblProducts, так не получится ????
VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
Цитата NecroTYN:
а если путем перечисления "услуг" -- их всего то 5...
VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
да мне в общем-то всё равно - вам решать, можно и по наименованию сравнить... только ни один из этих способов не является идеальным, так что сначала взвесьте все "за" и "против", с расчетом "на перспективу"
-
amel27
Re: VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
Цитата amel27:
только ни один из этих способов не является идеальным
а какой есть идеальный ???
Цитата amel27:
так что сначала взвесьте все "за" и "против", с расчетом "на перспективу"
...ну а ВЫ что посоветуете ???
Хотя наверное по категории будет всетаки лучше, потому что услуг может и добавиться
только ни один из этих способов не является идеальным
VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
а какой есть идеальный ???
Цитата amel27:
так что сначала взвесьте все "за" и "против", с расчетом "на перспективу"
VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
...ну а ВЫ что посоветуете ???
Хотя наверное по категории будет всетаки лучше, потому что услуг может и добавиться
-
NecroTYN
Re: VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
Цитата NecroTYN:
какой есть идеальный ???
нормализованный, когда в таблицах стоит ID из справочника (tblProducts), а не имя
Цитата NecroTYN:
а ВЫ что посоветуете ???
Ваша база данных, вам и решать...
вариант с именем, имя продукта должно быть уникальным и присутствовать в справочнике:
Код:
P.S. Сравнение идет с учетом регистра: "Услуга""УСЛУГА"
какой есть идеальный ???
VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
нормализованный, когда в таблицах стоит ID из справочника (tblProducts), а не имя
Цитата NecroTYN:
а ВЫ что посоветуете ???
VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
Ваша база данных, вам и решать...

вариант с именем, имя продукта должно быть уникальным и присутствовать в справочнике:
читать дальше »
Код:
Код: Выделить всё
Dim sDbPath 'путь к файлу БД
sDbPath = CreateObject("Wscript.Shell").SpecialFolders("MyDocuments") & "\Учет клиентов\DemoDatabase.mdb"
Dim Con 'объект Connection
Set Con = CreateObject("ADODB.Connection") 'создание объекта Connection
Con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & sDbPath & ";Persist Security Info=False" 'открываем соединение с базой данных
Dim sSql 'SQL инструкция
sSql = "SELECT Top 1 p.ProductType FROM tblOrdersProducts op,tblProducts p WHERE op.Product=p.ProductName AND op.ID="& Mid(WScript.Arguments(0),2)
Set oRec = Con.Execute(sSql) 'выполняем SQL инструкцию
If oRec.EOF Then WScript.Quit 'если продукта нет в справочнике, то выход
sType = oRec.Fields(0).Value 'тип товара
If Left(sType,6)="Услуга" Then WScript.Quit 'если Услуга, то выход
sSql = "SELECT o.Address,m.Client,op.Product FROM tblOrdersProducts op,tblOrders o,tblMain m WHERE m.ID=o.ClientID AND o.ID=op.OrderID AND op.ID="& Mid(WScript.Arguments(0),2)
Set oRec = Con.Execute(sSql) 'выполняем SQL инструкцию
Dim FSO 'объект FileSystemObject
Set FSO = CreateObject("Scripting.FileSystemObject")
Dim strPath 'путь к папке
strPath="C:\Documents"
If Not FSO.FolderExists(strPath) Then FSO.CreateFolder(strPath)
strPath=strPath & "\Заказы"
If Not FSO.FolderExists(strPath) Then FSO.CreateFolder(strPath)
strPath=strPath &"\"& Replace(oRec.Fields(0).Value,"""","")
If Not FSO.FolderExists(strPath) Then FSO.CreateFolder(strPath)
strPath=strPath &"\"& Replace(oRec.Fields(1).Value,"""","")
If Not FSO.FolderExists(strPath) Then FSO.CreateFolder(strPath)
strPath=strPath &"\"& Replace(oRec.Fields(2).Value,"""","")
If Not FSO.FolderExists(strPath) Then FSO.CreateFolder(strPath)
Con.Close 'закрываем Connection
Set Con = Nothing 'очищаем переменнуюP.S. Сравнение идет с учетом регистра: "Услуга""УСЛУГА"
-
amel27
Re: VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
Цитата NecroTYN:
а какой есть идеальный ???
Идеальных не бывает. На практике обычно считается достаточным, если таблицы базы нормализованы в соответствии с
Цитата amel27:
нормализованный,
Поставил бы три благодарности, кабы можно было.
а какой есть идеальный ???
VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
Идеальных не бывает. На практике обычно считается достаточным, если таблицы базы нормализованы в соответствии с
нормальной форме Бойса — Кодда
.Цитата amel27:
нормализованный,
VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
Поставил бы три благодарности, кабы можно было.
-
Iska
Re: VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS
---------------------------
Windows Script Host
---------------------------
Сценарий: C:\Program Files (x86)\ClientsCount\makedir.vbs
Строка: 9
Символ: 1
Ошибка: Индекс выходит за пределы допустимого диапазона
Код: 800A0009
Источник: Ошибка выполнения Microsoft VBScript
---------------------------
ОК
---------------------------
Windows Script Host
---------------------------
Сценарий: C:\Program Files (x86)\ClientsCount\makedir.vbs
Строка: 9
Символ: 1
Ошибка: Индекс выходит за пределы допустимого диапазона
Код: 800A0009
Источник: Ошибка выполнения Microsoft VBScript
---------------------------
ОК
---------------------------