Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS

Ответить
Настройки темы
VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS

Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Здравствуйте Господа программисты!!!

Очень нужна ваша помощь в следующем вопросе:

Есть программа работающая с базой данных Access, включающая в себя следующие таблицы: ... Заказы,клиенты,продукты....

Нужно создать скрипт VBS чтобы при создании ЗАКАЗА автоматически создавалась группа папок в определенном месте диска (D:\Documents\Заказы\...), а имена этих папок создавались бы из определенных полей таблиц. Например:
после создания заказа должны появится папки по указанному пути с таким вот именем:
D:\Documents\Заказы\ул.Красная\Сергеев\
где ул.Красная это адрес клиента, Сергеев это Фамилия клиента,
В папке "Сергеев" в свою очередь создаются папки (Стойка компьютерная,Стол письменный,Шкаф купе), имена которых берутся из подтаблицы "продукты" (в которой мы собственно и составляем заказ), каждая из которых содержит в себе еще 4 папки с неизменными названиями(Замер,Модель,Раскрой,Эскизы,Документы)....

имя 1ой папки-берется из таблицы qdfOrders - Address
имя 2ой папки-берется из таблицы qdfMain - Client
имя 3ей папки-берется из таблицы tblOrdersProducts - Product

"третьих" папок должно создаваться столько, сколько заказано продуктов, за исключением услуг(которые кстати тоже находятся в таблице tblOrdersProducts), в каждой из них создаются следующие папки:

Замер
Модель
Раскрой
Эскизы
Документы



С нетерпением жду ответа

Отправлено: 19:41, 02-07-2011

 

Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вложения
Тип файла: zip ClientsCount.zip
(432 байт, 13 просмотров)

Цитата ferget:
выложите bat и vbs файлы »
Вот выкладываю

Отправлено: 15:12, 03-07-2011 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для ferget

Разный


Сообщения: 1294
Благодарности: 359

Профиль | Отправить PM | Цитировать


запускать нужно bat-файл

название vbs-файла должно быть makedir
или измените bat

Код: Выделить весь код
 CreatFolders.VBS tblOrders.Address tblMain.Client tblOrdersProducts.Product
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:22, 03-07-2011 | #12


Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Изображения
Тип файла: jpg 123.JPG
(14.9 Kb, 9 просмотров)

Изменил название VBS получились следующие результаты

Отправлено: 15:30, 03-07-2011 | #13


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


гм... а при чем тут BAT?.. запуск должен производиться средствами СУБД
хотя, если движок сервера БД MSSQL, для запуска скриптов из SQL можно использовать xp_cmdshell
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:34, 03-07-2011 | #14


Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата amel27:
гм... а при чем тут BAT?.. запуск должен производиться средствами СУБД
хотя, если движок сервера БД MSSQL, для запуска скриптов из SQL можно использовать xp_cmdshell »

вот я и прошу помощи у знающих

Отправлено: 15:43, 03-07-2011 | #15


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата NecroTYN:
прошу помощи у знающих »
знатоки SQL в другой ветке (см.пост #2)
тем более, что движок БД до сих пор неизвестен

Отправлено: 16:01, 03-07-2011 | #16


Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата amel27:
тем более, что движок БД до сих пор неизвестен »
(СУБД MS Access или MS SQL Server)



вот родной скрипт для примера:
Код: Выделить весь код
'данный код предназначен для демонстрационных целей
'вы можете писать на языке VBScript любые скрипты
'выполнение данного файла можно связать с нажатием пользовательской кнопки,
'которую можно добавить на панель инструментов любой таблицы или с помощью триггеров

Dim sDbPath 'путь к файлу БД
Dim sDateFrom 'дата от
Dim sDateTo 'дата до
Dim sMark 'метка, чтобы пометить записи для каких-то последующих целей

sDbPath = InputBox("Укажите путь к файлу .mdb", "Выбор файла", "DemoDatabase.mdb")
If sDbPath > "" Then
  sDateFrom = InputBox("Введите дату от, пример 31.12.2005", "Дата от")
  If Trim(sDateFrom) > "" then
    sDateTo = InputBox("Введите дату до, пример 31.12.2006", "Дата до")
    If Trim(sDateTo) > "" then
      sMark = InputBox("Введите метку", "Метка")
      If Trim(sMark) > "" Then
        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 sAbsDateFrom, sAbsDateTo 'даты в абсолютном формате
	'sAbsDateFrom = Mid(sDateFrom, 7, 4) & "-" & Mid(sDateFrom, 4, 2) & "-" & Left(sDateFrom, 2) '"31.12.2005" -> "20051231"
	'sAbsDateTo = Mid(sDateTo, 7, 4) & "-" & Mid(sDateTo, 4, 2) & "-" & Left(sDateTo, 2) '"31.12.2006" -> "20061231"

	sAbsDateFrom = Mid(sDateFrom, 4, 2) & "/" & Left(sDateFrom, 2) & "/" & MID(sDateFrom, 7) '"31.12.2005" -> "20051231"
	sAbsDateTo = Mid(sDateTo, 4, 2) & "/" & Left(sDateTo, 2) & "/" & MID(sDateTo, 7) '"31.12.2005" -> "20051231"

	Dim sSql 'SQL инструкция
	sSql = "UPDATE tblMain SET Notes='" & sMark & "' WHERE AddTime > #" & sAbsDateFrom & "# AND AddTime < #" & sAbsDateTo & "#" 'формируем SQL инструкцию

	If MsgBox("Будет выполнена следующая SQL инструкция:" & vbCr & vbCr & sSql & vbCr & vbCr & "Продолжить?", vbYesNo+vbQuestion, "Подтверждение") = vbYes Then 'подтверждение
	  Con.Execute sSql 'выполняем SQL инструкцию, которая изменяет данные в таблице

	  If Err.Number = 0 Then
	    MsgBox "Обновление таблицы прошло успешно.", vbInformation, "Ура!!!"
	  End If
	End If

	Con.Close 'закрываем Connection
	Set Con = Nothing 'очищаем переменную
      End If
    End If
  End If
End if

Отправлено: 16:30, 03-07-2011 | #17


Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Блин парни, дак вы мне тоже не поможете ???

Отправлено: 18:07, 03-07-2011 | #18


Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Цитата NecroTYN:
СУБД MS Access или MS SQL Server »
триггеры будут работать только на MS SQL Server
Цитата NecroTYN:
вот родной скрипт для примера:»
за скрипт спасибо (пусть будет)
но пользы от него мало - по описанным выше причинам
Цитата NecroTYN:
дак вы мне тоже не поможете ??? »
а чего не хотите писать в профильную ветку?..
навскидку привести код триггера на SQL не готов - смогу скопипастить с сервера только завтра
если есть установленный MS SQL Server - смотрите BOL (SQL Server Books Online)

Отправлено: 18:52, 03-07-2011 | #19


Пользователь


Сообщения: 56
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата amel27:
навскидку привести код триггера на SQL не готов »
да в том то и дело что триггер писать не надо,нужно написать файл-скрипт .VBS, который будет создавать папки в файловой системе, основываясь на переданные в него параметры.
Далее нужно задать "триггер"(имеется ввиду не сам тригер,а форма через которую он задается) на добавление на таблицу "Заказы", но в качестве команды указать не SQL-инструкцию, а запуск данного файла.

Отправлено: 20:15, 03-07-2011 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » VBS/WSH/JS - [решено] Автоматическое создание папок из полей таблицы c помощью VBS

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
MSFT SQL Server - создание таблицы точнее проблемма с созданием таблицы GAROD Программирование и базы данных 4 02-12-2010 00:58
Автозаполнение полей с помощью программы AutoHotkey xexe09 Хочу все знать 1 09-07-2010 07:36
7 / 2008 R2 - Создание структуры папок windows 7 / Touch установка с помощью MDT 2010 pashtil Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 0 12-02-2010 07:04
Как в проводнике настроить вид папок в виде таблицы ? Cricket Хочу все знать 13 30-04-2006 02:15
Создание таблицы Vadikan Вебмастеру 19 30-10-2004 02:26




 
Переход