Цитата NecroTYN:
какой есть идеальный ??? »
|
нормализованный, когда в таблицах стоит ID из справочника (tblProducts), а не имя
Цитата NecroTYN:
а ВЫ что посоветуете ??? »
|
Ваша база данных, вам и решать...

вариант с именем, имя продукта должно быть уникальным и присутствовать в справочнике:
читать дальше »
Код:

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. Сравнение идет с учетом регистра: "Услуга"<>"УСЛУГА"